Question

Je développe ma propre bibliothèque PHP et j'aimerais appeler les services Web RESTful à partir de mon API. Cela peut-il être fait en PHP et si oui, quelles sont les bases pour le faire?

Était-ce utile?

La solution

Étant donné que REST est l’application des mêmes méthodes du protocole HTTP à la conception des architectures client-serveur et que PHP est déjà très efficace pour gérer les requêtes de protocole HTTP telles que GET et POST. PHP est spécialement adapté pour faciliter le développement de services REST.

N'oubliez pas que REST est l'application des mêmes modèles http qui existent déjà.

Donc, si vous avez actuellement une application qui fait quelque chose comme:

  1. formulaire HTML
  2. Processus PHP
  3. HTML dans un tableau

Pour que cela reste ainsi, vous devez:

  1. Acceptez les paramètres du Web. C’est facile, car vous recevrez les paramètres sous forme de get ou de post, donc c’est la même chose.
  2. processus PHP
  3. Sortie dans JSON ou XML . Et ça y est!

    C'est assez facile.

Maintenant, le plus difficile est de rendre votre API (les fonctions et les URL) que vous allez générer être conviviale pour les programmeurs.

Dans ce cas, je vous suggère de consulter la API flickr , à titre d'exemple, est très développeur convivial facile à deviner et avec une bonne documentation.

Pour plus d'informations sur les API, consultez cette présentation: Comment concevoir une bonne API & amp; Pourquoi c'est important (Joshua Bloch)

Enfin, une API RESTful doit également implémenter les méthodes PUT et DELETE du protocole http lorsque cela a du sens

Par exemple, si vous avez une action de suppression dans votre api, ledit service doit recevoir la méthode de suppression du protocole http. Au lieu de la chose la plus commune d'envoyer un paramètre d'action dans le cadre d'une demande de publication.

Modifier: Remplacé "Php est au repos par défaut". with "Depuis REST est l’application des mêmes méthodes du protocole HTTP à la conception des architectures client-serveur et PHP est déjà très utile pour gérer les requêtes de protocole HTTP telles que GET et POST. PHP est spécialement conçu pour faciliter le développement de services REST. "

Nous avons également ajouté la note finale selon laquelle vous devriez implémenter les méthodes appropriées PUT ou DELETE lorsque cette action est logique pour votre api.

Autres conseils

Vous pouvez consulter cet article et son suivi: http: //www.gen-x -design.com/archives/create-a-rest-api-with-php/

Votre question est très ouverte, ce tutoriel peut donc constituer le meilleur point de départ.

Le lien ci-dessus ne fonctionne plus, consultez ce didacticiel:

http: // net. tutsplus.com/tutorials/other/a-beginners-introduction-to-http-and-rest/

J'ai développé une classe qui est l'équivalent REST de la classe SoapServer native de PHP.

Il vous suffit d'inclure le fichier RestServer.php, puis de l'utiliser comme suit.

class Hello
{
  public static function sayHello($name)
  {
    return "Hello, " . $name;
  }
}

$rest = new RestServer(Hello);
$rest->handle();

Ensuite, vous pouvez passer des appels comme celui-ci:

http://myserver.com/path/to/api?method=sayHello&name=World

(Notez que l'ordre dans lequel les paramètres sont fournis dans la chaîne de requête n'a pas d'importance. De plus, les noms de clé de paramètre, ainsi que le nom de la méthode, ne respectent pas la casse.)

Ne pouvez pas vous blesser pour revenir à la source d'origine de le terme REST et assurez-vous de bien comprendre ce que cela signifie.

Si vous pensez au côté client, je vous conseillerais de vérifier le PEST de Matt Sukowski.

Vous trouverez le référentiel sur GitHub: https://github.com/educoder/pest

Découvrez également ce sujet: Clients REST PHP

Mise à jour 2013/12/13:
C'est vraiment un projet open source, Matt Sukowsky l'a confié à de nouveaux gardiens cet été, car il ne pensait pas qu'il pourrait gagner assez de temps, et il y a eu beaucoup de commits depuis. Donc, Pest est meilleur que jamais pour faire Reste en PHP:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top