我有一个小框架,在我的脚本中我使用autoload (我刚刚意识到我需要开始在我的脚本中删除这个函数)
我现在尝试使用Twilio,在他们的代码中,他们使用spl_autoload_register函数。在调用twilio代码的逻辑块之后,当我对一个类进行新的调用时,脚本的其余部分就会崩溃。
我的文件结构是
/classes/
autoload.php
DB_Connect.php
/classes/Twilio/
/sms/Twilio/Services/
twilo.php正在崩溃的脚本如下所示
<?php
include(classes/autoload.php);
if($something_is_true){
requrie_once(sms/Twilio/Services/Twilio.php);
//here is where the spl_autoload_register() is called
}
$connection = new DB_Connect();
//script is broken here现在我需要在“类”文件夹中做些什么来使所有的类都工作呢?
发布于 2013-03-24 16:52:01
原因可能是你的自动加载器 is called
如果您的代码有一个现有的__autoload()函数,那么必须在__autoload堆栈上显式地注册这个函数。这是因为spl_autoload_register()将有效地用spl_autoload()或spl_autoload_call()替换__autoload()函数的引擎缓存。
您可以在几秒钟内更新您的脚本,因为只需要稍加修改就可以正确注册自动加载程序。
目前的情况如下:
function __autoload($class) {
// ...
}这样修改它(假设您正在运行PHP5.3):
spl_autoload_register(function ($class) {
// ...
});在PHP5.3之前,添加它也应该是有效的:
spl_autoload_register('__autoload');https://stackoverflow.com/questions/15601174
复制相似问题