用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4079|回复: 0
收起左侧

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

[复制链接]
发表于 2010-3-3 16:43:08 | 显示全部楼层 |阅读模式
本帖最后由 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

本版积分规则