[Zend]Webservice en REST

justin -  
 justine -
Bonjour, 

Je souhaiterais mettre en place un web service avec Zend sur le principe du blogging. Après m'être documenté je pense avoir compris pas mal de choses mais j'aimerais en être sur.

Sur le Principe je dois développer mes classes utilisateurs, posts, et commentaire de façon normale?
 
Ensuite je fois avoir un Zend_rest_controller par classe dans laquelle je vais avoir mes fonction getAction, postAction... qui vont appeler mes classes précédemment réalisée et renvoyer le résultat au format JSON?

Je vous remercie pour ces précisions.

2 réponses

mpmp93 Messages postés 7217 Date d'inscription   Statut Membre Dernière intervention   1 341
 
Bonjour,

J'ai pas tout compris dans la question....

mais une piste:

- un WS en REST c'est simplement coté utilisateur un truc de ce genre:

http://www.monsite.com/wsRest.php?method=getDerangement&id=1234&val=abcd

ici on appelle le script wsRest.php auquel on passe comme données
method = getDerangement
id = 1234 et
val = abcd

Coté script wsRest.php, le code serait de ce genre:

function getDerangement($id, $val) {
    // ici code de la fonction
}

require_once '../Zend/Loader.php';

set_include_path('../');

Zend_Loader::loadClass ('Zend_Rest_Server' );
// Zend_Loader::loadClass ('Zend_Http_Client' );

// require_once 'Zend/Rest/Server.php';
$server = new Zend_Rest_Server();
$server->setClass('restExchange');

$server->setEncoding('UTF-8');
$server->handle();

$server->addFunction('getDerangement'); // il faut déclarer préalablement cette fonction */


Les données sont renvoyées ici dans l'exemple par getDerangement() selmon le format souhaité: texte, HTML, XML, json, etc... C'est vous qui voyez.

A+

0
justine
 
En fait ce qui m'importe c'est plus le coté client, c'est pour être sur que j'ai bien compris le fonctionnement.

En fait j'ai deux classes : la classe utilisateur, qui à un pseudo. Une seconde classe "commentaire" sur laquelle je fais du CRUD.
Dans ma classe utilisateur je vais avoir :
-getLogin()
-getCommentsByUser()
Si je prend ma classe commentaire je vais donc avoir :
-getComment()
-addComment()
-delComment()

Je vais devoir créer une seule interface pour ces deux classes ( et celle qui arriveront ensuite) qui vont appeler mes fonctions précédemment citées?

Et je vais appeler les fonctions à partir de mon controller client en lui spécifiant l'url de mon interface comme tu me l'as noté au dessus?

Merci beaucoup !
0