Документация/Установка и настройка/2. Настройка фреймворка

Настройка фреймворка

После установки проекта предстоит настроить сам фреймворк. На предыдущем шаге проект был установлен в папку new_project (или любое другое название папки, которое было выбрано), для выполнения указанных далее консольных команд необходимо перейти в эту папку:

$cd new_project

Указанный пример может отличаться для различных консольных сред.

Подразумевается, что все консольные команды в документации запускаются из этой корневой папки проекта, если не указано иное.

Если приложение работает на хостинге, где консольные команды фреймворка недоступны, то их можно выполнить через специальную Веб-консоль фреймворка.


#Настройка прав доступа в Linux

Внимание! Команда вида sudo chmod -R 777 ./storage, заменяющая следующую настройку прав, может быть применима только на локальном устройстве разработки, не являющимся публичным.

После установки фреймворка 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 в проекте.


Оптимизация


#Предзагрузка классов в OPcache

Для большего быстродействия поместите следующее указание на файл 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

Установка проекта Настройка конфигурации

Страница создана: @fomiash
К началу страницы