在 Symfony 2 中使用网络服务
consuming a web service in Synfony 2
我有一个用 webdev 开发的网络服务,我想用 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 更友好)
编者注:英语不是我的母语所以请不要怪我,我尽力让这个话题易于理解
如果您能提供任何帮助,我将不胜感激。
任何时候您需要在应用程序中多次使用 class 然后一次,您需要将其定义为服务。服务是执行某种类型的全局任务的 php 对象。关于服务的一件很酷的事情是,您可以使用称为注入的过程将其他服务注入到它们中。我知道您担心代码的灵活性。我保证这种类型的注射提供了极大的灵活性。如果你发现这对你来说不够灵活,那么 symfony 有一个叫做工厂的东西,它提供了更多的灵活性。看看....http://symfony.com/doc/current/components/dependency_injection/factories.html
我有一个用 webdev 开发的网络服务,我想用 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 更友好)
编者注:英语不是我的母语所以请不要怪我,我尽力让这个话题易于理解
如果您能提供任何帮助,我将不胜感激。
任何时候您需要在应用程序中多次使用 class 然后一次,您需要将其定义为服务。服务是执行某种类型的全局任务的 php 对象。关于服务的一件很酷的事情是,您可以使用称为注入的过程将其他服务注入到它们中。我知道您担心代码的灵活性。我保证这种类型的注射提供了极大的灵活性。如果你发现这对你来说不够灵活,那么 symfony 有一个叫做工厂的东西,它提供了更多的灵活性。看看....http://symfony.com/doc/current/components/dependency_injection/factories.html