• С чего начать изучать Backend?

    @AlexndrNovikov
    Solution Architect in Spiral Scout
    Если хочешь получить знания, как поднять сервер, как использовать MySQL и тд - вместо упрощенного MAMP с графическими интерфейсами лучше используй Vagrant (первоначальную сборку пошагово можешь настроить тут https://puphpet.com/ , как разберешься - переходи к собственной) , мануал по вагранту тут https://www.vagrantup.com/docs/getting-started/
    Если хочешь еще глубже в это погрузиться (сервера - "контейнеры", межсетевое взаимодействие и тд) - то посмотри https://www.docker.com/ .
    Заранее готовься, что и то и то - сложно, но как разберешься ни на какие MAMP-ы/OpenServer/Denwer/etс тебя потом палкой не загонишь.
    Ответ написан
    Комментировать
  • Как правильно установить на локальном хостинге бинарные библиотеки poppler для pdftohtml?

    @AlexndrNovikov
    Solution Architect in Spiral Scout
    Не совсем понял, как может быть вопрос одновременно и про "локальный хостинг" , и про nic.ru , где в свою очередь есть и виртуальный хостинг, и VDS/VPS . Вообще все зависит от того, какой у вас там хостинг и тариф, и логичнее этот вопрос задать в техподдержку nic.ru , а не сюда.

    Если хостинг виртуальный - то это вряд ли возможно вообще.
    Если vds/vps - по ssh подключиться и поставить, пользуясь мануалами этих библиотек, по ссылкам команды для установки есть.

    Но первым все ж посоветовал в их техподдержку обратиться, мало ли какие у них там нюансы. Может сами и поставят
    Ответ написан
    2 комментария
  • Инициализация класса в конструкторе?

    @AlexndrNovikov
    Solution Architect in Spiral Scout
    В функциях используй $this->obj вместо $obj
    php.net/manual/ru/language.oop5.basic.php
    Ответ написан
  • Как на PHP вычесть из строки определенную фразу?

    @AlexndrNovikov
    Solution Architect in Spiral Scout
    Ответ написан
    Комментировать
  • Как писать тесты?

    @AlexndrNovikov
    Solution Architect in Spiral Scout
    Ну вообще под тесты часто заводится отдельная бд, которая заполнена либо тестовыми данными, либо является клоном данных с рабочего сервера, либо заполняется данными перед выполнением теста и очищается после.

    Ну а с остальными случаями возможны разные варианты решения. Кого-то устроит просто true, которое вернули из PHPmailer::send(), но можно и получать по POP3 новые письма с ящика, на который отправляли, и ждать прихода нужного, с отвалом с непройденным тестом по таймауту. Зависит от вашего конкретного случая

    Ну и разумеется у тестов проекта (не отдельной библиотеки, которая с данными не работает) будет сильная завязка на структуре бд, и при сильном изменении ее структуры/кода связанного с ней тесты упадут, и нужно будет их переписать, ровно как и связанный с ними код, для того они и нужны )
    Ответ написан
    Комментировать
  • Как поставлена работа по разработке PHP-приложений в Enterprise-командах?

    @AlexndrNovikov
    Solution Architect in Spiral Scout
    Ну вообще вопрос довольно комплексный.

    Если вопрос именно о запуске приложения в процессе разработки, в локальной среде, то хорошим вариантом будет Docker, либо Vagrant. Тогда php будет выполняться в родной для себя среде, и также будет один распространяемый на всю команду конфиг, чтобы среда выполнения была консистентна.
    Т.е пишешь код в IDE, и проверяешь изменения на локально работающем сервере.

    Внутри Docker/Vagrant также удобно и локальную базу данных для разработки иметь
    Все изменения структуры бд лучше вести через миграции, т.е без прямых дампов

    Ну и разумеется вести разработку через CVS (git, например), для начала даже git-a по ssh хватит для обновления кодовой базы приложений на рабочих серверах (даже на виртуальных хостингах он часто есть)

    Ну а по мере роста сложности проекта появляются всякие навороченные деплои, покрытие тестами, тестовые сервера, прекоммит-хуки и тд и тп, но, полагаю, к тому моменту, как они реально потребуются, про них ты уже будешь знать,
    Ответ написан