CakePHP之Component設置

CakePHP的組件Component可以看作是Controller的輔助工具.在CakePHP中,已經有了一些默認的組件(在文件夾cake\libs\controller\components中),譬如:session.php,request_handler.php,cookie.php,email.php等等...
當然,我們也可以自已定義一些組件,最好將其放置在app/controllers/components/夾下.

[b]
建立一個Component,[/b]第一步:

class SoapComponent extends Component{
/*
*
* 引入第三方開源包
*
*
*/
function initialize(&$controller){
App::import('Vendor', 'nusoap/lib/nusoap');
}

function handel(){
//to do
}
}


[b]使用Component:[/b]

在相應的controller中添加下面的代碼:

var $components = array('Soap');


然後這樣來調用:

$this->Soap->handel();


[b]一個Component訪問調用[/b]它的Controller一般是通過Component自己的startup()或者默認的initialize()方法來實現的.
它一般會在Controller::beforeFilter()之後被執行.設置Component的一些屬性,也在beforeFilter中進行.

如果想在一個Component中使用其他的Component.

var $components = array("Soap");


[b]而下面這種方式,則適用於任何地方:[/b]

if(!class_exists('RequestHandlerComponent')) {
App::import('Component', 'RequestHandler');
}

$RequestHandler = new RequestHandlerComponent();
發佈了13 篇原創文章 · 獲贊 0 · 訪問量 4023
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章