Компоненты приложения = Yii (Ийе) фрэймворк

источник = http://www.yiiframework.com/doc/guide/1....

список ключевых компонентов здесь = http://fkn.ktu10.com/?q=node/2810

Функциональность объекта приложения может быть легко модифицирована и расширена благодаря компонентной архитектуре.

Приложение управляет набором компонентов, каждый из которых имеет специфические возможности. Например, приложение производит предварительную обработку запроса пользователя, используя компоненты CUrlManager и CHttpRequest.

Изменяя значение свойства components, можно настроить классы и значения свойств любого компонента, используемого приложением.

Например, можно сконфигурировать компонент CMemCache так, чтобы он использовал несколько memcache-серверов для кэширования:

array(
    …
    'components'=>array(
        …
        'cache'=>array(
            'class'=>'CMemCache',
            'servers'=>array(
                array('host'=>'server1', 'port'=>11211, 'weight'=>60),
                array('host'=>'server2', 'port'=>11211, 'weight'=>40),
            ),
        ),
    ),
)

В данном примере мы добавили элемент cache к массиву components. Элемент cache указывает, что классом компонента является CMemCache, а также устанавливает его свойство servers.

Для доступа к компоненту приложения используйте

Yii::app()->ComponentID

, где ComponentID — это идентификатор компонента (например,

Yii::app()->cache

).

Компонент может быть деактивирован путем установки параметра enabled в его конфигурации равным false.
При обращении к деактивированному компоненту будет возвращен null.

Подсказка: По умолчанию компоненты приложения создаются по требованию. Это означает, что экземпляр компонента может быть не создан вообще в случае, если это не требуется при обработке пользовательского запроса. В результате общая производительность приложения может не пострадать, даже если в конфигурации указано множество компонентов.

список ключевых компонентов здесь = http://fkn.ktu10.com/?q=node/2810

При необходимости обязательного создания экземпляров компонентов (например, CLogRouter) вне зависимости от того, используются они или нет, укажите их идентификаторы в значении конфигурационного свойства preload.