Création D'une API REST en utilisant PHP [dupliquer]

cette question a déjà une réponse ici:

je crée ma première API à laquelle si deux valeurs sont passées, je devrais obtenir la réponse dans le format JSON. Le numéro sera transmis en tant que paramètres par la POSTE. Utilisation de cURL ou quelle que soit la méthode de POST Disponible.

même s'il s'agit d'un modèle très basique, j'aimerais connaître les meilleures pratiques et L'API devrait être créée par la base du Model–controller. Pas simplement du PHP.

j'ai googlé de nombreux tutoriels D'API REST. Ils étaient bonnes et j'ai acquis quelques connaissances sur les.

mais je voudrais obtenir un modèle d'échantillon du code afin que je puisse m'y référer et construire le mien, et cet échantillon bien sûr en la pratique standard de faire une vraie API REST.

si vous me demandez ce que j'ai essayé, ce serait vraiment amusant, en tant que débutant, tout ce que je peux faire est ceci:

$num1 = $_REQUEST['num1'];
$num2 = $_REQUEST['num2'];

$total = $num1 + $num2;
echo json_encode($total);

bien sûr, cela ne peut jamais être appelé une API, mais tout de même. Si je donne une réponse POST à ceci, je veux la réponse de L'API REST comme JSON. Je devrais être capable de le tester par la console de repos aussi bien pour que je obtienne une réponse standard.

s'il vous Plaît me donner une très de base, mais encore une norme API RESTful.

48
demandé sur Trix 2014-02-22 23:26:35

2 réponses

dans votre exemple, c'est bien comme ça: c'est simple et ça marche. Les seules choses que je suggérerais sont:

  1. validation des données postées
  2. assurez-vous que votre API envoie l'en-tête Content-Type pour dire au client de s'attendre à une réponse JSON:

    header('Content-Type: application/json');
    echo json_encode($response);
    

en dehors de cela, une API est quelque chose qui prend une entrée et fournit une sortie. Il est possible de " sur-concevoir" les choses, en ce que tu rends les choses plus compliquées qui doivent l'être.

si vous souhaitez suivre la route des contrôleurs et des modèles, alors lisez sur le MVC pattern et découvrez comment vos objets de domaine s'y intègrent. En regardant l'exemple ci-dessus, je peux voir peut-être un MathController avec une add() action/méthode.

Il ya quelques projets de point de départ pour les APIs reposants sur GitHub qui valent la peine look.

71
répondu Martin Bean 2015-08-18 10:28:50

essayer d'écrire une API REST à partir de zéro n'est pas une tâche simple. Il ya beaucoup de questions à la factor et vous aurez besoin d'écrire beaucoup de code pour traiter les demandes et les données provenant de l'appelant, l'authentification, l'extraction de données et l'envoi des réponses.

Votre meilleur pari est d'utiliser un framework qui a déjà cette fonctionnalité prêt et testé pour vous.

quelques suggestions sont:

Phalcon - REST API bâtiment - facile à utiliser tous dans un seul cadre avec des performances énormes

Apigility - Un one size fits all API cadre de traitement par Zend Technologies

Laravel tutoriel de construction API

et bien d'autres. Les recherches simples sur Bitbucket/Github vous donnera beaucoup de ressources pour commencer.

17
répondu Nikolaos Dimopoulos 2014-02-22 19:39:07