例681 基本的な Zend_Rest_Server の使用法 - クラス
$server = new Zend_Rest_Server(); $server->setClass('My_Service_Class'); $server->handle();
例682 基本的な Zend_Rest_Server の使用法 - 関数
/** * Say Hello * * @param string $who * @param string $when * @return string */ function sayHello($who, $when) { return "Hello $who, Good $when"; } $server = new Zend_Rest_Server(); $server->addFunction('sayHello'); $server->handle();
Zend_Rest_Server
サービスをコールするには、
GET
/POST 時の引数 method
にそのメソッド名を指定しなければなりません。
その後に、任意の数の引数を続けることができます。これは、引数の名前
(たとえば "who") を指定するか、あるいは引数の位置を表す数値
(たとえば "arg1") を指定します。
数値インデックス
数値で指定する引数のインデックスは、1 から始まります。
上の例の sayHello
をコールするには、次のようにします。
?method=sayHello&who=Davey&when=Day
あるいは、このようにもできます。
?method=sayHello&arg1=Davey&arg2=Day
値を返す際に独自のステータスを返すには、
キー status
を含む配列を返します。
例683 独自のステータスを返す
/** * Say Hello * * @param string $who * @param string $when * @return array */ function sayHello($who, $when) { return array('msg' => "An Error Occurred", 'status' => false); } $server = new Zend_Rest_Server(); $server->addFunction('sayHello'); $server->handle();
独自の XML を返したい場合は、
DOMDocument
、DOMElement
あるいは
SimpleXMLElement
オブジェクトを返します。
例684 独自の XML を返す
/** * Say Hello * * @param string $who * @param string $when * @return SimpleXMLElement */ function sayHello($who, $when) { $xml ='<?xml version="1.0" encoding="ISO-8859-1"?> <mysite> <value>Hey $who! Hope you\'re having a good $when</value> <code>200</code> </mysite>'; $xml = simplexml_load_string($xml); return $xml; } $server = new Zend_Rest_Server(); $server->addFunction('sayHello'); $server->handle();
サービスからのレスポンスは、変更なしにクライアントに返されます。