怎样使用类来实现网络服务

来源:互联网 发布:洛阳农村淘宝招聘 编辑:程序博客网 时间:2024/04/30 20:09


作者:nandika
WSF/PHP supports implementing a service using a php class. One of theadvantages of implementing the service Operations with in a class isthat is gives the ability to pass arguments to the constructor of theclass.
WSF/PHP 支持将用类来嵌网络服务。他的一个能力就是支持将变量传递给类的构造函数。
以下是一个简单的例子:

class Bar{

private $value = "";
function __construct($str){
$this->value = $str;
}

function echoValue($inMessage){
$responsePayloadString = <<<XML
<ns1:echostring ns1="<a href=">http://wso2.org/projects/wsf/php</a>">
<value>$this->value</value> </ns1:echoString>
XML;
return new WSMessage($responsePayloadString);
}

}

$operations = array("echoString" => "echoValue");

$service = new WSService(
array( "classes" => array("Bar" =>
array("operations" =>$operations,
"args" => array("Hello")
)
)));


$service->reply();

注:
    Bar类是一个非常简单的php类,它的构造函数需要一个String类型的变量并且把它赋给了成员变量value
    然后你需要定义一个数组来包含需要的操作,这里很简单,就是 echoValue
    之后你需要告诉WSService类你想要使用的类,以及他的成员函数和参数
   WSservice的options数组可以接受名为classes的参数,实现把类嵌入到网络服务的要点就是这个classes参数本身是一个数组,包含了opraions和args这些参数,显而易见,operations是你定义在类中的函数,args是这些函数需要的参数。因为这里"Bar"这个类只有一个函数,这个函数也只有一个参数,所以我们就给了一个值。

原创粉丝点击