web-dev-qa-db-fra.com

PHP Cadre pour le service Web reposant

J'ai traversé des cercles avec cette question pendant des jours - ce qui est le meilleur PHP Framework à utiliser pour créer un service Web reposant?

J'ai chassé le Web pour info et j'ai rencontré trois facteurs principaux importants:

  • doit avoir REST Architecture intégrée dans le cadre
  • doit être une application stable
  • doit être complet en vedette

C'est peut-être que ce que je veux n'existe pas, mais je voulais vérifier avec la communauté à voir d'avoir manqué quelque chose.

Actuellement, les trois prétendants sont:

codeigniter

Est un cadre très stable avec une grande communauté et de nombreuses caractéristiques et "extensions". Le problème est que ce n'est pas reposant. J'ai trouvé un contrôleur reposant mais il y a quelques choses que je n'aime pas à ce sujet. Principalement qu'il ne semble pas utiliser correctement les méthodes HTTP selon la définition de l'architecture reposante. Je pense que cela provient des restrictions dans le noyau du CodeDInter.

yii

Encore une fois, on dirait qu'une grande communauté et qu'elle soit stable avec de nombreuses fonctionnalités, mais pas reposante.

Laravel

Un cadre qui est reposant tout droit hors de la boîte, et il a une bonne quantité de fonctionnalités. La question est que ceci est un cadre relativement nouveau, donc manque de stabilité.

D'autres cadres que j'ai envisagés:

Zend - D'après ce que j'ai lu, évitez, sauf si vous écrivez un logiciel d'entreprise.

récréation - reposant, mais semble très inactif et sous utilisé.

Mise à jour:

En fin de compte, je suis allé pour Laravel. Je ne peux pas le recommander assez! J'ai eu une apogue reposante et courante dans une semaine et aussi un simple client Web. Incroyable cadre.

6
Gaz_Edge

Zend Cadre est le choix évident, c'est le plus bien conçu, mature et stable des cadres que vous énumérez et convient parfaitement aux applications reposantes. Cela dit et bien que j'ai construit de nombreuses applications avec elle et pas seulement des applications "Enterprise", il est notoirement difficile d'obtenir le pendre et que ce ne soit peut-être pas votre tasse de thé. Il y avait un effort important pour le simplifier récemment, mais je n'avais pas été un adoptant précoce, je resterais probablement loin de là.

Consultateur, un cadre que j'ai utilisé de manière approfondie, n'est pas vraiment un bon choix. Comme vous l'avez déjà remarqué, cela n'offre pas une architecture reposante de la boîte, et vous avez tout à fait raison de supposer que la conception du noyau rend un design reposant sur mesure un peu fastidieux (l'absence d'une classe de requête HTTP vient à dérange). Ce n'est pas impossible, loin de là, mais la principale attraction de Coundigniter, sa facilité d'utilisation, devient beaucoup moins attrayante lorsque vous devez écrire des tonnes de code personnalisé pour faire des choses relativement simples que la plupart des autres cadres prennent en charge la boîte.

Ce qui nous amène à Laravel, l'ajout le plus récent à la liste infinie des cadres PHP. Je dois admettre que je ne l'ai pas utilisé de manière approfondie, mais d'après ce que j'ai vu jusqu'à présent, la stabilité n'est pas une question. C'est un peu idiomatique, mais il fournit REST hors de la boîte et éloquent, son ormes, est génial. Je suis allé avec Laravel de ma dernière application, qui comporte des composants reposants, passant de mon habituel Zend Framework + Doctrine combo, mais c'est ma première application non adressée avec le cadre et Je ne suis toujours pas à 100% à l'aise avec elle.

Si vous sentez que Zend Framework est trop pour vous, Laravel semble certainement être un prétendant digne. Si vous ne voulez pas investir dans un projet relativement nouveau, il y a une autre option que vous avez manquée dans vos recherches, symfony . Il se trouve quelque part entre Zend Cadre et Codeigniter en matière d'apprentissage de la courbe, et c'est aussi stable que possible. Le FOSRESTBUNDLE offre une base simple mais complète REST une base d'API pour symfony, et cela pourrait être exactement ce que vous recherchez.

À la fin de la journée, c'est complètement à vous et ce n'est pas une décision que vous pouvez prendre à la légère. Son cadre impose des choix architecturaux que vous devrez vivre aussi longtemps que vous l'utilisez, et pour des cadres matures de manière comparable, plus souvent que cela revient à la préférence personnelle.

Bonne chance ;)

11
yannis