[Zend]Webservice en REST

Fermé
justin - 13 avril 2012 à 10:07
 justine - 13 avril 2012 à 11:34
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 6651 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 331
13 avril 2012 à 10:57
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
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