例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();
サービスからのレスポンスは、変更なしにクライアントに返されます。