Composer会破坏Codeigniter中现有的自动加载



我使用Codeigniter为一些核心类使用这里描述的方法进行自动加载:

http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-Base-Classes-Keeping-it-DRY

function __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');

这样你的自动加载器和作曲器就能和谐共存了

相关内容

  • 没有找到相关文章

最新更新