web-dev-qa-db-fra.com

Ai-je besoin d'un framework pour construire une API REST en PHP?)

Je suis assez nouveau sur PHP (environ 8 mois). Je construis une application Web, qui est presque prête pour la version bêta. Je commence seulement à penser à ce que je devrais faire pour faire une version mobile de l'application.

Si j’ai bien compris, je devrais créer un API REST (corrigez-moi si je me trompe). Je n’utilise actuellement PAS un framework PHP pour mon application web, devrais-je être?

Devrais-je maintenant utiliser un framework pour pouvoir implémenter plus facilement mon API? Ou puis-je construire mon API sans aucun framework?

60
Progger

RÉPONSE COURTE Non, vous n'avez pas besoin d'un cadre pour atteindre votre objectif.

[~ # ~] mais [~ # ~] ce sera vraiment plus facile si vous utilisez un framework pour gérer votre API. Je vous suggère d’opter pour un framework léger et peut-être pourrez-vous également convertir facilement votre application Web en framework, en ayant une "application" pour renvoyer deux "choses" différentes (Web et API).

Jetez un oeil à Laravel , basé sur Laravel 4 REST API ou à une liste de populaires frameworks app restants php qui peut être utilisé pour en construire un.

51
Napolux

Vous n'avez certainement pas aucune sorte de framework pour construire un PHP REST = API. REST n'est rien de plus qu'une convention de protocole construite sur HTTP. Depuis PHP peut évidemment gérer les requêtes HTTP, il a tout ce dont vous avez besoin pour construire API RESTful.

L’intérêt des frameworks est de gérer des tâches communes et des tâches fastidieuses. REST Les API sont généralement construites avec PHP, il existe donc une pléthore de frameworks. Personnellement, j'utiliserais un framework léger comme slim simplement pour gérer des tâches telles que le routage URI, l'analyse syntaxique/données de requête de nettoyage et génération de réponses.

17
Dan Simon

Non, vous n'avez pas besoin d'un framework pour construire une API REST), mais cela est vivement recommandé, car un framework bien construit peut prendre en charge des tâches qui peuvent être très difficiles et compliquées, à savoir les authentifications de session. et la mise en cache et l’architecture bien séparée. Réinventer la roue ne vous mène jusqu’à présent.

Je suis un développeur de Wave Framework qui a été développé en gardant à l'esprit une conception centrée sur les API (en savoir plus ici ). Je vous encourage à jeter un coup d'œil dans ce cadre et à voir si cela pourrait vous aider. Il a un petit groupe de développeurs, mais il gagne peu à peu en reconnaissance.

Je vous encourage à y jeter un coup d'œil et à voir si cela pourrait répondre à vos besoins.

4
kingmaple

Il existe également des outils qui créent une API REST à partir de la base de données sans nécessiter de code supplémentaire.

Si vous utilisez Postgres, il existe un excellent programme postgREST qui

sert une API entièrement RESTful à partir de toute base de données PostgreSQL existante. Elle fournit une API plus propre, conforme aux normes et plus rapide que celle que vous êtes susceptible d'écrire à partir de rien.

3

REST est plus une idéologie de conception qu'un framework de langage, vous devez donc utiliser un framework. Cependant, il n’ya aucun avantage à réinventer la roue (il existe certes des inconvénients tels que la sécurité, la structure, etc.).

Si vous voulez éviter le chaos de MVC (qui n'est pas une spécification obligatoire d'une architecture REST, vous pouvez utiliser n'importe quel PHP mico-framework (Slim, Lumen, etc.), ils sont vraiment rapides à apprendre et implémenter et permettre au développeur PHP d'écrire une application basée sur un itinéraire (similaire à celles de MEAN et Express), permettant ainsi de gagner beaucoup de temps.

La plupart de ces frameworks sont également livrés avec un MVC, mais si vous ne souhaitez pas attribuer de CMS à l'API, MR (Model-Routes) est suffisant (et pratiquement le meilleur) pour tous les besoins REST .

Depuis l'aube des angular comme les frameworks qui permettent à votre site Web de communiquer facilement avec plusieurs serveurs comme toute autre API, je pense que même le CMS devrait accéder à l'API comme n'importe quelle autre application uniquement avec des droits élevés ou un point final spécifique.

2
Himanshu Vaishnav

Le monde est vraiment très grand, donc personne ne peut tout faire seul. Quelqu'un aidera quelqu'un (qui fait quelque chose de nouveau) à faire quelque chose de vieux. C'est la raison, libray et FW existent dans notre monde informatique.

En production/environnement réel, tout est plus complexe que nous le pensons. Jusqu'à un jour dans le futur, nous devrons construire beaucoup de choses pour notre projet et nous verrons que ces choses ont déjà été construites par FW.

Bien qu'il ne s'agisse que d'un serveur RESTful, avec du PHP pur, nous avons besoin de résoudre des problèmes concernant: le routage URI, les données de requête d'analyse/nettoyage, l'accès aux données, la gestion des dépendances, la génération de réponses, bla bla bla ...

Je recommande d'utiliser Slim ou Phalcon (Micro App). Slim est une méthode simple et rapide, mais Phalcon est une méthode efficace et performante.

1
Deka

NON, VOUS N'AVEZ PAS BESOIN DE CADRE POUR PHP BACKEND.

Si vous utilisez php en tant que backend, vous n'avez pas besoin d'utiliser un framework resetAPI. Créez simplement vos propres fichiers php et générez une sortie JSON pour chaque réponse.

Vous devez générer une sortie JSON. C'est assez. Avantages: - Si vous utilisez votre propre identifiant pour générer une sortie Json, la vitesse de la lumière sera énorme (en fonction de votre logique). Si vous utilisez un framework, les problèmes de performances surviendront.

Ce sera mieux si vous pouvez concevoir votre propre mini-cadre pour faire le travail de site spécifique.

Merci

1
kk4You