CakePHP之Component设置

CakePHP的组件Component可以看作是Controller的辅助工具.在CakePHP中,已经有了一些默认的组件(在文件夹cake\libs\controller\components中),譬如:session.php,request_handler.php,cookie.php,email.php等等...
当然,我们也可以自已定义一些组件,最好将其放置在app/controllers/components/夹下.


建立一个Component,
第一步:

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

	function handel(){
		//to do
	}
}


使用Component:

在相应的controller中添加下面的代码:

var $components = array('Soap');


然后这样来调用:

$this->Soap->handel();


一个Component访问调用它的Controller一般是通过Component自己的startup()或者默认的initialize()方法来实现的.
它一般会在Controller::beforeFilter()之后被执行.设置Component的一些属性,也在beforeFilter中进行.

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

var $components = array("Soap");


而下面这种方式,则适用于任何地方:
if(!class_exists('RequestHandlerComponent')) {
	App::import('Component', 'RequestHandler');
}
		
$RequestHandler = new RequestHandlerComponent();

你可能感兴趣的:(PHP,SOAP,cakephp)