Zend_Rest_Route
Le composant Zend_Rest contient une route RESTful pour
Zend_Controller_Router_Rewrite. Cette route permet un
schéma de routage fonction de la méthode HTTP et de
l'URI afin d'y faire correspondre un module, contrôleur,
et action. Le tableau suivant vous donne un aperçu du schéma de routage en
fonction de l'URI.
Comportement de Zend_Rest_Route
Méthode
URI
Module_Controller::action
GET
/product/ratings/
Product_RatingsController::indexAction()
GET
/product/ratings/:id
Product_RatingsController::getAction()
POST
/product/ratings
Product_RatingsController::postAction()
PUT
/product/ratings/:id
Product_RatingsController::putAction()
DELETE
/product/ratings/:id
Product_RatingsController::deleteAction()
POST
/product/ratings/:id?_method=PUT
Product_RatingsController::putAction()
POST
/product/ratings/:id?_method=DELETE
Product_RatingsController::deleteAction()
Utilisation de Zend_Rest_Route
Pour activer Zend_Rest_Route pour une application entière,
construisez en un objet sans paramètre spécifique et ajoutez le comme route par défaut dans
le contrôleur frontal:
getRouter()->addRoute('default', $restRoute);
]]>
Si Zend_Rest_Route ne trouve aucun module, contrôleur, action
valides, il retournera FALSE et la route suivante sera alors
analysée par le routeur.
Pour activer Zend_Rest_Route pour des modules spécifiques,
construisez l'objet avec comme troisième paramètre, un tableau de noms de modules :
getRouter()->addRoute('rest', $restRoute);
]]>
Pour activer Zend_Rest_Route pour des contrôleurs spécifiques,
construisez l'objet avec comme troisième paramètre, un tableau de noms de contrôleurs
en correspondance avec des noms de modules.
array('ratings')
));
$front->getRouter()->addRoute('rest', $restRoute);
]]>
Zend_Rest_Route avec Zend_Config_Ini
To use Zend_Rest_Route from an INI config file, use a route type
parameter and set the config options:
The 'type' option designates the RESTful routing config type.
The 'defaults' option is used to specify custom default
module, controller, and/or actions for the route. All other options
in the config group are treated as RESTful module names, and their
values are RESTful controller names. The example config defines
Mod_ProjectController and Mod_UserController as RESTful controllers.
Then use the addConfig() method of the Rewrite router object:
addConfig($config, 'routes');
]]>
Zend_Rest_Controller
Pour vous aidez à utiliser des contrôleurs avec
Zend_Rest_Route, faites les étendre
Zend_Rest_Controller.
Zend_Rest_Controller définit les 5 opérations RESTful les
plus connues sous forme de méthodes abstraites.
indexAction() -
Devrait récupérer un index des ressources et le passer à la vue.
getAction() -
Devrait récupérer des données d'une ressource définie par URI
et les passer à la vue.
postAction() -
Devrait accepter une nouvelle ressource et la faire persister (la sauvegarder).
putAction() -
Devrait accepter une ressource indentifiée par URI et
la faire persister (la sauvegarder).
deleteAction() -
Devrait supprimer la ressource identifiée par URI.