當然,我們也可以自已定義一些組件,最好將其放置在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();