日期:2014-05-17  浏览次数:20513 次

cakephp中加载第三方类的一点注意的
在cakephp中,加载其他不相关的类,有三种方法,例子如下:
<?php

class TasksController extends AppController {

	var $name = 'Tasks';

 

	function index()

	{

		$this->set('tasks',$this->Task->find('all'));

 

		/**

		* 引用外部不相关类的第一种方法 ClassRegistry::init()

		* 功能:包含一个类文件,生成对象并返回对象。

		$users = ClassRegistry::init("User")->find('all');

		$this->set('users',$users);

		*/

 

		/**

		* 引用外部不相关类的第二种方法 Controller::loadModel()

		* 直接在控制器中调用Model类,并初始化成$this->Model名

		$this->loadModel("User");

		$users = $this->User->find('all');

		$this->set('users',$users);

		*/

 

		/**

		* 引用外部不相关类的第三种方法 App::import()

		* 只相当于include一个类文件,初始化及调用方法都要重新来。

		App::import('model','User');

		$User = new User();

		$this->set('users',$User->find('all'));

		*/

	}

}

?>




  可以看到,第三种方法App:import是最底效率的了.