Maison  >  Article  >  cadre php  >  Processus d'exécution du code source de configuration ThinkPHP

Processus d'exécution du code source de configuration ThinkPHP

咔咔
咔咔original
2020-10-09 15:11:051525parcourir

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.

6. Processus d'exécution du code source de configuration

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

  • scandir : Renvoie tous les fichiers d'un répertoire par ordre croissant, et le deuxième paramètre 1 , indiquant que tous les fichiers dans un répertoire sont renvoyés par ordre décroissant.
  • pathinfo : renvoie les informations sur le fichier sous la forme d'un tableau, qui sont le nom du répertoire, le nom du fichier et l'extension. Plusieurs paramètres sont mentionnés dans le code. ci-dessous. .

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!

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