Автозагрузка
Загрузка файлов согласно PSR-0 с помощью composer
Webman следует автозагрузочному правилу PSR-4
. Если вам нужно загружать библиотеки, соответствующие правилу PSR-0
, выполните следующие шаги.
- Создайте каталог
extend
для хранения библиотек, соответствующих правилуPSR-0
. - Отредактируйте файл
composer.json
, добавив следующее содержание в разделautoload
:
"psr-0": {
"": "extend/"
}
Итоговый результат будет выглядеть примерно так:
- Выполните команду
composer dumpautoload
. - Перезапустите webman командой
php start.php restart
(обратите внимание, что необходимо выполнить перезапуск для применения изменений).
Загрузка определенных файлов с помощью composer
- Отредактируйте файл
composer.json
, добавив в разделautoload.files
необходимые для загрузки файлы:
"files": [
"./support/helpers.php",
"./app/helpers.php"
]
- Выполните команду
composer dumpautoload
. - Перезапустите webman командой
php start.php restart
(обратите внимание, что необходимо выполнить перезапуск для применения изменений).
Подсказка
Файлы, указанные вautoload.files
файлаcomposer.json
, будут загружены до запуска webman. Файлы, загружаемые с помощьюconfig/autoload.php
фреймворка, будут загружены после запуска webman.
Изменения, внесенные в файлы, указанные вautoload.files
composer.json, вступят в силу только после перезагрузки, а не просто при перезапуске. Файлы, загружаемые с помощьюconfig/autoload.php
фреймворка, поддерживают горячую перезагрузку и изменения в них вступают в силу после простой перезагрузки.
Загрузка определенных файлов с использованием фреймворка
Некоторые файлы могут не соответствовать правилам SPR и не могут быть автоматически загружены. Мы можем загрузить такие файлы, указав их в файле config/autoload.php
, например:
return [
'files' => [
base_path() . '/app/functions.php',
base_path() . '/support/Request.php',
base_path() . '/support/Response.php',
]
];
Подсказка
Мы видим, что вautoload.php
указаны для загрузки два файла:support/Request.php
иsupport/Response.php
. Это связано с тем, что в каталогеvendor/workerman/webman-framework/src/support/
также имеются файлы с такими же названиями. Мы с помощьюautoload.php
даем приоритет загрузке файловsupport/Request.php
иsupport/Response.php
из корневого каталога проекта, что позволяет настраивать содержимое этих файлов без изменения файлов в каталогеvendor
. Если вам не нужно настраивать эти файлы, вы можете проигнорировать эти настройки.