Documentation

Zend_Rest_Server(日本語) - Zend_Rest

Zend_Rest_Server(日本語)

導入

Zend_Rest_Server は、完全に機能する REST サーバを作成するためのものです。

REST サーバの使用法

Example #1 基本的な Zend_Rest_Server の使用法 - クラス

  1. $server = new Zend_Rest_Server();
  2. $server->setClass('My_Service_Class');
  3. $server->handle();

Example #2 基本的な Zend_Rest_Server の使用法 - 関数

  1. /**
  2. * Say Hello
  3. *
  4. * @param string $who
  5. * @param string $when
  6. * @return string
  7. */
  8. function sayHello($who, $when)
  9. {
  10.     return "Hello $who, Good $when";
  11. }
  12.  
  13. $server = new Zend_Rest_Server();
  14. $server->addFunction('sayHello');
  15. $server->handle();

Zend_Rest_Server サービスのコール

Zend_Rest_Server サービスをコールするには、 GET/POST 時の引数 method にそのメソッド名を指定しなければなりません。 その後に、任意の数の引数を続けることができます。これは、引数の名前 (たとえば "who") を指定するか、あるいは引数の位置を表す数値 (たとえば "arg1") を指定します。

Note: 数値インデックス
数値で指定する引数のインデックスは、1 から始まります。

上の例の sayHello をコールするには、次のようにします。

?method=sayHello&who=Davey&when=Day

あるいは、このようにもできます。

?method=sayHello&arg1=Davey&arg2=Day

独自のステータスの送信

値を返す際に独自のステータスを返すには、 キー status を含む配列を返します。

Example #3 独自のステータスを返す

  1. /**
  2. * Say Hello
  3. *
  4. * @param string $who
  5. * @param string $when
  6. * @return array
  7. */
  8. function sayHello($who, $when)
  9. {
  10.     return array('msg' => "An Error Occurred", 'status' => false);
  11. }
  12.  
  13. $server = new Zend_Rest_Server();
  14. $server->addFunction('sayHello');
  15. $server->handle();

独自の XML レスポンスを返す

独自の XML を返したい場合は、 DOMDocumentDOMElement あるいは SimpleXMLElement オブジェクトを返します。

Example #4 独自の XML を返す

  1. /**
  2. * Say Hello
  3. *
  4. * @param string $who
  5. * @param string $when
  6. * @return SimpleXMLElement
  7. */
  8. function sayHello($who, $when)
  9. {
  10.     $xml ='<?xml version="1.0" encoding="ISO-8859-1"?>
  11. <mysite>
  12.     <value>Hey $who! Hope you\'re having a good $when</value>
  13.     <code>200</code>
  14. </mysite>';
  15.  
  16.     $xml = simplexml_load_string($xml);
  17.     return $xml;
  18. }
  19.  
  20. $server = new Zend_Rest_Server();
  21. $server->addFunction('sayHello');
  22.  
  23. $server->handle();

サービスからのレスポンスは、変更なしにクライアントに返されます。

Copyright

© 2006-2018 by Zend, a Rogue Wave Company. Made with by awesome contributors.

This website is built using zend-expressive and it runs on PHP 7.

Contacts