通过PHP标准类在extbase扩展中创建对象 [英] Create object in extbase extension from a PHP standard class

查看:86
本文介绍了通过PHP标准类在extbase扩展中创建对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆