Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend中的spl_自动加载_寄存器_Php_Zend Framework_Twilio - Fatal编程技术网

Php Zend中的spl_自动加载_寄存器

Php Zend中的spl_自动加载_寄存器,php,zend-framework,twilio,Php,Zend Framework,Twilio,我目前正在尝试使用Twilio PHP库,该库使用spl_autoload_register来包含它的类 function Services_Twilio_autoload($className) { if (substr($className, 0, 15) != 'Services_Twilio') { return false; } $file = str_replace('_', '/', $className); $file = str_

我目前正在尝试使用Twilio PHP库,该库使用spl_autoload_register来包含它的类

function Services_Twilio_autoload($className) {
    if (substr($className, 0, 15) != 'Services_Twilio') {
        return false;
    }
    $file = str_replace('_', '/', $className);
    $file = str_replace('Services/', '', $file);
    return include dirname(__FILE__) . "/Twilio.php";
}

spl_autoload_register('Services_Twilio_autoload');
我加入以下代码:

require_once('Library/Services/Twilio.php');

$client = new Services_Twilio($this->sid, $this->token);
然后,我在运行它时出现以下错误:

Fatal error: Cannot redeclare Services_Twilio_autoload() (previously declared in ...\Twilio\Library\Services\Twilio.php:9) in ... \Twilio\Library\Services\Twilio.php on line 16

这段代码运行于Zend之外,并且已经有一个带有_initAutoload()的引导程序。我不确定应该在何处或如何实现此库的自动加载,因为我对它不太熟悉。

我想我已经重现了这个问题

为了纠正它,我只添加了
require_once('Services/Twilio.php')如下所示:

require_once('Services/Twilio.php');

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{    
  ....
在我的例子中,我将
Services
目录放在
library
目录中(其中是Zend目录)

在控制器中,我可以像您一样调用
服务

$client = new Services_Twilio($this->sid, $this->token);

我希望它能帮助你。:)

这确实有效。不过,我决定改用composer来运行库,它也可以运行。谢谢您的回复。:)