Maison  >  Article  >  cadre php  >  laravel ferme le cache de route

laravel ferme le cache de route

WBOY
WBOYoriginal
2023-05-21 11:18:08987parcourir

Laravel est un framework de développement PHP très populaire. Sa syntaxe élégante et ses fonctions puissantes le rendent largement apprécié dans le domaine du développement web. Dans Laravel, le routage est un concept très important, responsable du mappage des requêtes HTTP aux fonctions de traitement du contrôleur correspondantes. Dans les applications pratiques, nous devons parfois désactiver la fonction de mise en cache des itinéraires de Laravel. Cet article explique comment désactiver la mise en cache des itinéraires dans Laravel.

Pourquoi devez-vous désactiver la mise en cache des itinéraires ?

Laravel fournit une fonction de cache de route, qui peut mettre en cache les informations de routage de l'application dans le système de fichiers. L’avantage est que cela peut accélérer la correspondance des itinéraires et améliorer la vitesse de réponse des applications. Cependant, dans certains cas, nous devrons peut-être désactiver la mise en cache des itinéraires. Voici plusieurs situations dans lesquelles la fonction de mise en cache de l'itinéraire doit être désactivée :

  1. La fonction de fermeture est utilisée dans la définition de l'itinéraire

Dans Laravel , les fonctions de package de fermeture sont souvent utilisées pour définir des itinéraires dynamiques, comme indiqué ci-dessous :

Route::get('user/{id}', function ($id) {
    return 'User '.$id;
});

Cependant, comme les fonctions de fermeture ne peuvent pas être sérialisées, elles ne peuvent pas être mises en cache. Dans ce cas, l'application générera une erreur si la mise en cache des routes est activée.

  1. L'application utilise le préfixe de routage dynamique

Lorsque l'application Laravel utilise le préfixe de routage dynamique, par exemple :

Route::prefix('api/{version}')->group(function () {
    Route::get('users', function ($version) {
        return "API Version ".$version;
    });
});
#🎜🎜 # À ce stade, le préfixe de routage de chaque requête est dynamique, ce qui signifie que les informations de routage ne peuvent pas être pré-mises en cache au démarrage de l'application. Par conséquent, si la mise en cache des routes est activée, l'application générera une erreur.

    Changements dans la définition de l'itinéraire
Lorsque la définition de l'itinéraire de l'application change, comme l'ajout d'un nouvel itinéraire ou la modification d'un itinéraire existant, si l'itinéraire Si le cache est activé, ces modifications ne seront pas reflétées dans le cache de route, provoquant des erreurs imprévisibles dans l'application.

Dans la situation ci-dessus, afin d'assurer le fonctionnement normal de l'application, nous devons désactiver la fonction de mise en cache des itinéraires de Laravel.

Comment désactiver le cache de routage ?

Dans Laravel, désactiver le cache de route est très simple Il vous suffit d'effectuer les deux étapes suivantes :

    Supprimer le fichier de cache de route#🎜🎜. #
  1. Le fichier de cache de route de Laravel est stocké dans le fichier bootstrap/cache/routes.php, nous pouvons donc désactiver le cache de route en supprimant le fichier. Vous pouvez utiliser la commande suivante pour supprimer le fichier de cache de route :
$ php artisan route:clear

Après avoir exécuté la commande ci-dessus, Laravel supprimera automatiquement le fichier bootstrap/cache/routes.php. bootstrap/cache/routes.php文件中,因此我们可以通过删除该文件来关闭路由缓存。可以使用以下命令来删除路由缓存文件:

// config/app.php

return [

    // ...
    
    'route_cache' => false,

    // ...

];

执行以上命令后,Laravel会自动删除bootstrap/cache/routes.php文件。

  1. 禁用路由缓存

除了删除路由缓存文件,我们还需要在Laravel配置文件中添加如下配置代码来禁用路由缓存:

rrreee

在上述配置代码中,我们将route_cache选项的值设置为false。这样做可以确保Laravel不会在启动时加载路由缓存文件。

以上两个步骤执行完成后,路由缓存功能就会被关闭了。在需要重新启用路由缓存功能时,只需要将config/app.php配置文件中的route_cache选项设置为true

Désactiver le cache de route

En plus de supprimer le fichier de cache de route, nous devons également ajouter le code de configuration suivant au fichier de configuration Laravel pour désactiver le cache de route : #🎜🎜#rrreee#🎜🎜#Dans le code de configuration ci-dessus, nous définissons la valeur de l'option route_cache à false. Cela garantit que Laravel ne charge pas les fichiers de cache de route au démarrage. #🎜🎜##🎜🎜#Une fois les deux étapes ci-dessus terminées, la fonction de mise en cache d'itinéraire sera désactivée. Lorsque vous devez réactiver la fonction de cache de route, il vous suffit de définir l'option route_cache dans le fichier de configuration config/app.php sur true code>. #🎜🎜##🎜🎜#Summary#🎜🎜##🎜🎜#La fonction de mise en cache d'itinéraire de Laravel peut améliorer la vitesse de réponse de l'application, mais dans certains cas, cette fonction doit être désactivée. Cet article explique comment désactiver la fonction de cache de route dans Laravel, notamment en supprimant le fichier de cache de route et en désactivant la fonction de cache de route. J'espère que cet article sera utile pour l'utilisation du routage 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