Maison >développement back-end >tutoriel php >Avantages et inconvénients de l'utilisation d'un framework PHP : est-ce fait pour vous ?
Du routage des requêtes HTTP à l'accès aux bases de données et au rendu des interfaces utilisateur, la plupart des applications Web ont beaucoup en commun les unes avec les autres. Beaucoup d'entre eux permettent aux visiteurs de se connecter, et il est difficile d'imaginer une application Web sans livraison d'e-mails.
Les frameworks logiciels sont un moyen de mettre en pratique cette observation.
En extrayant les caractéristiques communes et l'architecture sous-jacente d'une application et en les regroupant dans une collection de modèles et de bibliothèques réutilisables, les frameworks permettent aux développeurs de se concentrer sur ce qui distingue leurs projets.
En fait, lorsque vous utilisez un projet précédent comme modèle au lieu de repartir de zéro, vous utilisez déjà un framework temporaire. Les frameworks PHP populaires tels que Laravel, Yii ou Symfony poussent cette approche jusqu'à sa conclusion logique en se concentrant sur la conception de l'architecture et des outils du framework, puis en le mettant à la disposition d'autres développeurs pour qu'ils l'utilisent dans leurs projets.
Mais utiliser un framework est-il toujours la meilleure approche ? Ou est-il parfois judicieux d’utiliser simplement du PHP pur et de repartir de zéro ?
Pour répondre à cette question, dans ce tutoriel, nous examinerons cinq avantages et inconvénients de l'utilisation des frameworks PHP.
Voyons d'abord comment l'utilisation d'un framework PHP peut vous aider dans le développement d'applications.
Dans le monde des startups d’aujourd’hui, basé sur l’expérimentation, le prototypage rapide et la mise sur le marché d’un produit minimum viable le plus rapidement possible, la vitesse de développement peut faire ou défaire votre entreprise.
L'utilisation d'un framework PHP est un moyen de répondre à cette exigence.
Un framework PHP bien conçu sélectionne les meilleures implémentations de problèmes courants de la communauté open source et s'appuie sur elles pour vous fournir une architecture d'application (basée sur le modèle Modèle-Vue-Contrôleur dans la plupart des cas) pour guider votre développement.
De cette façon, vous n'avez pas besoin de passer du temps à planifier l'architecture de votre application et à évaluer les différentes bibliothèques disponibles, mais commencez avec un modèle entièrement fonctionnel et créez directement des fonctionnalités spécifiques à votre application. De nombreux frameworks PHP sont également livrés avec des outils de ligne de commande que vous pouvez utiliser pour générer du code et gagner encore plus de temps de développement.
Tout en accélérant le développement, les frameworks vous rendent également plus sûr : vous travaillez rapidement, mais pas en utilisant des solutions rapides et sales, mais en utilisant des bonnes pratiques éprouvées et des composants prêts à l'emploi à mettre en œuvre.
Les solutions incluses dans le framework PHP moderne sont continuellement testées, évaluées par des pairs et validées par plusieurs développeurs utilisant le framework. Le framework étant open source, les problèmes de sécurité et autres problèmes que vous pourriez ignorer dans le code propriétaire sont rapidement détectés et résolus.
Cela dit, il est important de rappeler que l’utilisation d’un framework ne signifie pas que l’on peut oublier la sécurité et les bonnes pratiques de développement. Assurez-vous d'utiliser le framework comme prévu, de le maintenir à jour et de faire votre part dans des tâches telles que la validation des paramètres - ce n'est pas si difficile avec les outils du framework.
En fournissant une structure solide à votre application et en vous poussant à adopter les meilleures pratiques et modèles de développement logiciel, les frameworks PHP vous guideront dans l'écriture d'un code faiblement couplé et comportant le moins de duplication possible. En d’autres termes, il est facile à lire, à tester, à maintenir et à développer.
Presque tous les frameworks PHP populaires aujourd'hui sont orientés objet et développés en pensant aux tests automatisés et même au développement piloté par les tests.
Vous devez encore faire votre part. Mais plutôt que de repartir de zéro, il est certainement utile d'avoir un framework et sa documentation pour rappeler ces concepts et vous pousser à les utiliser.
Une autre façon d'utiliser un framework pour faciliter la maintenance des applications consiste à utiliser ses composants partagés. Étant donné que les bibliothèques et les assistants du framework sont développés indépendamment de votre application, vous pouvez confier une grande partie de la maintenance de votre application aux développeurs du framework.
D'une certaine manière, c'est comme avoir une équipe de développeurs travaillant gratuitement pour vous !
En tant que développeur, vous connaissez vos classes et fonctions et pouvez les utiliser facilement. Mais lorsque vous faites appel à des membres de l’équipe, les choses changent.
Sans connaissance de vos décisions de conception et d'une documentation complète (avouons-le : surtout dans un monde de développement rapide, la documentation est souvent une réflexion après coup), ils auront du mal à comprendre le code de votre application.
L'utilisation d'un framework PHP aidera les nouveaux développeurs à commencer à travailler plus facilement sur des projets. Ils connaissent probablement déjà le framework et peuvent concentrer toute leur attention sur la compréhension des détails de l’application. Même si le framework est nouveau pour eux, la documentation, les didacticiels en ligne et les modèles de conception familiers les aideront à se mettre à niveau avec un minimum d'effort.
En attendant, vous pouvez continuer à développer votre application au lieu d'enseigner aux développeurs votre façon de penser.
Enfin, un avantage important de l'utilisation des frameworks PHP vient des communautés actives de développeurs et d'utilisateurs qui se rassemblent autour d'eux. p>
Tous les principaux frameworks attirent des contributeurs open source qui, en plus de travailler sur le framework lui-même, développent d'autres widgets, bibliothèques et composants d'assistance que d'autres peuvent inclure dans leurs applications. D'autres contributeurs écrivent des didacticiels et des livres ou créent des vidéos expliquant en détail la façon dont ils utilisent le framework dans des projets du monde réel.
En faisant partie d'une telle communauté de développeurs, vous grandirez en tant que développeur, apprendrez rapidement et appliquerez ce que vous apprenez au développement d'applications.
Si vous le souhaitez, vous pouvez redonner et participer à des projets open source de la manière qui vous semble naturelle et épanouissante.
Maintenant que nous avons vu comment l'utilisation d'un framework PHP peut vous aider dans le développement, examinons ses inconvénients et pourquoi parfois ne pas utiliser un framework PHP pourrait être une meilleure option.
Par rapport à l'exécution d'un simple script PHP, les frameworks PHP ajoutent toujours de la complexité et de la surcharge sous la forme de classes et de bibliothèques qui sont chargées avant d'appeler le code. Pour les scripts rapides et les API dotés d’un ensemble de fonctionnalités limité qui doivent s’exécuter rapidement, cette différence peut être significative.
Cependant, dans la plupart des applications Web, l'impact sur l'efficacité d'un framework dépend davantage de la façon dont vous l'utilisez que du framework lui-même. Par exemple, même si l'implémentation d'Active Record constitue un moyen pratique d'accéder à une base de données, il ne sert à rien de l'utiliser lorsque plusieurs lignes de la base de données doivent être traitées simultanément.
Il s'agit donc de comprendre les besoins de l'application mais de ne pas se permettre de s'attarder sur une manière spécifique de l'utiliser. Parfois, même lorsque vous utilisez un framework, il est logique de contourner et d’écrire du code à un niveau d’abstraction inférieur.
L'idée du framework PHP est d'être une solution universelle aux besoins répétitifs que la plupart des développeurs rencontreront lors du développement d'applications Web. Mais où tracer la frontière entre ce qui est inclus dans le framework et ce qui reste à l’application (ou au module complémentaire tiers) à mettre en œuvre ?
Selon certains développeurs, c'est là que de nombreux frameworks tournent mal.
Rasmus Lerdorf, le créateur de PHP, a dit un jour :
"Personne n'a de problème universel. Tout le monde a un problème très spécifique qu'il souhaite résoudre. Les frameworks génériques, même s'ils peuvent résoudre ce problème, le font généralement d'une manière qui vous laisse avec beaucoup d'autres choses dont vous n'avez pas besoin. . Corrigez-le. Finalement, chaque demande sera complétée. "
Donc, si vous décidez d'utiliser un framework, assurez-vous toujours d'en choisir un qui correspond aux besoins de votre application.
Bien que la plupart des frameworks soient basés sur un chargement paresseux et n'incluent pas de parties du framework qui ne sont pas utilisées par l'application, la complexité supplémentaire est toujours là, entraînant des modifications inutiles lors de la suppression des fonctionnalités fournies avec le framework, mais vous ne le faites pas. besoin.
Même si un framework PHP vous pousse à écrire du bon code, il ne garantit pas que cela se produira. Si vous utilisez un framework sans le comprendre ni les modèles de conception qui le sous-tendent, vous risquez de vous retrouver avec un gros gâchis structuré.
Pour les personnes qui connaissent déjà ces principes de conception issus d'autres frameworks ou projets, la courbe d'apprentissage sera relativement courte. Pour les développeurs moins expérimentés, la courbe d’apprentissage sera plus longue. Sans parler de la maîtrise du framework.
Donc, si vous êtes pressé et que votre projet est petit, ce n'est peut-être pas le moment de commencer à apprendre un nouveau framework. Au lieu de cela, envisagez d'utiliser un microframework ou même de repartir de zéro et d'utiliser certaines bibliothèques que vous connaissez.
Ensuite, prenez le temps d'apprendre un framework PHP complet lorsque votre emploi du temps le permet.
L'utilisation de frameworks logiciels peut amener le développement de votre application à un niveau d'abstraction supérieur. C'est intentionnel et c'est généralement une bonne chose. Cependant, il est bon de réaliser que cela peut aussi causer des problèmes.
Bien que de nombreuses parties du modèle de framework nécessitent une personnalisation, le cœur du framework et ses bibliothèques sont comme une boîte noire avec laquelle vous pouvez travailler mais sur laquelle vous n'avez pas beaucoup de contrôle. Vous pouvez suggérer des améliorations, mais en fin de compte, ce sont les développeurs du framework qui décident d'inclure ou non le changement.
De plus, si vous commencez à utiliser un framework avant de bien comprendre le langage PHP lui-même, vous risquez de confondre les fonctionnalités du framework avec les fonctionnalités du langage, et finir par utiliser les fonctionnalités du framework même si le PHP pur est un meilleur choix.
Un framework est toujours une dépendance externe de votre application - un code contrôlé par des tiers en dehors de vous et de votre équipe. Bien que cela ne pose généralement pas de problème, il convient de déterminer si le logiciel que vous créez constitue un élément essentiel de votre entreprise.
Demandez-vous ce que vous feriez si le développement du framework était abandonné ou allait dans une direction que vous ne vouliez pas suivre.
Un bon moyen de réduire ce risque est d'utiliser des frameworks fiables et populaires avec des communautés de développeurs et d'utilisateurs actives. Mais même ainsi, cela vaut la peine de réfléchir à ceci : les avantages de l’utilisation d’un framework sont-ils suffisants pour valoir le risque ?
Un framework PHP moderne est un outil puissant dans la boîte à outils d'un développeur de logiciels : il peut vous faire gagner beaucoup de temps et d'efforts et vous offrir une tranquillité d'esprit lors du développement d'applications PHP. N'oubliez pas que cela ne doit pas remplacer l'apprentissage de base de PHP en premier !
Cependant, la clé de la conclusion ci-dessus est de choisir le bon outil pour le travail. Chaque projet est différent, et même un cadre qui fonctionne pour un projet peut ne pas convenir au suivant. Visez la simplicité et demandez-vous si un framework complet est adapté au projet, ou si l'utilisation d'un micro-framework comme Lumen est une meilleure solution.
Partir de zéro en utilisant PHP simple est rarement la meilleure option, mais cela vaut également la peine d'être pris en compte lors du développement d'une application très simple (comme un site Web sans beaucoup d'interactivité) - et rappelez-vous, vous pouvez toujours le faire en utilisant Composer Sélectionnez une bibliothèque de votre choix pour le prolonger.
Lorsque vous choisissez un framework, assurez-vous que le framework que vous choisissez est activement développé et pris en charge et qu'il suit de bonnes pratiques d'ingénierie logicielle. De cette façon, vous vous assurez que le framework sous-jacent ne meurt pas tranquillement, garantissant ainsi la pérennité de votre application.
Enfin, même si vous décidez de ne pas en utiliser, c’est une bonne idée de vous familiariser avec un ou plusieurs frameworks PHP modernes. Les étudier est un excellent moyen d’apprendre et d’améliorer vos compétences en développement logiciel et de vous aider à garder une longueur d’avance dans le monde en constante évolution du développement PHP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!