Mise en cache de la configuration
La configuration de laravel s'étend sur des dizaines de fichiers, et including
chacun d'entre eux pour chaque requête est un processus coûteux. Pour combiner tous vos fichiers de configuration en un seul, utilisez:
php artisan config:cache
Gardez à l'esprit que toute modification apportée à la configuration n'aura aucun effet une fois que vous l'aurez mise en cache. Pour actualiser le cache de configuration, exécutez à nouveau la commande ci-dessus. Si vous souhaitez vous débarrasser complètement du cache de configuration, exécutez
php artisan config:clear
Mise en cache des routes Le
routage est également une tâche coûteuse dans laravel. Pour mettre en cache le fichier routes.php, exécutez la commande ci-dessous:
php artisan route:cache
Notez que cela ne fonctionne pas avec les fermetures. Si vous utilisez des fermetures, c'est une excellente chance de les déplacer dans un contrôleur, car la commande artisan lèvera une exception en essayant de compiler des routes liées à des fermetures au lieu de méthodes de contrôleur appropriées. De la même manière que le cache de configuration, toute modification apportée à routes.php n'aura plus aucun effet. Pour actualiser le cache, exécutez la commande ci-dessus à chaque fois que vous modifiez le fichier de routes. Pour vous débarrasser complètement du cache d'itinéraire, exécutez la commande ci-dessous:
php artisan route:clear
Optimisation de la carte de classe
Il n'est pas rare qu'un projet de taille moyenne soit réparti sur des centaines de fichiers PHP. Comme nous le dictent les bons comportements de codage, tout a son propre fichier. Ceci, bien entendu, n'est pas sans inconvénients. Laravel doit inclure des dizaines de fichiers différents pour chaque requête, ce qui est une opération coûteuse.
Par conséquent, une bonne méthode d'optimisation consiste à déclarer quels fichiers sont utilisés pour chaque requête (il s'agit, par exemple, de tous vos fournisseurs de services, middlewares et quelques autres) et de les combiner dans un seul fichier, qui sera ensuite chargé pour chaque requête. Ce n'est pas différent de combiner tous vos fichiers javascript en un seul, de sorte que le navigateur devra faire moins de requêtes au serveur.
Les fichiers de compilation supplémentaires (encore une fois: fournisseurs de services, middlewares, etc.) doivent être déclarés par vous dans config / compile.php, dans la clé files. Une fois que vous y avez mis tout ce qui est essentiel pour chaque demande faite à votre application, concaténez-les dans un seul fichier avec:
php artisan optimize --force
Optimisation du chargement automatique du composeur
Celui-ci n'est pas seulement pour laravel, mais pour toute application utilisant composer.
Je vais d'abord expliquer comment fonctionne le chargement automatique du PSR-4, puis je vous montrerai quelle commande vous devez exécuter pour l'optimiser. Si vous n'êtes pas intéressé par le fonctionnement de composer, je vous recommande de passer directement à la commande console.
Lorsque vous demandez à composer la App\Controllers\AuthController
classe, il recherche d'abord une association directe dans le classmap. Le classmap est un tableau avec des associations 1 à 1 de classes et de fichiers. Puisque, bien sûr, vous n'avez pas ajouté manuellement la classe Login et son fichier associé au classmap, composer continuera et recherchera dans les espaces de noms. Étant donné que App est un espace de noms PSR-4, fourni par défaut avec Laravel et associé au app/
dossier, composer essaiera de convertir le nom de la classe PSR-4 en nom de fichier avec des procédures de manipulation de chaîne de base. En fin de compte, il suppose que cela App\Controllers\AuthController
doit être situé dans un fichier AuthController.php, qui se trouve dans un Controllers/
dossier qui devrait heureusement se trouver dans le dossier de l'espace de noms, qui est app/
.
Tout ce travail acharné uniquement pour obtenir que la App\Controllers\AuthController
classe existe dans le app/Controllers/AuthController.php
fichier. Pour que le compositeur analyse l'intégralité de votre application et crée des associations directes 1 à 1 de classes et de fichiers, exécutez la commande suivante:
composer dumpautoload -o
Gardez à l'esprit que si vous avez déjà exécuté php artisan Optimize --force, vous n'avez plus besoin d'exécuter celui-ci. Étant donné que la commande d'optimisation indique déjà au compositeur de créer un chargement automatique optimisé.