Автоматическая загрузка
Использование composer для загрузки файлов с использованием спецификации PSR-0
Webman следует стандарту автозагрузки PSR-4
. Если ваш проект требует загрузки библиотек, соответствующих спецификации PSR-0
, следуйте следующим шагам.
- Создайте директорию
extend
для хранения библиотек, соответствующихPSR-0
. - Отредактируйте
composer.json
, добавив следующий код в секциюautoload
.
"psr-0" : {
"": "extend/"
}
В результате должно получиться нечто похожее
- Выполните команду
composer dumpautoload
. - Выполните команду
php start.php restart
, чтобы перезапустить webman (обратите внимание, что необходимо перезапустить для применения изменений).
Использование composer для загрузки определенных файлов
-
Отредактируйте
composer.json
, добавив файлы в секциюautoload.files
."files": [ "./support/helpers.php", "./app/helpers.php" ]
-
Выполните команду
composer dumpautoload
. -
Выполните команду
php start.php restart
, чтобы перезапустить webman (обратите внимание, что необходимо перезапустить для применения изменений).
Подсказка
Файлы, указанные в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/
также имеются два идентичных файла. Мы предпочли загрузить файлыsupport/Request.php
иsupport/Response.php
из корневой директории проекта, что позволяет нам настраивать содержимое этих файлов без изменения файлов вvendor
. Если вам не нужно их настраивать, вы можете игнорировать эти конфигурации.