Ejemplo 60.6. Uso básico de Zend_Rest_Server - Clases
$server = new Zend_Rest_Server();
$server->setClass('My_Service_Class');
$server->handle();
Ejemplo 60.7. Uso básico de Zend_Rest_Server - Funciones
/**
* 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();
Para llamar a un servicio de Zend_Rest_Server, debe proporcionar
un argumento GET/POST method con un valor que sea el
método que desea llamar. Después puede continuar con cualquier número
de argumentos usando el nombre del argumento (por ejemplo, "who") o
usando arg seguido de la posición numérica del
argumento (por ejemplo, "arg1").
![]() |
Índice numérico |
|---|---|
Los argumentos numéricos usan un índice basado en 1. |
Para llamar a sayHello del ejemplo anterior, puede usar cualquiera de estas dos formas:
?method=sayHello&who=Davey&when=Day
o:
?method=sayHello&arg1=Davey&arg2=Day
Al devolver valores, para devolver un estado personalizado, puede devolver un
array con una clave status.
Ejemplo 60.8. Devolución de un estado personalizado
/**
* 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();
Si desea devolver XML personalizado, simplemente devuelva un
objeto DOMDocument, DOMElement o
SimpleXMLElement.
Ejemplo 60.9. Devolución de XML personalizado
/**
* 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();
La respuesta del servicio se devolverá sin modificación al cliente.
![[Note]](images/note.png)