我正在使用
function __autoload($class_name) {
$file_name = str_replace("\\", DIRECTORY_SEPARATOR, $class_name) . '.php';
include $file_name;
}
加载我的课程。一切都很完美,但现在我想使用一个具有不同命名约定的外部库 Services_Twilio (我将库存储在/code/twilio/Services/Twilio.php下)
现在PHP说警告:include(Services_Twilio.php):无法打开流: 我怎么能处理这些案件?我应该排除这个课吗?我还发现该库有自己的自动加载器。
答案 0 :(得分:0)
您应该通过包含它来使用提供的自动加载器。
您自己的自动加载器应该让自动加载器有机会采取行动。你应该这样做:
function __autoload($class_name) {
$file_name = str_replace("\\", DIRECTORY_SEPARATOR, $class_name) . '.php';
if (file_exists($file_name)) {
include $file_name;
}
}
如果自动加载器无法找到该文件,则无效。因此,你得到的警告将会消失。此外,包装的自动加载器可以启动。
您也可以考虑http://php.net/manual/de/function.spl-autoload-register.php