通过PHP标准类在extbase扩展中创建对象 [英] Create object in extbase extension from a PHP standard class
问题描述
我正在开发Extbase扩展.其结构为:
I am developìng an Extbase extension. Its structure is:
控制器-> MyNameController.php 域/模型-> MyName.php
Controller -> MyNameController.php Domain/Model -> MyName.php
在MyNameController.php或MyName.php中,我要执行这样的SOAP请求:
In MyNameController.php or MyName.php I want to perform a SOAP request like this one:
(控制器中的示例)
$WebService="http://webservice_direction/webservice.asmx?wsdl";
$username = "username";
$password = "password";
$parametros = array();
$parametros['username'] = $username;
$parametros['password'] = $password;
$WS = new SoapClient($WebService, $parametros);
$result = $WS->myFunction($parametros);
错误:
PHP Fatal error: Class 'NAMESPACE\MyName\Controller\SoapClient' not found in /DirectoryPlugin/Classes/Controller/MyNameController.php on line X
我知道如何在Extbase扩展中包括一个外部类,但是我不知道如何包括一个类似SOAP或EXCEPTION的类.如何在Extbase控制器中创建这些类的新对象?
I know how to include an external class in an Extbase extension, but i dont know how to include one like SOAP or EXCEPTION. How can I create a new object of these classes in the Extbase controller?
推荐答案
我认为您的代码中应该有一个小错误(假设它是在名称空间中定义的):
There's a small bug in your code I think (assuming it's defined in a name space) you should have:
$WS = new \SoapClient($WebService, $parametros);
前导\告诉php从全局名称空间中加载SoapClient而不是在您的名称空间(NAMESPACE \ MyName \ Controller)中查找.
The leading \ tells php to load SoapClient from the global namespace rather than looking in yours (NAMESPACE\MyName\Controller).
这篇关于通过PHP标准类在extbase扩展中创建对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!