我使用Codeigniter为一些核心类使用这里描述的方法进行自动加载:
http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-Base-Classes-Keeping-it-DRYfunction __autoload($class)
{
if(strpos($class, 'CI_') !== 0)
{
@include_once( APPPATH . 'core/'. $class . EXT );
}
}
然而,一旦我安装了composer(为了使用Eloquent),这个功能就不再工作了。什么好主意吗?
谢谢!
__autolload是旧的,不赞成的自动加载方式,因为你只能有一个。
你应该使用spl_autoload_register注册你的自动加载器。例如:
function customCIAutoload($class)
{
if(strpos($class, 'CI_') !== 0)
{
@include_once( APPPATH . 'core/'. $class . EXT );
}
}
spl_autoload_register('customCIAutoload');
这样你的自动加载器和作曲器就能和谐共存了