Skip to content

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

Поскольку Yii использует Composer для управления пакетами, он автоматически загружает классы из пакетов без необходимости явно подключать их через require. При установке пакетов он создает автозагрузчик, совместимый с PSR-4. Чтобы использовать его, подключите /vendor/autoload.php через require_once в ваш входной скрипт index.php.

Вы можете использовать автозагрузчик не только для установленных пакетов, но и для всего вашего приложения, поскольку оно тоже является пакетом. Чтобы загрузить классы определенного пространства имен, добавьте в composer.json:

json
{
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    }
}

Здесь App\\ это корневое пространство имен, а src/ - директория, где вы храните ваши классы. При необходимости, вы можете добавить несколько корневых директорий. После изменения composer.json выполните composer dump-autoload или composer du и классы из соответствующих пространств имен начнут загружаться автоматически.

Если вам нужна специфичная для разработки автозагрузка, которая не используется при запуске Composer с флагом --no-dev, добавьте ее в секцию autoload-dev вместо autoload.

Ссылки