После установки проекта предстоит настроить сам фреймворк. На предыдущем шаге проект был установлен в папку new_project (или любое другое название папки, которое было выбрано), для выполнения указанных далее консольных команд необходимо перейти в эту папку:
$cd new_project
Указанный пример может отличаться для различных консольных сред.
Подразумевается, что все консольные команды в документации запускаются из этой корневой папки проекта, если не указано иное.
Если приложение работает на хостинге, где консольные команды фреймворка недоступны, то их можно выполнить через специальную Веб-консоль фреймворка.
По умолчанию, в режиме DEBUG эта настройка прав не нужна, также на хостингах обычно предоставляются расширенные права, поэтому, если проект находится в режиме разработки или на хостинге, можно пропустить этот шаг.
После установки фреймворка HLEB2 для Linux необходимо настроить права. Для этого нужно знать имя группы веб-сервера. Далее предложено, как установить расширенные права на редактирование файлов в папке /storage/ проекта. Веб-сервер может носить имя www-data, а его группа может быть одноимённая www-data. При запуске фреймворка, если права ещё не заданы, будет выведена ошибка с попыткой определить имя и группу активного веб-сервера. Чтобы новые файлы, создаваемые веб-сервером, могли редактироваться через консоль текущим пользователем, необходимо добавить его в группу веб-сервера:
$sudo usermod -aG www-data ${USER}
После этих изменений в составе группы, чтобы изменения применились, необходимо разлогиниться и снова залогиниться в системе под этим пользователем, или выполнить следующую команду:
$su - ${USER}
Следующая проверка должна вывести 'www-data' в списке групп:
$id -nG
Затем расширить права на папку /storage/ для группы (из корневой директории проекта).
$sudo chmod -R 750 ./ ; sudo chmod -R 770 ./storage
После настройки прав, если они понадобились, можно использовать собственные консольные команды фреймворка. В случае, при котором проект был установлен не через Composer, который должен был выполнить этот скрипт самостоятельно (а затем удалить), запустите команду вручную:
$php console project-setup-task
Это действие выполнит несколько второстепенных оптимизаций проекта, не влияющих прямо на его работоспособность.
Папка /config/ часто используется также для хранения настроек самого проекта. Если вы хотите получать другие настройки средствами фреймворка, то добавьте их в файл /config/main.php аналогично его настройкам. Но если таких настроек много, то стоит использовать параметр 'custom.setting.files' из файла /config/system.php и перечислить файлы с отдельными настройками.
Параметр 'start.unixtime' по названию настройки 'common' содержит UNIX время начала обработки запроса фреймворком в миллисекундах. Этот параметр постоянен на протяжении всего запроса.
Вместе с Composer поставляется универсальный автозагрузчик классов, его использование предпочтительно. Если файл(класс) не был найден, будет произведена попытка загрузить его вспомогательным автозагрузчиком фреймворка, который ориентируется на PSR-0 именования и работает независимо от Composer. Например, для автозагрузчика фреймворка, класс App\Controllers\ExampleController должен соответствовать файлу /app/Controllers/ExampleController.php в проекте.
Для большего быстродействия поместите следующее указание на файл preload.php в текущий php.ini файл, чтобы скомпилировать классы фреймворка заранее и поместить их в кеш опкодов.
opcache.preload=/path/to/project/vendor/phphleb/framework/preload.php
В этой строчке часть '/path/to/project/' нужно заменить на путь к корневой директории проекта.
Подробнее про предзагрузку в документации PHP.
Предзагрузка не поддерживается в Windows.
При развертывании проекта для production (целевого публичного сервера), вы можете сократить размер файлов фреймворка на 30%, удалив комментарии к коду предназначенной для этого консольной командой.
$php console clearing-comment-feature
← Установка проекта Настройка конфигурации →