Optimiser l'autoloader du compositeur à l'aide de Composer Install - Optimize-Autoloader --No-Dev et Composer Dump-Autoload --Classmap-Authoritative pour accélérer la charge de classe. 2. Configuration du cache et routes en production avec PHP CONFIG CONFIG: CACHE ET PHP Artisan Route: Cache pour réduire la surcharge bootstrap. 3. Optimiser les performances de la base de données en utilisant un chargement désireux pour empêcher N 1 requêtes, en ajoutant des index sur des colonnes fréquemment interrogées et en cache des requêtes co?teuses avec Cache :: Remember (). 4. Utilisez Laravel Octane avec Swoole ou Roadrunner pour garder l'application en mémoire, éliminant le temps de démarrage et permettant un débit élevé pour les API et la circulation intense. 5. Optimiser les actifs frontaux en compilant et en versioning avec un mélange ou un VITE, en minimisant CSS / JS, en permettant une compression GZIP / Brotli et en tirant parti de la mise en cache du navigateur. 6. Déchargez les taches lourdes comme les e-mails et le traitement de fichiers dans les files d'attente en utilisant PHP Artisan Fitre: Travaillez et gérez les travailleurs avec superviseur pour de meilleures performances. 7. Activer Opcache en PHP avec des paramètres appropriés dans php.ini pour stocker les scripts précompilés et désactiver la validation horodato dans la production pour une exécution plus rapide. 8. Modèles de lame de cache utilisant PHP Artisan View: Cache pour éviter la recompilation à chaque demande et améliorer la vitesse de rendu. 9. Réduisez les frais généraux du middleware en supprimant le middleware inutile, en évitant la logique lourde dans le middleware global et en utilisant des middleware paresseux ou spécifiques à l'itinéraire si possible. 10. Surveiller les performances à l'aide d'outils tels que Laravel Telescope, Debugbar ou APM Solutions telles que New Relic et Datadog pour identifier les requêtes lentes, les fuites de mémoire et les appels redondants, garantissant une optimisation continue par mesure et raffinement.
Laravel est puissant et adapté aux développeurs, mais à mesure que votre application se développe, les performances peuvent devenir une préoccupation. Voici des conseils d'optimisation pratiques qui peuvent améliorer considérablement la vitesse et l'efficacité de votre application Laravel.

1. Optimiser l'autoloader et le compositeur
L'autoader du compositeur peut ralentir votre application si elle n'est pas optimisée, en particulier dans la production.
Courir:

Composer Install - Optimize-Autoloader --No-Dev
Ce:
- Déverse un autoloader optimisé (utilise des cartes de classe pour une recherche plus rapide)
- Exclut les dépendances du développement
Envisagez également d'utiliser ClassMap faisant autorité pour une mise à jour encore plus rapide:

compositeur Dump-Autoload - Classmap-Authoritative
2. Configuration et routes du cache
Chaque fois que Laravel bottes, il charge les fichiers de configuration et les routes d'analyse. La mise en cache réduit les frais généraux.
Cache Config:
PHP Artisan Config: Cache
Routes de cache:
PHP Artisan Route: Cache
?? Les exécuter uniquement en production. Pendant le développement, utilisez
config:clear
etroute:clear
au besoin.
3. Optimiser les requêtes de base de données
Les requêtes lentes sont un goulot d'étranglement commun.
Utiliser un chargement avide
évitez n 1 requêtes en préchargement des relations:
// mauvais: n 1 problème $ Posts = Post :: all (); foreach ($ messages comme $ post) { echo $ post-> utilisateur-> nom; } // bon: charge avide $ Posts = Post :: avec ('utilisateur') -> get ();
Ajouter des index
Assurez-vous que les colonnes de base de données utilisées dans WHERE
, JOIN
ou ORDER BY
les clauses sont indexées.
Utilisez la mise en cache de requête (le cas échéant)
Pour des requêtes co?teuses et rares:
$ utilisateurs = Cache :: Remember ('Users.active', 3600, function () { RETOUR USER :: WHERE ('actif', 1) -> get (); });
4. Utilisez Laravel Octane (pour des performances élevées)
Laravel Octane démarre une fois votre application et la maintient en mémoire en utilisant Swoole ou Roadrunner.
Avantages:
- élimine le temps de démarrage à chaque demande
- Gère des milliers de demandes par seconde
- Idéal pour les API et les applications très trafiques
Installer via:
Le compositeur a besoin de laravel / octane PHP Artisan Octane: Installer PHP Artisan Octane: Start
Remarque: nécessite une configuration supplémentaire (par exemple, extension Swoole) et une manipulation minutieuse de l'état partagé.
5. Optimiser les actifs et le frontend
Même les optimisations du backend n'aideront pas si le frontend est lent.
- Utilisez
mix()
ouvite()
avec le versioning en production - Minifant CSS / JS
- Activer la compression GZIP / Brotli sur votre serveur Web
- Levier de mise en cache du navigateur avec des en-têtes appropriés
Exécuter en production:
NPM Run Build
6. Utilisez des travailleurs de file d'attente pour des taches lourdes
Déplacez les taches longues (e-mails, traitement de fichiers, notifications) dans les files d'attente.
Utilisez la base de données, Redis ou Amazon SQS:
PHP Artisan Fitre: travail - Daemon
Mieux encore, utilisez le superviseur pour gérer les travailleurs de longue date.
7. Activer OPCACHE (PHP)
OPCACH stocke Bytecode de script précompilé en mémoire, éliminant l'analyse / compilation sur chaque demande.
Assurez-vous qu'il est activé dans php.ini
:
opcache.enable = 1 opcache.memory_consumption = 256 opcache.max_accelerated_files = 20000 opcache.validate_timestamps = 0; Réglé sur 1 en développement
Définissez
validate_timestamps=0
en production pour empêcher les vérifications de fichiers (effacer manuellement après le déploiement).
8. Vues du cache et modèles de lame
La compilation de lame peut être mise en cache:
Vue d'artisan PHP: cache
Cela compile .blade.php
dans les fichiers RAW PHP et les stocke, réduisant le temps d'analyse.
Effacer lors de la mise à jour des modèles:
Vue artisanale PHP: Clear
9. Réduire les frais généraux du middleware
Chaque middleware ajoute du temps d'exécution. Examinez et supprimez les inutiles.
- évitez la logique lourde dans le middleware global
- Utilisez du middleware spécifique à l'itinéraire au lieu de global lorsque cela est possible
- Considérez le middleware paresseux (Laravel 9) pour un chargement conditionnel
10. Performances du moniteur et du profil
Utilisez des outils pour identifier les goulots d'étranglement:
- Télescope Laravel (pour Dev)
- Laravel Debugbar
- Outils de surveillance des performances de l'application (APM) comme la nouvelle relique, le organisme de données ou la sentinelle
Rechercher:
- Requêtes lentes
- Fuites de mémoire
- Appels http redondants
- Grosses charges utiles
Fondamentalement, le réglage des performances de Laravel consiste à réduire le travail répété - cachez ce que vous pouvez, décharger ce que vous pouvez et mesurer ce que vous ne pouvez pas voir. La plupart des gains proviennent de la mise en cache, de l'optimisation des requêtes et du passage à l'octane, le cas échéant.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Il existe trois fa?ons d'ajouter des règles de validation personnalisées dans Laravel: en utilisant les fermetures, les classes de règles et les demandes de formulaire. 1. Utilisez les fermetures pour être adaptées à la vérification légère, comme empêcher le nom d'utilisateur "admin"; 2. Créez des classes de règles (telles que ValidUsernamerule) pour rendre la logique complexe plus claire et maintenable; 3. Intégrer plusieurs règles dans les demandes de formulaire et gérer de manière centralisée la logique de vérification. Dans le même temps, vous pouvez définir des invites via des méthodes de messages personnalisés ou des réseaux de messages d'erreur entrants pour améliorer la flexibilité et la maintenabilité.

Les méthodes de base pour les applications Laravel pour implémenter le support multilingue comprennent: la définition des fichiers linguistiques, la commutation de langage dynamique, le routage des URL de traduction et la gestion des clés de traduction dans les modèles de lame. Tout d'abord, organisez les cha?nes de chaque langue dans les dossiers correspondants (tels que EN, ES, FR) dans le répertoire / Resources / Lang, et définissez le contenu de traduction en renvoyant le tableau associatif; 2. Traduire la valeur de clé via l'appel de fonction d'assistance \ _ \ _ () et utilisez l'application :: setLocale () pour combiner des paramètres de session ou de routage pour réaliser la commutation du langage; 3. Pour les URL de traduction, les chemins peuvent être définis pour différentes langues via des groupes de routage préfixés ou par voie d'alias dans les fichiers linguistiques mappés dynamiquement; 4. Gardez les touches de traduction concises et

TOWORKEFFECTECTEMENTSWitHPivottablesInLaravel, FirstAccessPivotDatauSingWithPivot () Orwithtimestamps (), ThepDateEntrieswitHupDateExistPivot (), ManagerLeshipSviaDeTache

LaravelprovidesAcleanAndFlexiblewayToSendNotificationsViamultipleChannelsLikeEmail, SMS, In-Appakets, andpushNotifications.youdefinenotificationChannelsInthevia () MethodofanotificationClass, ANDIDEFINENOTIFICATIONSECHETHODSLIKETOMAIL (), ToDatabase (), Ortovonage

ServiceProvider est le mécanisme de base utilisé dans le cadre Laravel pour l'enregistrement des services et l'initialisation de la logique. Vous pouvez créer un ServiceProvider personnalisé via la commande Artisan; 1. La méthode de registre est utilisée pour lier les services, enregistrer des singletons, définir des alias, etc., et d'autres services qui n'ont pas encore été chargés ne peuvent pas être appelés; 2. La méthode de démarrage s'exécute après que tous les services sont enregistrés et sont utilisés pour enregistrer les écouteurs d'événements, afficher les synthétiseurs, middleware et autres logiques qui dépend d'autres services; Les utilisations courantes incluent les interfaces et les implémentations de liaison, l'enregistrement des fa?ades, le chargement des configurations, l'enregistrement des instructions de ligne de commande et des composants de vue; Il est recommandé de centraliser les liaisons pertinentes à un ServiceProvider pour gérer et de faire attention à l'enregistrement

L'injection de dépendance gère automatiquement les dépendances de classe via des conteneurs de service dans Laravel sans de nouveaux objets manuels. Son noyau est l'injection de constructeur et l'injection de méthode, comme le passage automatiquement de l'instance de demande dans le contr?leur. Laravel analyse les dépendances via des invites de type et crée récursivement les objets requis. L'interface de liaison et l'implémentation peuvent être utilisées par le fournisseur de services pour utiliser la méthode Bind, ou singleton pour lier un singleton. Lorsque vous l'utilisez, vous devez vous assurer des invites de type, éviter les complications du constructeur, utiliser les liaisons contextuelles avec prudence et comprendre les règles d'analyse automatique. La ma?trise peut améliorer la flexibilité et la maintenance du code.

Les méthodes de base pour gérer les exceptions et les erreurs d'enregistrement dans les applications Laravel incluent: 1. Utilisez la classe App \ Exceptions \ Handler pour gérer de manière centralisée les exceptions non gérées, et enregistrer ou notifier les informations d'exception via la méthode Report (), telles que l'envoi de notifications Slack; 2. Utilisez Monolog pour configurer le système de journal, définissez le niveau de journal et la méthode de sortie dans config / logging.php et activer les journaux d'erreur et supérieurs à l'environnement de production. Dans le même temps, des informations d'exception détaillées peuvent être enregistrées manuellement dans report () en combinaison avec le contexte; 3. Personnalisez la méthode Render () pour retourner une réponse d'erreur de format JSON unifié, améliorant l'efficacité de collaboration de l'extrémité avant et arrière de l'API. Ces étapes sont

L'optimisation des performances de Laravel peut améliorer l'efficacité de l'application à travers quatre directions de base. 1. Utilisez le mécanisme de cache pour réduire les requêtes en double, stocker rarement la modification des données via Cache :: Remember () et d'autres méthodes pour réduire la fréquence d'accès à la base de données; 2. Optimiser la base de données de la requête du modèle aux requêtes, évitez les requêtes N 1, spécifiant les requêtes de champ, ajoutant des index, pagination de traitement et de lecture et de séparation d'écriture et réduire les goulots d'étranglement; 3. Utilisez des opérations longues telles que l'envoi d'e-mails et l'exportation de fichiers vers le traitement asynchrone de file d'attente, utilisez le superviseur pour gérer les travailleurs et configurer des mécanismes de réessayer; 4. Utilisez raisonnablement les fournisseurs de middleware et de services pour éviter une logique complexe et un code d'initialisation inutile et retarder le chargement des services pour améliorer l'efficacité du démarrage.
