2012-07-07 69 views
0

我正在处理我的实体中的一些有用的方法。使用SoapClient,ArrayObject,ArrayIterator在zend框架中导致错误

private function setApi($api_address,$api_username,$api_password){ 

    $this->api_address = $api_address; 
    $this->api_username = $api_username; 
    $this->api_password = $api_password; 
    $this->api_client = new SoapClient($api_address); // error 
} 

警告:要求(应用程序/实体/ SoapClient.php):未能打开流:在/zendboilerplate/library/Doctrine/Common/ClassLoader.php上线148致命错误没有这样的文件或目录:要求():失败打开'App/Entity/SoapClient.php'(include_path ='/ zendboilerplate/application /../ library:/ zendboilerplate/application /../ library/Bisna/Application/Resource:/ zendboilerplate/library: 。/ usr/share/pear')在/zendboilerplate/library/Doctrine/Common/ClassLoader.php on line 148 似乎zend寻找一个类声明(并且它不使用包括在PHP中的类)。

每个“新的类”声明的相同错误。 使用我自己的课程,包括在图书馆一切都很好。 (也尝试过@new SoapClient()但没有结果)。

+0

PHP是否使用提供此类的'--enable-soap'开关配置?您是否使用自己的自动加载器? – drew010 2012-07-07 20:22:50

+0

在控制器新SoapClient()效果很好,在库/ App/Entity/MyEntity.php中导致错误。所以我认为这不是关于配置。 – 2012-07-07 20:30:08

+0

我正在使用zend样板,我不知道自动加载器是否会导致这种情况。我可以在哪里查看有关自动加载器的信息? – 2012-07-07 20:33:06

回答

2

我猜这是命名空间相关。尝试改变被示数到行:

$this->api_client = new \SoapClient($api_address); 

应该强制其使用PHP SoapClient的,而不是那么这大概是在你遇到问题的文件的开头声明的命名空间。

+0

谢谢!现在一切都好! – 2012-07-07 22:33:27