Maison  >  Article  >  cadre php  >  Si vous n’étudiez pas le code source de ThinkPHP, comment saurez-vous le rôle du fichier env ?

Si vous n’étudiez pas le code source de ThinkPHP, comment saurez-vous le rôle du fichier env ?

咔咔
咔咔original
2020-10-09 15:44:351864parcourir

Cet article présente principalement l'utilisation par le framework des fichiers env pour charger d'autres types de fichiers de configuration. Un article précédent a présenté le chargement en mode usine des fichiers de configuration.

9. Comment laisser le framework charger d'autres types de fichiers de configuration à l'aide de fichiers env

dans initialisation de l'application Il y a un attribut dans le module appelé configExt. Cet attribut est l'extension du fichier

Si vous n’étudiez pas le code source de ThinkPHP, comment saurez-vous le rôle du fichier env ? et découvrez où cet attribut est défini.

Selon le processus de chargement du fichier de configuration, vous pouvez clairement voir que la couche supérieure de la méthode init est l'application d'initialisation, qui est la méthode initialize.

Ensuite, cet attribut doit avoir été défini au préalable avant la méthode init.

Revenez au niveau précédent de la init méthode initialize et vous pourrez voir directement le réglage de cette valeur.

Si vous n’étudiez pas le code source de ThinkPHP, comment saurez-vous le rôle du fichier env ?
Insérer la description de l'image ici

Cette valeur est obtenue à partir de la variable d'environnement d'env. Sinon, la valeur par défaut est php, vous devez donc créer un fichier env. .

Et donnez une valeur par défaut de yaml

Si vous n’étudiez pas le code source de ThinkPHP, comment saurez-vous le rôle du fichier env ?Ici, je vais vous montrer les modifications. Il y a un bug dans la version 5.1.34 LTS. Kaka utilise actuellement la 5.1.39 LTS. Ce problème a été résolu.

Je pense que vous pouvez voir ce code. Il définit d'abord la valeur par défaut pour configExt, puis charge le fichier de configuration des variables d'environnement.

Alors le code pour charger cette variable d'environnement n'a aucun sens. La valeur de configExt sera toujours .php

Même si elle est configurée dans le fichier env, elle ne sera pas obtenue.

Si vous n’étudiez pas le code source de ThinkPHP, comment saurez-vous le rôle du fichier env ?Un fichier de configuration yaml a été ajouté au fichier de configuration config avant

Si vous n’étudiez pas le code source de ThinkPHP, comment saurez-vous le rôle du fichier env ? Ensuite à ce moment, vous pouvez utiliser la classe config pour obtenir la configuration du fichier de type yaml .

Il n'y a aucun problème après le test, les données peuvent sortir.

Mais on n’ose pas faire ça dans de vrais projets ! Si vous souhaitez configurer la valeur de configExt sur la variable d'environnement, vous devez convertir tous les fichiers de configuration du répertoire de configuration vers le type correspondant.

Par exemple, si configExt est défini sur .ini, vous devez modifier tous les fichiers du répertoire de configuration au format de fichier ini

Si vous n’étudiez pas le code source de ThinkPHP, comment saurez-vous le rôle du fichier env ?Si vous n’étudiez pas le code source de ThinkPHP, comment saurez-vous le rôle du fichier env ?Ce contenu est uniquement destiné à l'application après lecture du code source. Ne l'utilisez pas dans des projets réels car tous les fichiers de configuration du framework tp sont de type PHP.

Si vous le changez pour d'autres types, vous devrez modifier tous les fichiers de configuration dans le framework. Ce genre de chose n'est pas possible !

La persévérance dans l'apprentissage, la persévérance dans les blogs et la persévérance dans le partage sont les convictions auxquelles Kaka a toujours adhéré depuis ses débuts. J'espère que les articles de Kaka sur le grand Internet pourront vous apporter un peu d'aide. Je m'appelle Kaka, à la prochaine fois.

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