J'avais l'habitude de développer des projets avec PHP uniquement, sans framework.
Différentes classes, fonctions, etc.
Jusqu'à ce que cela devienne un véritable désastre et que je cherche quelque chose de plus structurel.
Laravel est venu dans mon voyage et je l'ai adoré.
Avoir enfin une manière structurée d'écrire des projets avec des structures Modèle, Vue et Contrôleur avec le moteur Blade et l'élégant modèle Eloquent.
Le problème
Le problème est le suivant : les projets que j'ai créés avant 2015 avec PHP4 et PHP5 fonctionnent toujours (je suis simplement passé de mysql à mysqli ou PDO). Même si je les mets à niveau vers PHP7 ou PHP8.
Mes projets Laravel sont devenus des monstres qui nécessitent des soins personnels tous les six mois dans les schémas de mise à jour stricts de Laravel et PHP.
- La mise à jour vers une nouvelle version de Laravel prend entre 15 minutes et 1 à 2 heures, selon Laravel.
- En réalité, les choses se gâtent. En particulier, les packages tiers ne peuvent pas suivre le calendrier de mise à niveau serré de Laravel.
- Un exemple est la mise à niveau de Laravel 6 vers Laravel 7. Laravel 7 prend en charge PHP8, tandis que certains packages propriétaires comme Telescope version 3.* ne fonctionnent qu'avec PHP7. Et certains packages tiers ne fonctionnent qu'avec Laravel 7 et PHP8. Cela rend le passage d'une version à l'autre très difficile.
- Même les packages propriétaires disparaissent rapidement. Le substitut requis n'est pas toujours le meilleur. Par exemple, Laravel Breeze au lieu du package laravel/ui.
Ce n’est pas tenable pour un entrepreneur indépendant ou individuel.
C'est aussi probablement l'une des raisons pour lesquelles ce développeur Laravel estime que plus de 60% de sites Laravel exécutent une version datant de plus de 2 ans.
Tout fonctionne avec des sous-fonctionnalités qui changent.
Par exemple, la compilation de vos feuilles de style doit se faire avec : Gulp/Elixir en 2015, puis avec Mix, maintenant avec Laravel Vite.
Lors de l'exécution de npm run, une erreur est généralement générée et vous devez la déboguer.
Je vois le problème, Laravel est toujours amusant pour les grands projets et les organisations.
Et oui, pour la plupart des projets, il est probablement encore plus facile de s'appuyer sur un excellent modèle que de partir de zéro.
Mais pour les petites organisations qui ont peu de développeurs, il est assez difficile de tout mettre à jour.
Laravel Shift est-il la solution ?
Changement de Laravel cela pourrait aider, mais avec un prix de $29 par mise à niveau, ce n'est pas trop cher si vous prenez en compte les prix élevés de la programmation commerciale occidentale.
Pour les pays moins développés et les personnes disposant de moins de ressources financières, la mise à niveau d'une application de quelques versions vers la version la plus récente de Laravel peut facilement coûter quelques centaines de dollars.
Le génial de Laravel
Je ne veux pas que cet article paraisse trop négatif.
Il s'agit simplement d'un souhait des utilisateurs et des développeurs de Laravel de peut-être lancer un brainstorming pour savoir s'il existe un moyen de garder le noyau moins variable ou plus résilient aux futures mises à niveau de PHP, ce qui, espérons-le, aboutirait à des sites plus à jour avec la dernière version de PHP (et de Laravel).
Quoi qu'il en soit, je ne vois pas la solution parfaite. Je comprends qu'une application web demande un certain soin.
Peut-être une version de support à long terme (LTS) plus simple qui ne tombe pas en panne tous les six mois avec des fonctionnalités de base plus robustes.
Pour résumer, Laravel présente de nombreux avantages :
- Moins de spaghetti-code
- Excellente structure
- Autant d'options et de packages propriétaires. Comme Vapor pour le sans serveur, Cashier pour la facturation, etc.
- Grande communauté
Avez-vous d'autres suggestions ? N'hésitez pas à les laisser dans les commentaires.