首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zend_Soap_AutoDiscover和PHP名称空间

Zend_Soap_AutoDiscover和PHP名称空间
EN

Stack Overflow用户
提问于 2010-05-27 02:34:43
回答 1查看 1.9K关注 0票数 1

我第一次在通过Zend_Soap提供web服务的应用程序中使用PHP中的名称空间,并且遇到了自动发现功能的问题。我的代码是这样的:

代码语言:javascript
复制
$autodiscoverObj = new Zend_Soap_AutoDiscover();
$autodiscoverObj->setClass('My\\Namespace\\MyClass');

我收到了这样的错误,"Zend_Soap_Wsdl_Exception:无法添加不是对象的复杂类型MyClass,或者找不到类“。

如果我省略了setClass()值的名称空间部分,如下所示:

代码语言:javascript
复制
$autodiscoverObj->setClass('MyClass');

我得到"Zend_Server_Reflection_Exception:传递给attachClass()的无效类或对象“,所以看起来像我这样包含名称空间是正确的。

在尝试修复WSDL异常时,我注意到,无论我如何在setClass()方法中引用我的类,Zend框架都会将类传递给我的自动加载函数sans命名空间。再深入一点,我看到框架中有一系列方法,从setClass()本身开始,它们有一个可选的名称空间参数,但不使用它(它们甚至被标记为“未使用”)。

我的下一个想法是使用setClassmap(),但是,尽管在Zend_Soap_Server类中可以使用它,但在Zend_Soap_AutoDiscover类中不能使用它,因为它是一个明确的bug that's already been filed by someone else

Zend框架,特别是same的SOAP组件,是不是与名称空间不兼容?如果不是,如何创建使用其他命名空间中的类的SOAP服务?

版本信息:

PHP: 5.3.0 Zend Framework: 1.9.8

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-22 03:27:01

Zend Framework1.x不支持PHP5.3的名称空间。您将不得不等待Zend Framework2,或者不为Soap服务类使用名称空间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2915740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档