在Synfony 2中使用Web服务

时间:2015-05-21 19:31:37

标签: php web-services symfony wsdl

我有一个用webdev开发的Web服务,我想用Symfony 2来使用它。

这时,我选择了纯PHP。我试图将对象定义为类似于wsdl中描述的类(这将允许我直接创建对象的实例)。 例如:

class my_complex_type{

    public $my_basic_type1 = null ; 
    public $my_basic_type2 = null ; 
    public $my_basic_type3 = null ;

    public function __construct($my_basic_type1, $my_basic_type2, $my_basic_type3){
      $this->my_basic_type1 = $my_basic_type1 ;
      $this->my_basic_type1 = $my_basic_type1 ;
      $this->my_basic_type1 = $my_basic_type1 ;
    }

 // setters and getters ...
}

并通过以下方式调用函数:

public function my_function(my_type $parameters)
    {
      return $this->__soapCall('my_function', array($parameters));
    }

我遇到这个问题的方法是,我认为这并不能使代码变得如此灵活,重新编码已经写在wsdl中的内容非常烦人

所以我想知道你是否有更方便的选择(也许更适合Symfony)

编者注:英语不是我的母语所以请不要怪我,我尽力使这个话题易于理解

我将非常感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

任何时候您需要在应用程序中使用一次以上的类,您需要将其定义为服务。服务是执行某种类型的全局任务的php对象。关于服务的一个很酷的事情是,您可以使用名为Injection的进程将其他服务注入其中。我知道你担心你的代码是灵活的。我保证这种注射方式具有极大的灵活性。如果您发现这对您来说不够灵活,那么symfony就有一种称为工厂的东西,它提供了更大的灵活性。看看...... http://symfony.com/doc/current/components/dependency_injection/factories.html