例 26.6. 基本的な Zend_Rest_Server の使用法 - クラス
<?php
require_once 'Zend/Rest/Server.php';
require_once 'My/Service/Class.php';
$server = new Zend_Rest_Server();
$server->setClass('My_Service_Class');
$server->handle();
?>
例 26.7. 基本的な Zend_Rest_Server の使用法 - 関数
<?php
require_once 'Zend/Rest/Server.php';
/**
* 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 を含む配列を返します。
例 26.8. 独自のステータスを返す
<?php
require_once 'Zend/Rest/Server.php';
/**
* 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 オブジェクトを返します。
例 26.9. 独自の XML を返す
<?php
require_once 'Zend/Rest/Server.php';
/**
* 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();
?>
サービスからのレスポンスは、変更なしにクライアントに返されます。