Maison >cadre php >PensezPHP >Optimisation du code de chargement de la configuration ThinkPHP

Optimisation du code de chargement de la configuration ThinkPHP

咔咔
咔咔original
2020-10-09 15:47:271446parcourir

Cet article porte principalement sur l'optimisation du code framework par Kaka. Ce n'est que l'idée d'optimisation de Kaka.

10. Framework sous-jacent à la configuration, optimisation du code de chargement

Regardez ici la méthode loadFile dans thinkphp/library/think/Config.php Cela n'a-t-il pas l'air un peu moins élégant ?

Étant donné que la méthode parse est utilisée à la fin de la méthode, c'est le mode usine mentionné précédemment pour charger d'autres types de fichiers de configuration.

Alors pourquoi ne pas laisser ce mode usine charger également les fichiers de configuration de type PHP et yaml.

Optimisation du code de chargement de la configuration ThinkPHPÀ ce stade, vous devez créer des fichiers php et des fichiers yaml dans le répertoire thinkphp/library/think/config/driver.

Créez d’abord un fichier php.

Et en imitant les trois autres types de fichiers, dans le type de fichier php, il vous suffit de déterminer s'il s'agit d'un fichier, puis d'importer le fichier.

Les fichiers de configuration PHP du framework sont tous sous forme de tableaux, donc la méthode d'analyse dans le fichier Php.php peut renvoyer directement l'attribut config.

Optimisation du code de chargement de la configuration ThinkPHPCommencez les tests amusants ! La valeur de CONFIG_EXT a été configurée comme yaml dans le fichier env auparavant.

C'est-à-dire que lors de la lecture du fichier de configuration dans le répertoire config, seuls les fichiers avec l'extension de type yaml peuvent être lus.

Vous devez donc d'abord modifier cette valeur, et vous pourrez l'utiliser après avoir écrit la classe d'usine de type yaml plus tard.

Pour faciliter les tests, ajoutez une nouvelle configuration dans le répertoire de configuration

Optimisation du code de chargement de la configuration ThinkPHP Commentez ensuite le code qui détermine les types php et yaml dans la méthode lodeFile dans la classe de configuration

Optimisation du code de chargement de la configuration ThinkPHP
Insérer la description de l'image ici

Lire la configuration config/app.php dans le contrôleur

Optimisation du code de chargement de la configuration ThinkPHPImprimer le résultat

Imprimer Il n'y a aucun défaut dans les résultats, ce qui signifie qu'il n'y a rien de mal avec le code que nous avons simplement optimisé. Optimisation du code de chargement de la configuration ThinkPHPLa même chose est vraie pour yaml. Il vous suffit de convertir les données finales en tableau et de les renvoyer.

Optimisation du code de chargement de la configuration ThinkPHPCe qui précède est le processus d'analyse de l'optimisation par Kaka du code source sous-jacent pour le chargement des fichiers de configuration du framework. Si vous ressentez un inconfort, vous pouvez le signaler dans la zone de commentaires.

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