Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

yii\base\Application bootstrap

[[yii\base\Application::bootstrap|bootstrap]]

Данное свойство является очень удобным, оно позволяет указать массив компонентов, которые должны быть загружены в процессе [[yii\base\Application::bootstrap()|начальной загрузки]] приложения. Например, если вы хотите, чтобы модуль производил тонкую настройку URL правил, вы можете указать его ID в качестве элемента данного свойства.



Каждый из элементов данного свойства, может быть указан в одном из следующих форматов:

  • ID, указанный в компонентах;
  • ID модуля, указанный в модулях;
  • название класса;
  • массив конфигурации;
  • анонимная функция, которая создаёт и возвращает компонент.

Например,

[
    'bootstrap' => [
        // ID компонента приложения или модуля
        'demo',

        // название класса
        'app\components\Profiler',

        // массив конфигурации
        [
            'class' => 'app\components\Profiler',
            'level' => 3,
        ],

        // анонимная функция
        function () {
            return new app\components\Profiler();
        }
    ],
]

Info: Если ID модуля такой же, как идентификатор компонента приложения, то в процессе начальной загрузки будет использован компонент приложения. Если Вы вместо этого хотите использовать модуль, то можете указать его при помощи анонимной функции похожей на эту:

[ function () { return Yii::$app->getModule('user'); }, ]

В процессе [начальной загрузки](runtime-bootstrapping.md), каждый компонент будет создан. Если класс компонента имеет интерфейс [[yii\base\BootstrapInterface]], то также будет вызван метод [[yii\base\BootstrapInterface::bootstrap()|bootstrap()]].

Еще одним практическим примером является конфигурация [базового шаблона приложения](start-installation.md), в котором модули `debug` и `gii` указаны как `bootstrap` компоненты, когда приложение находится в отладочном режиме.

```php
if (YII_ENV_DEV) {
    // настройка конфигурации для окружения 'dev'
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = 'yii\debug\Module';

    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = 'yii\gii\Module';
}

Note: Указывание слишком большого количества компонентов в bootstrap приведет к снижению производительности приложения, потому что для каждого запроса одно и то же количество компонентов должно быть загружено. Таким образом вы должны использовать начальную загрузку разумно.

Заберите ссылку на статью к себе, чтобы потом легко её найти ;)

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )


Обсудить эту статью

INFO: Вы отправляете сообщение как 'Гость'