31.3. Zend_Rest_Server

31.3.1. µµÀÔ

Zend_Rest_Server (Àº)´Â, ¿ÏÀüÇÏ°Ô ±â´ÉÇÑ´Ù REST ¼­¹ö¸¦ ÀÛ¼ºÇϱâ À§ÇÑÀÇ °ÍÀÔ´Ï´Ù.

31.3.2. REST ¼­¹öÀÇ »ç¿ë¹ý

·Ê 31.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();

·Ê 31.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();

31.3.3. Zend_Rest_Server ¼­ºñ½ºÀÇ ÄÝ

Zend_Rest_Server ¼­ºñ½º¸¦ ÄÝ ÇÏ·Á¸é , GET/POST ½Ã°£ÀÇ Àμö method ¿¡ ±× ¸Þ¼Òµå¸íÀ» ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ±× ÈÄ¿¡, ÀÓÀÇÀÇ ¼öÀÇ Àμö¸¦ °è¼ÓÇÒ ¼ö ÀÖ½À´Ï´Ù.À̰ÍÀº, ÀμöÀÇ À̸§ (¿¹¸¦ µé¾î "who") (À»)¸¦ ÁöÁ¤Çϵ簡, ȤÀº ÀμöÀÇ À§Ä¡¸¦ ³ªÅ¸³»´Â ¼öÄ¡ (¿¹¸¦ µé¾î "arg1") (À»)¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

[ÁÖÀÇ] ¼öÄ¡ À妽º

¼öÄ¡·Î ÁöÁ¤ÇÏ´Â ÀμöÀÇ À妽º´Â,1 (À¸)·ÎºÎÅÍ ½ÃÀ۵˴ϴÙ.

À§ÀÇ ¿¹ÀÇ sayHello (À»)¸¦ ÄÝ ÇÏ·Á¸é , ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.

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

ȤÀº, ÀÌ¿Í °°À̵µ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

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

31.3.4. µ¶ÀÚÀûÀÎ ½ºÅ×ÀÌÅͽºÀÇ ¼Û½Å

°ªÀ» µ¹·ÁÁÙ ¶§¿¡ µ¶ÀÚÀûÀÎ ½ºÅ×ÀÌÅͽº¸¦ µ¹·ÁÁÖ·Á¸é , Ű status (À»)¸¦ Æ÷ÇÔÇÑ ¹è¿­À» µ¹·ÁÁÝ´Ï´Ù.

·Ê 31.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();

31.3.5. µ¶ÀÚÀûÀÎ XML ¸®½ºÆù½º¸¦ µ¹·ÁÁØ´Ù

µ¶ÀÚÀûÀÎ XML (À»)¸¦ µ¹·ÁÁÖ°í ½ÍÀº °æ¿ì´Â, DOMDocument,DOMElement ȤÀº SimpleXMLElement ¿ÀºêÁ§Æ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

·Ê 31.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();

¼­ºñ½º·ÎºÎÅÍÀÇ ¸®½ºÆù½º´Â, º¯°æ¾øÀÌ Å¬¶óÀÌ¾ðÆ®¿¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.