Автозагрузка

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