在codeigniter中使用__autoload的最佳解决方案(特别是对于性能和清洁代码)是什么?

时间:2013-10-10 13:01:01

标签: php codeigniter

我将在Codeigniter中使用__autoload函数,但我不确定最佳方法是什么。

我已经阅读了Phil Sturgeon的文章,他在config.php的底部使用了 我问我的朋友,他在index.php中使用

但我认为它们并非干净利用。

我想在钩子中使用它但我读了这个答案(页面中的最后一个答案)How to add autoload-function to CodeIgniter? 并且对此投反对票。

是否使用钩子不好解决方案?

1 个答案:

答案 0 :(得分:1)

如果您使用该框架,Codeigniter的自动加载系统是更简单的方法:您只需将类名添加为数组的索引并进行设置。

从技术上讲,它不是一个“正确”的自动加载器,是一个注册表,它检查类是否已经在类的静态数组中实例化,如果没有,则添加它。在CI的工作方式中它足够有效,而且更重要:对用户来说更容易,与任何php版本兼容,并且你不需要编写任何代码来实现它。

使用__autoload()魔术方法的正确自动加载器,或更好地使用spl_autoload_register()意味着您需要将加载的类与加载CI分开,并且需要实现它手动

对于面向未来的应用程序,请检查PSR-0 standard,它可以指示如何构建一个“标准”自动加载器,用于在PHP世界中成为趋势加载类:包管理和分发,类似于其他语言已经做了什么。