burt 发表于 2010-3-3 16:43:08

自动加载第三方类和自定义类(符合Zend类命名规则的)

本帖最后由 burt 于 2010-3-3 16:48 编辑

以前的工作都是用Zend框架开发的,最近项目需要,用CI 1.7.2做开发,但是发现没有类的自动加载,感觉不够爽,参考别人的加自己琢磨了一下,借用了Zend_Loader,可以实现加载set_include_path里的符合Zend命名规则的所有类。
做法如下:
1、libraries下定义MY_Controller类

class MY_Controller extends Controller
{
public function __construct()
{
parent::Controller();
//自动加载类
$this->load->library('Autoloader');
}
}


2、libraries下定义Autoloader类

require_once (APPPATH.'libraries/Zend/Loader.php');
class Autoloader
{

function __construct()
{
spl_autoload_register(array('Zend_Loader','autoload'));
}
}


3、测试

class Welcome_Controller extends MY_Controller
{
function index()
{
echo Zend_Version::VERSION;
}
}


页面打印出1.9.4
页: [1]
查看完整版本: 自动加载第三方类和自定义类(符合Zend类命名规则的)