Работаю с Laravel, Vue, Vuetify, AWS Amazon, Linux
Мобильные приложения Vue + Cordova
Контакты
Местоположение
Украина, Запорожская обл., Запорожье

Достижения

Все достижения (3)

Наибольший вклад в теги

Все теги (35)

Лучшие ответы пользователя

Все ответы (93)
  • Junior PHP, что бы вы спросили на собеседовании?

    sanek_os9
    @sanek_os9
    Работаю с Laravel, Vue, Vuetify, AWS Amazon, Linux
    Будут спрашивать много о ООП, концепции, магические методы, трейты, что как работает при разных ситуациях, модифкаторы доступа, что нового в PHP7, интерфейсы, типы данных, циклы...
    О каждом вышеперечисленном надо рассказывать развернуто, то есть например, сказать что бы создать абстрактный класс нужно перед class написать abstract этого не достаточно, нужно рассказать зачем он нужен, чем отличается, когда используются, нюансы всякие, и так обо всём что спрашивают.
    Так же о MySQL, а именно CRUD, связывание таблиц, индексы, внешние ключи, транзакции, сортировки, группировки...об этом всём тоже нужно рассказать развернуто.
    Так же будут спрашивать о работе интернета, там например про http протокол, https, попросят начертить схему работы клиент-сервер ну и прокомментировать соответственно, схема должна быть максимально полной (клиет, сервер, интерпретатор php (или что то другое смотря кем устраиваетесь), mysql, dns).
    По всему вышеперечисленному зададут какие то задачки, что то решить на php, написать какую-то разметку, применить к ней css ну и далее в том же духе.
    Такие же базовые вещи будут спрашивать о html, css возможно js.
    ------------------
    Разговор не должен состоять короткий вопрос - короткий ответ, он должен быть короткий - вопрос развернутый рассказ, то есть, если вас спросили о трейтах, сказать что да, такая приколюха есть в php и она создаётся ключевым словом trait и сидеть глазеть на собеседника ожидая следующего вопроса не достаточно, нужно говорить о множественном наследовании, о конфликтах которые могут возникнут, способах их решения, когда применяется и так далее, иными словами информацию с вас не должны вытягивать силой, самим нужно рассказывать, чем больше тем лучше.
    Ответ написан
  • Как вытащить значение из БД минуя мутатор?

    sanek_os9
    @sanek_os9
    Работаю с Laravel, Vue, Vuetify, AWS Amazon, Linux
    Вместо (к примеру)
    $post->image;
    Пробуй
    $post->getOriginal('image');
    Ответ написан
  • Какой диплом нужен,чтобы устроиться в IT компанию?

    sanek_os9
    @sanek_os9
    Работаю с Laravel, Vue, Vuetify, AWS Amazon, Linux
    Ни разу не видел в требованиях комании наличие диплома, в вакансиях пишут перечень технологий, зная которые вас могут взять, от вас требется только это. Поэтому определитесь на какую должность вы хотите устроится, на такую и идите учиться, главное нужно помнить что поступаете вы не ради диплома, с дипломом и без знаний вас не возьмут.
    Ответ написан
  • Как сделать 301 редирект в .htaccess с несуществующих страниц?

    sanek_os9
    @sanek_os9
    Работаю с Laravel, Vue, Vuetify, AWS Amazon, Linux
    # переопределяем страницы ошибок
    ErrorDocument 400 /error.php?err=400
    ErrorDocument 401 /error.php?err=401
    ErrorDocument 402 /error.php?err=402
    ErrorDocument 403 /error.php?err=403
    ErrorDocument 404 /error.php?err=404
    ErrorDocument 500 /error.php?err=500
    ErrorDocument 502 /error.php?err=502

    Я скинул весь код ошибок, чтоб поставить редирект на главную вместо /error.php?err=502 поставьте только слеш, и если нужно толь с несуществующих страниц то оставьте только ошибку 404
    ErrorDocument 404 /
    Ответ написан
  • Как создать класс с выводом дерева категорий в виде многомерного массива?

    sanek_os9
    @sanek_os9
    Работаю с Laravel, Vue, Vuetify, AWS Amazon, Linux
    class Tree {
        public $categories = [];
        public $categoriesTree = [];
        private $db = null;
     
        public function __construct() {
            $this->db = new PDO("mysql:dbname=zadanie;host=localhost;charset=UTF8", "root", "");
            $this->categories = $this->getCategories();
            $this->categoriesTree = $this->getFullTree();
        }
        /*
         * Список всех категорий
         */
        private function getCategories(){
            $arr_cat = [];
            $result = $this->db->query("SELECT * FROM `categories`")->fetchAll();
            foreach($result AS $category){
                $arr_cat[$category['id']] = $category;
            }
            return $arr_cat ;
        }
        /*
         * Список категорий в форме дерева
         */
        private function getFullTree() {
            $tree = [] ;
            $categories = $this->categories;
            foreach($categories as $id => &$node) {    
                if(!$node['id_parent']){
                    $tree[$id] = &$node ;
                }else{ 
                    $categories[$node['id_parent']]['children'][$id] = &$node ;
                }
            }
            return $tree ;
        }
        /*
         * хлебные крошки
         * $id - ID категории в которой мы находимся 
         */
        public function breadcrumbs($id){
            $breadcrumbs_array = [];
            $array = $this->categories;
            for($i = 0; $i < count($array); $i++){
                if($id){
                    $breadcrumbs_array[$array[$id]['id']] = $array[$id]['title'] ;
                    $id = $array[$id]['id_parent'] ;
                }
            }
            return array_reverse($breadcrumbs_array, true) ;
        }
        /*
         * @bonus
         * Получаем ID всех дочерных категорий родителя
         */
        public function getChildren($id_parent){
            static $children = [];
            $result = $this->db->query("SELECT `id` FROM `categories` WHERE `id_parent` = '$id_parent'")->fetchAll();
            foreach($result AS $post){
                $children[] = $post['id'];
                $this->getChildren($post['id']);
            }
            return $children;        
        }
    }
    $category = new Tree();
    $categories = $category->categoriesTree; // список всех категорий
    $tree = $category->categoriesTree; // список категорий в форме дерева
    
    $id_categoty = 7; // ID категории в которой мы сейчас находимся
    $breadcrumbs = $category->breadcrumbs($id_categoty);
    foreach($breadcrumbs AS $id => $title){
        if($id == $id_categoty)
            continue; // текущую категорию пропускаем
        echo ' - <a href="?id=' . $id . '">' . $title . '</a>';
    }
    
    $id_parent = 2; // ID категории родителя
    $children = $category->getChildren($id_parent);
    //print_r($children);

    По просьбе автора добавил вывод "хлебных крошек".
    Ответ написан

Лучшие вопросы пользователя

Все вопросы (50)