Maison  >  Article  >  cadre php  >  Analyse préliminaire du conteneur ThinkPHP

Analyse préliminaire du conteneur ThinkPHP

咔咔
咔咔original
2020-10-12 12:46:282093parcourir
«

Cet article est un simple passage au peigne fin avant d'analyser le code source de la classe conteneur. Après avoir trié le code source général, vous pouvez avoir une impression dans votre esprit avant de vous. peut analyser le conteneur en profondeur.

Analyse préliminaire de la classe de conteneur Container

Dans l'article précédent, j'ai implémenté un conteneur que j'ai créé. Examinons ensuite le conteneur dans le code source. Tous les points techniques apparus dans le conteneur dans l'article précédent ont été abordés.

Il ne sera pas difficile de lire ensuite le code source du conteneur. Si vous n'avez pas lu l'article précédent, assurez-vous de le relire !

Je crois que c'est un dossier que tout le monde a ouvert d'innombrables foispublic/index.php.

Combien de fois ai-je ouvert ce fichier et voulu regarder de plus près le code source, mais j'ai abandonné après l'avoir regardé.

Après avoir parcouru le mode arbre d'inscription précédent, vous comprendrez certainement ce que retournera cette ligne de code Container::get('app')

Le retour de cette ligne de le code est l'application. Par exemple, vous pouvez créer un simple point d'arrêt.

Vous pouvez voir que le retour est constitué de nombreux attributs dans la classe d'application.

Ainsi, le mode arbre d'inscription ne continuera pas à revenir en arrière et à lire ce qui a été écrit auparavant, sinon plus vous lisez, plus vous serez confus.

Les points techniques précédents sont tous destinés à ouvrir la voie aux suivants. Si vous ne lisez pas les articles précédents, vous ne pourrez pas lire ce qui suit, donc les experts n'en parleront pas !

Alors, comment les conteneurs du framework sont-ils définis ? Comment y parvient-on ?

Autrement dit, il vous suffit de faire attention à ce que fait cette get() méthode.

Le code sera tracé jusqu'à la méthode thinkphp/library/think/Container.php dans le fichier get()

La méthode getInstance() ici est familière, n'est-ce pas ? Il s’agit du modèle singleton mentionné ci-dessus. C'est-à-dire qu'une seule instance de l'objet sera renvoyée lors du cycle de déclaration du programme.

Le traçage de code est possible getInstance()Cette méthode, vous verrez cette méthode en mode singleton dans le même fichier, renvoyant l'instance du conteneur.

Ensuite, nous procéderons à une analyse approfondie de la méthode make dans le conteneur.

«

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 sa carrière. J'espère que les articles de Kaka dans l'immense Internet. Je peux vous apporter un peu d'aide Silk. 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