Yii использовать (получить, обратиться) пользовательский компонент по id, указанному в конфигурационном файле приложения

предпложим, что мы написали некоторый компонент MongoLogComponent.php (представлен одноимённым классом) положив его в папку protected/components

Приведу возможное начало кода подобного компонента:

class MongoLogComponent extends CApplicationComponent
{
	public $host = 'localhost'; // хост к которому надо подключаться
	public $base = 'test'; // имя базы для журнала
	public $collection = 'log'; // имя базы для журнала

	public $connection = 0;// дескриптор соединения  с монгоДБ
	public $conllction = 0; // используемая коллекция

	/*в init() прописываем все необходимые дейсвтия, которые
	нужно совершить до того, как класс "вступит"
	в работу*/
	public function init()
	{
		$this->collection = $this->getCollection();
	}
public function trace($str)
{
echo $str;
}
.............
... . . .
 ..
}

При этом в конфиге нашего приложения имеются такие записи (config/main.php):

return array(
    //путь к корню нашего сайта
    'basePath' => realpath(dirname(__FILE__) . '/..'),
    //пути к директориям,скрипты из которых
    //следует подключить
    'import' => array(
        'application.models.*',
        'application.components.*',
    ),
    // прописываем конфигурацию для компонентов приложения
    'components' => array(
...............
..............
.........
	    /*настройки компонента */
	    'dblog' => array(
		    'class' => 'application.components.MongoLogComponent',
	    ),

dblog - и будет играть роль id нашего класса в рамках Yii приложения.

теперь мы можем смело поместить все необходимые действия по инициаллизации (необходимые при создании) компонента в его init() метод - так как yii сам создаст для нас компонент прочитав конфигурационный файл.-
а мы всегда сможем обратиться к его инициаллизированному экземпляру(объекту) так (например сразу вызвав какой-то метод):

Yii::app()->dblog->trace('Запрос журнала = ActionShowLog() ');