Maison  >  Article  >  cadre php  >  Quels sont les inconvénients de Laravel

Quels sont les inconvénients de Laravel

青灯夜游
青灯夜游original
2022-02-14 13:58:284625parcourir

Les inconvénients du framework laravel sont : 1. Le framework basé sur les composants est relativement volumineux ; 2. Le framework est volumineux et moins efficace que les petits frameworks tels que yaf 3. Le framework est complexe et plus lent à démarrer que l'ordinaire ; cadres et le coût d’apprentissage est élevé.

Quels sont les inconvénients de Laravel

L'environnement d'exploitation de ce tutoriel : système Windows 7, version Laravel 6, ordinateur Dell G3.

laravel framework

Laravel est un framework de développement Web PHP simple et élégant (PHP Web Framework). Il peut vous libérer des codes désordonnés comme les nouilles ; il peut vous aider à créer une application réseau parfaite, et chaque ligne de code peut être concise et expressive.

Avantages

  • Documentation riche

  • Un grand nombre de bibliothèques open source tierces

  • Mécanismes de sécurité complets (vérification de formulaire, etc.)

  • Middleware et routage filtrent et contrôlent l'accès pour éviter les demandes illégales

  • Mécanisme convivial de gestion des erreurs

  • Prise en charge de l'outil de gestion des packages Composer

  • Il intègre les fonctionnalités relativement nouvelles de PHP et divers modèles de conception.

Inconvénients :

  • Basé sur un framework basé sur des composants, il est relativement volumineux

  • Les performances seront inférieures à celles des petits frameworks tels que yaf

  • Il est plus compliqué et plus lent à commencez que les frameworks ordinaires Framework Quelques avantages par rapport aux autres frameworks PHP. Ces avantages font sans aucun doute du framework Laravel l’un des principaux prétendants au meilleur framework PHP.

1. Authentification utilisateur prête à l'emploi

Le framework Laravel fournit une fonctionnalité d'authentification utilisateur prête à l'emploi. Toute application Web moderne nécessite une authentification de l'utilisateur et, grâce au framework Laravel, vous n'avez pratiquement rien à faire pour la configurer. Lorsque vous configurez l'authentification des utilisateurs, le framework Laravel crée tous les composants importants tels que le modèle utilisateur, les contrôleurs d'enregistrement et de connexion et les vues correspondantes. Et à l’avenir, il sera très facile d’étendre ces composants à de nouvelles fonctionnalités basées sur la logique métier requise par l’application. De plus, le framework Laravel fournit également le package Socialite (package d'extension), qui permet à votre application d'authentifier les utilisateurs utilisant divers réseaux sociaux (tels que Facebook, Google Plus et Twitter). Pour que cela fonctionne, vous n'avez besoin que d'une configuration minimale.

2. Convention sur configuration (également appelée programmation par convention)

Le framework Laravel adopte également l'approche « convention sur configuration ». Cela signifie essentiellement que si les conventions de dénomination des différents composants sont respectées, il y a peu d'efforts de configuration à prévoir. Si vous suivez la convention de dénomination, le framework Laravel lui-même s'occupera de nombreux détails de bas niveau pour vous, et tout commencera à fonctionner comme par magie. Si vous avez programmé en PHP traditionnel, cela peut sembler écrasant au début. Mais une fois que vous y aurez goûté, vous ne voudrez plus jamais regarder en arrière.

3. Fonctionnalité de messagerie facile à utiliser

Il est difficile d'imaginer une application moderne sans fonctionnalité de messagerie. La mise en œuvre de la fonctionnalité d'envoi d'e-mails est très simple grâce au framework Laravel. En plus des fonctionnalités de messagerie SMTP et Php, le framework Laravel prend également en charge une variété de services de notification par e-mail tels que Mailgun, Mandrill, SparkPost, Amazon SES, SendMail, etc. Ces services vous permettent de commencer rapidement à envoyer des e-mails via des services locaux ou basés sur le cloud. Vous pouvez également utiliser Nexmo pour envoyer des notifications via Slack et SMS. Tous ces services sont disponibles directement dans le framework Laravel. Le framework Laravel prend également en charge Markdown dans les modèles d'e-mails (Note du traducteur : Markdown est un outil de conversion texte en HTML), ce qui vous permet de créer des e-mails en très peu de temps.

4.Commande Artisan

Pour moi personnellement, la ligne de commande Artisan est la fonction la plus concise et la plus utile fournie par le framework Laravel. Artisan est une interface de ligne de commande pour le framework Laravel qui aide les développeurs à automatiser de nombreuses tâches à l'aide de la ligne de commande elle-même. Les commandes Artisan peuvent être utilisées dans l'application elle-même, ou les développeurs peuvent créer des commandes Artisan supplémentaires.

Chaque tâche courante à laquelle vous pouvez penser, vous pouvez trouver une commande Artisan qui lui correspond. Par exemple, créez un modèle, créez un contrôleur, créez une graine de base de données, migrez la base de données, etc. La liste est interminable. Je dis que c'est "concis" car il suffit de passer la commande et le framework Laravel s'occupe du reste.

5. Automatisation des tests du "Test Driven Development"

Le framework Laravel prend en charge PHPUnit, ce qui rend très facile le test des applications PHP à l'aide du modèle de « développement piloté par les tests ». Il devient facile d'écrire des tests unitaires pour votre application et de garantir que les choses fonctionnent comme vous le souhaitez.

6. Clean Dependency Injection

Une fois que vous aurez commencé à travailler avec le framework Laravel, vous vous rendrez rapidement compte que le framework Laravel est inspiré de Ruby on Rails et de langages plus fonctionnels, plutôt que de Java . Cela se voit facilement à la manière dont le framework Laravel gère l'injection de dépendances. Bien que la mise en œuvre de l'injection de dépendances puisse suivre des modèles complexes, le framework Laravel adopte l'approche opposée et fournit un moyen simple de créer des fonctions d'assistance globales. Avec l'aide des fonctions globales et des proxys statiques Faade, nous pouvons facilement implémenter l'injection de dépendances partout où cela est nécessaire.

7. Séparation de la logique métier et du code d'affichage

Laravel suit le modèle architectural Model-View-Controller (MVC) pour séparer la logique métier des vues. Cette approche présente de nombreux avantages. Pour vraiment comprendre ses avantages, vous devez comprendre ce qu'est le modèle MVC et si votre application nécessite une telle architecture.

8. Implémentation Eloquent ORM (Object Relational Mapping)

Eloquent est l'implémentation ORM (Object Relational Mapping) fournie par Laravel. Pour plus d'informations, veuillez consulter le lien dans Wikipédia (https://en.wikipedia.org/wiki/Object-relational_mapping). Eloquent permet d'obtenir très facilement des données de la base de données. Il devient également simple de créer des relations entre les tables et d'obtenir des données de ces tables. Eloquent vous permet également de créer diverses connexions à vos tables et fournit de nombreuses fonctions d'assistance qui simplifient grandement l'interaction avec la base de données. Vous devez rarement écrire des requêtes ou des fonctions SQL. Grâce à l'ORM Eloquent, le framework Laravel peut fournir une prise en charge prête à l'emploi pour les bases de données suivantes :

MySQLPostgreSQLSQLiteSQL Server Vous avez tout à fait raison, cela signifie essentiellement que tant que vous utilisez Eloquent, vous n'êtes pas obligé de le faire. vous inquiétez de la compatibilité des bases de données ci-dessus. Il est également très simple de passer d'une base de données à une autre. Essayez maintenant d'imaginer l'évolutivité que cela apporte à votre application, laissez-moi vous expliquer cela avec un exemple. Disons que vous disposez d'une application qui démarre avec une petite base d'utilisateurs. Étant donné que le nombre d’utilisateurs est faible et que l’application en est à ses balbutiements, vous décidez d’utiliser MySQL comme base de données. Après un certain temps, le nombre d'utilisateurs de votre application atteint un niveau considérable et vous devrez peut-être désormais passer à une base de données SQL Server. Grâce à l'utilisation d'Eloquent, ce changement est désormais aussi simple que de modifier des détails de configuration spécifiques dans le framework Laravel.

9. File d'attente et planificateur

Lors du développement d'applications, certaines tâches prennent généralement du temps. Ces tâches doivent être reportées à plus tard afin de ne pas bloquer le flux de l'utilisateur. Un exemple parfait de ce type de tâche pourrait être la génération d'un rapport PDF qui compte les demandes des utilisateurs pour créer un fichier CSV. Le service de file d'attente du framework Laravel fournit une API unifiée pour reporter ces tâches à une date ultérieure dans l'application.

En parlant du planificateur de commandes du framework Laravel, c'est le remplacement parfait pour ces tâches planifiées encombrantes (Cronjob). Souvent, les développeurs doivent configurer des tâches planifiées pour des tâches spécifiques. Un parfait exemple de ce genre de tâche est d’envoyer à tous les abonnés une newsletter hebdomadaire (Newsletter) à laquelle ils sont abonnés. Afin de configurer cette tâche cron, le développeur doit se connecter au serveur à l'aide des commandes SSH et configurer la tâche cron au niveau du système d'exploitation. Cela peut devenir un problème au fil du temps car ces tâches cron ne peuvent pas faire partie de la gestion de GIT et d'autres systèmes de contrôle de version. Mais le planificateur de commandes du framework Laravel fournit une API propre utilisant des fonctions intégrées pour planifier une variété de tâches. De cette façon, vous n'avez pas besoin d'utiliser des commandes SSH pour vous connecter au terminal du serveur, et toutes ces tâches planifiées font partie du code et sont incluses dans la portée du système de contrôle de version.

10. Routage simple

La façon dont le framework Laravel gère le routage est simple et intuitive. Il existe un seul fichier web.php qui gère tout le routage Web. Si certaines routes nécessitent un middleware commun, elles peuvent être facilement regroupées dans Laravel.

Un cas d'utilisation parfait pour le routage est celui de certaines pages de votre application qui nécessitent une authentification de l'utilisateur avant que l'utilisateur puisse les consulter. Le framework Laravel peut regrouper toutes ces pages, et elles sont vérifiées par le middleware d'authentification pour garantir que seuls les utilisateurs connectés au système peuvent afficher ces pages. Le framework Laravel fournit également une liaison de modèle d'itinéraire concise, dans laquelle les modèles peuvent être liés aux itinéraires. Avec cette aide, la vue peut être renvoyée directement depuis l'itinéraire lui-même sans même avoir besoin d'accéder au contrôleur.

11. Composer gère les dépendances

Le framework Laravel utilise Composer pour gérer les dépendances et le chargement automatique. Composer vous aide à installer les packages d'extension Laravel, ce qui facilite la gestion des dépendances. À tout moment, vous pouvez consulter le fichier package.json pour voir toutes les dépendances utilisées par votre application. Composer vous permet également de mettre à jour les dépendances à l'aide d'une seule commande Composer.

12.Moteur de modèles Blade

Blade est le moteur de modèles du framework Laravel. Blade vous donne une longueur d'avance dans la séparation des vues et de la logique métier. Cela garde votre code de vue très propre. Une fois que vous aurez une compréhension claire du modèle architectural MVC et de sa mise en œuvre par Laravel, vous comprendrez plus clairement l'importance du moteur de modèle Blade. Blade fournit également l'héritage de modèles, vous pouvez donc diviser votre modèle le plus récemment utilisé en parties et faire en sorte que d'autres fichiers de vue héritent de ces parties. Avec l'aide de Blade, vous pouvez créer des parties logiquement plus petites d'une vue qui peuvent ensuite être incluses pour former une vue complète.

13. Documentation

C'est un peu une zone grise. Lorsque j’ai commencé à utiliser le framework Laravel, j’ai vraiment eu du mal à trouver de la documentation. Tout cela n'était pas documenté, mais à un moment donné, j'ai soudainement remarqué que quelque chose commençait à fonctionner comme par magie, et c'est à ce moment-là que tout le monde a commencé à suivre les conventions de dénomination. Il existe désormais des documents API qui répertorient chaque classe et méthode déclarée dans le framework Laravel. Une fois que vous aurez compris et que vous saurez comment utiliser la documentation Laravel à votre avantage, je vous garantis que vous n'aurez plus aucune plainte.

14. Communauté active

Laravel a une communauté active. Lorsque vous rencontrez un problème, vous pouvez effectuer une recherche et vous trouverez sûrement de nombreux articles StackOverflow correspondant à votre problème. En plus d'une communauté active sur StackOverflow, il existe également un forum de discussion appelé Laracast. Vous pouvez vous inscrire gratuitement pour faire partie du forum et de la communauté Laracast, qui est très active en ce moment.

Je pense que ces avantages sont suffisants pour vous enthousiasmer pour le framework Laravel. Bien que le définir comme parfait soit certainement une exagération, je peux certainement dire que le framework Laravel est certainement l'un des meilleurs frameworks PHP.

Recommandations associées : Les cinq derniers didacticiels vidéo Laravel

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn