Php 谁被称为组件';s init()方法?

Php 谁被称为组件';s init()方法?,php,yii,components,Php,Yii,Components,我只是Yii框架的新手,我正在试验Yii组件。我有一个简单的测试组件: class document extends CApplicationComponent{ private $_width='150'; public function init(){ echo "This is document component init method."; } public function getWidth(){

我只是Yii框架的新手,我正在试验Yii组件。我有一个简单的测试组件:

class document extends CApplicationComponent{
        private $_width='150';
        public function init(){
            echo "This is document component init method.";
        }
        public function getWidth(){
            return $this->_width;
        }
    }
如果我在代码中使用此组件,如下所示:

Yii::import('application.components.document');
$width=Yii::app()->document->width;
然后调用组件的
init()
方法。这种方法叫谁?您是否可以从调用此方法的Yii源代码中的行中获取引用。

来自
capApplicationComponent
实现的API页面

应用程序完成配置后,将调用每个加载的应用程序组件的
init()
方法

在深入挖掘之后,这是的源代码。CModule是所有模块和应用程序类的基类,因此基本应用程序类将调用
\u init

elseif($component instanceof IApplicationComponent)
{
    $this->_components[$id]=$component;

    if(!$component->getIsInitialized())
        $component->init(); // <----

    return;
}
elseif($iaapplicationComponent的组件实例)
{
$this->_components[$id]=$component;
如果(!$component->getIsInitialized())
$component->init()//