Задать вопрос
  • Как проверить элементы массива через условие?

    @D3lphi
    Если я вас правильно понял:
    $flag = true;
    foreach($items as $item) {
        if ($item <= $val) { // $val - число, больше которого должны быть элементы массива.
            $flag = false;
            break;
        }
    }
    
    if ($flag) {
        // Делаем что-то
    }
    Ответ написан
  • Как обернуть цифры в тег регуляркой на php?

    @D3lphi
    $str = '23 сентября';
    $result = preg_replace('/([0-9]+)/', '<strong>$1</strong>', $str);


    Не понятно, в какой именно тэг вам нужно обернуть число, поэтому, для пример, я использовал strong.
    Ответ написан
    6 комментариев
  • Конвертеры и т.п. преобразователи данных выносить в хелперы?

    @D3lphi
    Вспомогательный класс, которыей содержит методы со вспомогательной логикой не затрагивающие бизнес-логику


    Как я понял, в вашем понимании хэлпер - такой себе Божественный объект, который умеет во всё. Таких классов в программе быть не должно от слова "совсем". Такая функциональность группируется и выносится в отдельный класс. То есть, класс для resize'а изображений один, класс для преобразования данных - другой и тд. Старайтесь использовать статику только в самом крайнем случае.
    Ответ написан
  • NotReadableException laravel, как решить проблему?

    @D3lphi
    Название исключения говорит само за себя "Not readable" - то есть, не читаемый. Программа не может получить доступ к изображению. Очевидно, отсутствуют права на чтение файла. Измените их через chmod.
    Ответ написан
    Комментировать
  • Как вызвать класс как функцию?

    @D3lphi
    Определить метод __toString() в классе. При попытке преобразовать объект в строку будет возвращаться результат работы этого метода.

    class Example
    {
        public function __toString()
        {
            return "this is Example class.";
        }
    }
    
    $example = new Example();
    echo $example; // Выведет this is Example class.
    Ответ написан
    Комментировать
  • Какой код в теории будет отрабатывать быстрее?

    @D3lphi
    даст ли это хоть какой-то прирост производительности?


    Само собой. Любая библиотека "тащит за собой" overhead. Вот только прирост к скорости в данном примере не будет заметен.
    Ответ написан
    3 комментария
  • Что почитать про правильную архитектуру MVC?

    @D3lphi
    о-есть по идее интересна структура это, начиная с index.php который перенаправляет нас на класс роутера и т.д.


    То что вы хотите узнать выходить за границы ответственности MVC. MVC говорит нам о том, что в приложении следует выделять модель, представление и контроллер. О роутинге он ничего не знает.

    файл с автолоудом прописывается и один ли он для всех или должен иметь логику


    2017 год на дворе. Какой файл с автолоудом? Composer имеется, к счастью. Он производит автозагрузку классов самостоятельно.

    Мне кажется просто, если я возьму тот же фреймворк и буду его сидеть и разбирать с его тысячными файлами, я погрязну


    Берите не весь фреймворк, а его компоненты и изучайте по отдельности. Так, например, пройдитесь по компонентам symfony.

    В каком framework самая хорошая и правильная структура ООП


    Symfony позволяет писать наиболее правильный код.
    Ответ написан
    9 комментариев
  • С чего начать изучения?

    @D3lphi
    1.Нужна ли верстка и js для Java?Если да,то насколько глубокими должны быть знания?


    Вообще, js нужно знать энивей, даже если вы пишите бэкэнд. Основы верстки тоже обязательны.

    2.Что так бэкэнд и фронтэнд я уже вроде разобралась.Но все же.Может кто нибудь объяснит доступным языком разницу между ними,какие это языки и что бы было хорошо знать дополнительно к этому?


    Backend - серверная сторона проекта. Пишется на Ruby, PHP, Python, Java, Go, JavaScript(nodeJS), C#. Вообще, писать его можно вообще чуть ли не на любом языке. Вопрос в удобстве, скорости разработке и поддержки кода.

    Frontend - клиентская часть приложения. К ней относится разметка, стили, javascript логика.

    3.А с какого языка вообще стоило бы начать изучение?

    Если планируете развиваться в web-разработки, то сначала познаем основы верстки и javascript (тоже хотя бы основы), а затем уже можно идти в бэкэнд (А позже, вообще стать full stack developer'ом. Это тот, кто умеет и в то и в то).
    С какого языка начать решать вам и только вам. Не буду навязывать вам свое мнение, ибо оно предвзято (Угадайте, в пользу какого языка? :) ).
    Ответ написан
    3 комментария
  • Баг? Фича? Или я что-то не понимаю?

    @D3lphi
    А чего тут непонятного? У вас в Data::$data лежит массив с экземплярами классов stdClass. То бишь, объекты. А объекты в PHP как передаются? Правильно, по ссылке! Следовательно, изменение значения свойства этого объекта в одном месте, изменяет этот объект везде.

    И да, не пишите больше таких классов. Вообще, старайтесь статику только в самом крайнем случае использовать.
    Инициализировать статические свойства в конструкторе очень странно.
    Ответ написан
    2 комментария
  • Как взаимодействует flask и vue-router?

    @D3lphi
    Независимо от того, используете вы flask или любой другой фреймворк или пишите без оного, spa приложение принято разделять на 2 независимые части: frontend и backend. Первое - это html css и js (vue, vue-router), а второе - сама серверная логика. Данные следует получать при помощи асинхронных(ajax) запросов к backend. То есть, backend, в данном случае выступает как независимый api.

    Например, вы хотите написать hello world, получив данные с сервера.
    • Создаете роут с путем /example во vue-router.
    • В flask'е создаете такой же роут и обработчик для него, который будет возвращать данные в формате json.
    • Посылаете ajax-запрос через js (Например, с использованием http-клиента axios, он наиболее популярен), принимаете данные, выводите.
    Ответ написан
  • Как сделать регистрозависимую авторизацию Laravel(MySQL)?

    @D3lphi
    Это особенность текущего сравнения utf8_general_ci. А это именно сравнение, а не кодировка! Кодировка - это utf8. Суффикс _ci означает case insensitive (То есть, нечувствительный к регистру). Установите сравнение таблиц utf8_bin, чтобы сделать значения чувствительными к регистру.
    Ответ написан
    1 комментарий
  • Что за тип данных static?

    @D3lphi
    Это класс, верхний в иерархии наследования, из которого происходит вызов метода. Self и Static можно поставить в один ряд. Self - это класс, в котором написан этот метод, а static - класс, из которого происходит вызов метода. Это может быть тот же самый класс, а может - наследник. Прочтите про позднее статическое связывание.
    Ответ написан
    Комментировать
  • Как называется тип авторизации и можно ли его пройти на php?

    @D3lphi
    Http basic auth.
    К php не имеет отношения, так как реализуется на уровне веб-сервера.
    Авторизоваться можно при помощи curl.
    Ответ написан
    Комментировать
  • Выделение памяти в PHP ООП?

    @D3lphi
    1) При создании экземпляра new Class() в память забираются все его методы - чем больше методов тем больше памяти надо, или там память на метод в момент его вызова метода выделяется?


    При подключении ЛЮБОГО php файла производится лексический анализ, лексер генерирует из исходного кода программы набор токенов, из которых строится синтаксические дерево. Отсюда следует то что, чем больше кода, тем больше памяти выделяется.

    Само по себе создание каждого последующего объекта также несет затраты.

    Значит ли всё это что наиболее нагруженную но простую часть системы лучше вынести в отдельный компактный класс содержащий только необходимое для её функционирования?


    Вы экономите на спичках. Хорошая архитектура важнее сэкономленной микросекунды и килобайта памяти.
    Ответ написан
    Комментировать
  • Как получить слово полностью по его основе?

    @D3lphi
    var str = "Successful and Successfully" //предложение
    var firstWord = "successful"; //наше ключевое слово для поиска
    var word = new RegExp(firstWord + "[a-z]*", 'gi');
    str.replace(word, "");
    Ответ написан
  • Apache или nginx?

    @D3lphi
    Да, это так. Давно пора юзать nginx.
    Ответ написан
    3 комментария
  • Как сделать автозагрузку классов из разных папок?

    @D3lphi
    Да сколько можно велосипеды писать? Composer есть, я же уже говорил вам!

    Используйте стандарт автозагрузки psr-4. Для этого следует использовать пространства имен (namespace'ы).
    Таким образом, класс с полным именем App\Controllers\DefaultController (Где App\Controllers - неймспейс, а DefaultController - имя класса) должен лежать в директории app/controllers и иметь имя DefaultController.php.
    Ответ написан
  • Где набраться опыта студенту, если учёба занимает огромное количество времени?

    @D3lphi
    Ответ
    Собственно, сама суть:
    Выбираете интересующий вас стэк технологий (web, mobile, desktop и тд) и пилите любой проект, который придет в голову.
    Ответ написан
  • Почему валидатор не позволяет оставить поля пустыми?

    @D3lphi
    Добавить правило nullable.
    Ответ написан
    Комментировать
  • Как лучше организовать роутинг с однотипными страницами?

    @D3lphi
    Если у вас может быть много таких однотипных статических страниц, то сделайте для них отдельный роут:
    Route::get('page/{id}', 'BlogController@pages');

    Пользователь будет переходить по ссылке site.com/page/photos, а вы будете тянуть страницу photos из базы данных.
    Ответ написан