L’optimisation des performances au sein de notre code PHP n’est pas toujours une préoccupation majeure, mais notre code backend, en particulier nos opérations les plus complexes, peut avoir un impact sur les temps de requête de nos sites de l’ordre de dizaines, voire de centaines de millisecondes. Cela peut sembler peu, mais quelques centaines de millisecondes peuvent signifier une énorme différence dans la rapidité perçue de vos applications.
Que vous en soyez conscient ou non, la logique de routage dans Laravel 4 et les versions antérieures – d’autant plus que vous avez de plus en plus de routes dans votre application – était l’un de ces endroits pour les goulots d’étranglement des performances. Un site avec seulement quelques centaines de routes pouvait, dans le passé, perdre jusqu’à une demi-seconde juste pour que le framework enregistre ces routes. N’ayez plus peur, comme Laravel 5 introduit mise en cache de l’itinéraireoptimisant les performances de vos routes (à l’exception des routes de fermeture, il est donc temps de toutes les déplacer vers les contrôleurs).
Utilisation de la mise en cache d’itinéraire
Honnêtement, il n’y a pas beaucoup à utiliser cette fonctionnalité. Il y a une nouvelle commande Artisan, route:cache
qui sérialise les résultats de votre routes.php
fichier – il effectue l’opération d’analyse des routes une fois puis stocker ces résultats. Un peu comme pré-compiler un modèle de guidon, si vous l’avez déjà fait auparavant.
C’est ça! Maintenant, vos itinéraires sont analysés à partir du fichier mis en cache, et non de votre fichier d’itinéraires. Vous pouvez apporter toutes les modifications que vous souhaitez routes.php
et le routage de votre application ne changera pas tant que vous ne l’aurez pas remis en cache.
Avantages et inconvénients
Les avantages sont assez clairs : votre site devient plus rapide.
Les inconvénients, cependant, doivent être notés : une fois que vous avez mis en cache les routes du site une fois, vous devrez maintenant remettre en cache vos routes chaque fois que vous apportez des modifications à routes.php
, sinon les modifications ne s’afficheront pas. Cela pourrait semer la confusion chez les nouveaux développeurs, ou même chez vous si vous oubliez que vous utilisiez la mise en cache.
Heureusement, il y a deux choses qui peuvent vous aider ici. Tout d’abord, vous pouvez exécuter artisan route:clear
, et artisan supprimera votre cache de route. Deuxièmement, vous pouvez envisager seul mise en cache sur votre serveur de production. Peut-être seulement courir artisan route:cache
en tant que crochet post-déploiement dans Git, ou exécutez-le simplement dans le cadre de votre processus de déploiement Forge.
Konklużjoni
L’avantage de performance de la mise en cache des itinéraires ne vaut peut-être pas la confusion potentielle pour vous. Si c’est le cas, vous pouvez prétendre que cela n’existe pas. Mais pour les groupes avec des processus de déploiement plus gérés, l’idée de quelque chose d’aussi simple réduisant d’une demi-seconde ou plus le temps de chargement à chaque page est énorme.