Cet article effectue principalement une analyse simple de l'exécution du code source de Config. J'espère que vous aurez une compréhension plus approfondie, des diagrammes au code. Le yaconf mentionné ci-dessus se reflète ici, et chaque article doit ouvrir la voie à ce qui suit.
Bien que Yaconf ci-dessus ne fasse pas grand-chose pour la configuration analyse du code source C'est utile, mais cela élargit également votre réflexion. Vous pouvez essayer d'utiliser Yaconf dans votre travail à l'avenir.
Allons droit au but. Si vous voulez savoir comment Config se charge et analyse, faisons d'abord un dessin. Jetons un coup d'œil au processus d'exécution du chargement de la configuration.
Retour à public/index.php
, j'ai mentionné dans le numéro précédent que le chargement automatique des classes est effectué pendant le processus de chargement du fichier base.php.
Ensuite, le chargement de la configuration est encadré ici dans l'image ci-dessous. Les conteneurs sont impliqués ici, et il y aura un sujet séparé pour analyser les conteneurs.
Pas plus d'explication ici. Ce code remonte à exécuter la méthode run du fichier `D:phpstudy_proWWWThinkPHPSourceCodeAnalysisthinkphplibrarythinkApp.php.
Et ce qui doit être tracé dans la méthode run
, c'est la fonction d'initialisation de l'application initialize
Ensuite, dans la méthode initialize
, vous verrez des indices sur la configuration Ce qui suit est une application d'initialisation init
Ce n'est que lorsque vous atteignez la méthode init que vous entrez dans le sujet.
Démarrage du chargement automatique du fichier de configuration, et également appelé la méthode de chargement dans la classe de configuration, qui doit également être lue ensemble.
Après être venu ici, vous devez l'interpréter brièvement
Ce code ira directement à elseif, car il n'y a pas de répertoire de configuration configuré dans le répertoire de l'application
Et il y a ici un attribut configPath que vous connaissez ! Cette valeur est finalement D:phpstudy_proWWWThinkPHPSourceCodeAnalysisconfig
L'étape suivante consiste à supprimer tous les fichiers du répertoire de configuration.
Passé à la méthode de chargement de la classe de configuration
Il y a quelques points de connaissances à mentionner ici, il suffit de les revoir
Il y a un attribut configExt dans ce code. Cette valeur est lue à partir de la variable d'environnement La valeur donnée est php
La persévérance dans l'apprentissage, la persévérance dans le blogging 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!