Автоматическая загрузка

Использование 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. Если вам не нужно их настраивать, вы можете игнорировать эти конфигурации.