From daa36ba1712e531de29524e14f538607a2c32d3d Mon Sep 17 00:00:00 2001 From: Danil Arduanov Date: Fri, 5 Jan 2024 17:20:11 +0500 Subject: [PATCH] Add Class_autoloading translated into Russian (#197) --- guide/ru/concept/autoloading.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 guide/ru/concept/autoloading.md diff --git a/guide/ru/concept/autoloading.md b/guide/ru/concept/autoloading.md new file mode 100644 index 0000000..0ba9e7a --- /dev/null +++ b/guide/ru/concept/autoloading.md @@ -0,0 +1,26 @@ +# Автозагрузка класоов + +Поскольку Yii использует [Composer](https://getcomposer.org/) для управления пакетами, он автоматически загружает классы из пакетов без необходимости явно подключать их через `require`. +При установке пакетов он создает [автозагрузчик, совместимый с PSR-4](https://www.php-fig.org/psr/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`. + +## Ссылки + +- [PSR-4: Autoloader](https://www.php-fig.org/psr/psr-4/). +- [Composer guide on autoloading](https://getcomposer.org/doc/01-basic-usage.md#autoloading).