嗨,我正在使用cakephp,有一些供应商文件我需要添加到自动加载。这是正确的方法吗:
在bootstrap.php中,我有以下代码:
function __autoload($className){
$classFile = '../vendors/phprtf/' . str_replace('_', '/', $className) . '.php';
// check if file exists
if(file_exists($classFile)) {
require $classFile;
}
}
phprtflite在不同的子目录下有很多类文件。所以把它们都列出来并不是一个好的选择。
现在看来还管用。
最佳答案
您应该使用spl_autoload_register()
来获得它提供的灵活性。
如果您的代码有一个现有的__autoload
函数,那么这个函数
必须在__autoload
堆栈上显式注册。这是因为spl_autoload_register()
将有效地替换__autoload
的功能spl_autoload()
如果必须有多个自动加载功能,spl_autoload_call()
允许这样做。它有效地创建了一个自动加载函数队列,
并按定义的顺序遍历它们。通过
对比度,spl_autoload_register()
只能定义一次。
关于php - 如何允许在CakePHP中自动加载自定义库?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7142835/