標籤:使用 io ar div line app ad table
當我們建立一個module的時候,對應的path alias就已經建立。
比如我們定義了一個module: www
| 12345 |
‘modules‘=>array( ‘www‘=>array( ‘class‘=>‘applications.modules.www.WwwModule‘, ),), |
列印:
echo Yii::app()->getPathOfAlias(‘www’)
你會發現www別名已經指向我們的www模組了。
假定在我們的www模組下有如下目錄:
www
–components
—-ApiBase.php
–extensions
–vendors
—-Curl.php
如何載入這裡面的components或者其它第三方包呢?
如下:
| 123456789 |
‘modules‘=>array( ‘www‘=>array( ‘class‘=>‘applications.modules.www.WwwModule‘, ‘components‘ => array( ‘api‘=>array(‘class‘=>‘www.components.ApiBase‘), ‘curl‘=>array(‘class‘=>‘www.vendors.Curl‘), ), ),), |
那麼在controller裡面該如何擷取呢:
如下:
| 12 |
$api = $this->getModule()->api;$curl = $this->getModule()->curl; |
$this是當前的controller.
請注意: 我們這裡沒有使用Yii::app()->curl來擷取component,因為我們是把component定義到modules裡面了。
其它模組想要使用我們的擴充怎麼辦?
| 1 |
$curl = Yii::app()->getModule(‘www‘)->curl; |
當然對於公用的擴充,不建議定義的單個module裡面, 還是放到外面的components裡面定義。 然後採用Yii::app()->curl 來擷取即可