Maison  >  Article  >  cadre php  >  Mode arborescence d'enregistrement des conteneurs ThinkPHP

Mode arborescence d'enregistrement des conteneurs ThinkPHP

咔咔
咔咔original
2020-10-10 11:24:011548parcourir

Avant d'apprendre le code source du conteneur, vous devez apprendre un autre modèle de conception, le modèle d'arborescence d'enregistrement. Ce modèle de conception est également un noyau du conteneur.

2. Mode arbre d'inscription

Pourquoi ce mode arbre d'inscription est-il mentionné ici ? framework Le modèle d'arborescence à mi-enregistrement est une position dominante, vous devez donc le comprendre !

Alors qu'est-ce qu'une manifestation enregistrée !

  • Le mode arbre d'enregistrement consiste à enregistrer l'instance d'objet dans un arbre (l'arbre ici n'est pas un vrai arbre ! Il est enregistré dans un attribut global)
  • Ensuite, l'instance d'objet correspondante peut être obtenue à partir de l'arborescence globale via des méthodes internes.

Vous ne pouvez pas mieux comprendre si vous le dites de cette façon. Ensuite, Kaka vous montrera un cas simple pour avoir une compréhension simple.

Un mode arbre d'enregistrement nécessite quatre choses : le pool de l'arbre d'enregistrement, le montage de l'objet dans le pool d'enregistrement, l'obtention de l'objet du pool d'enregistrement et le déchargement de l'objet du pool d'enregistrement.

L'image ci-dessous est un modèle d'arbre d'enregistrement simple écrit par Kaka.

Si vous ne comprenez pas le code, vous devez rattraper les bases !

Mode arborescence denregistrement des conteneurs ThinkPHPMode arborescence denregistrement des conteneurs ThinkPHPCréez ensuite un fichier TestTree dans le même répertoire

Mode arborescence denregistrement des conteneurs ThinkPHPVenez au contrôleur pour tester s'il y a un problème avec le mode d'arborescence d'enregistrement que vous avez écrit

Assurez-vous de faire attention au problème de l'espace de noms lors du test ! Le répertoire kaka ici a été préalablement configuré dans le chargement automatique des classes. Si vous ne savez pas comment faire, vous pouvez le consulter dans le premier numéro de l'article.

Cela équivaut à instancier d'abord la classe TestTree

Ensuite, utiliser le mode arbre d'enregistrement pour enregistrer cette instance dans le pool d'arborescence d'objets

Enfin, utiliser la méthode get pour enregistrer ceci instance Une fois la classe obtenue, vous pouvez appeler directement les méthodes dans TestTree.

Mode arborescence denregistrement des conteneurs ThinkPHPEnfin, jetez un œil au résultat final de l'impression. Le résultat est la valeur de retour de la méthode getTreeContent dans la classe TestTree.

Mode arborescence denregistrement des conteneurs ThinkPHPLe mode arbre d'enregistrement est ce que Kaka a expliqué ci-dessus. Cela signifie que nous n'étudions pas le code source. Ce contenu est aussi ce que nous devons apprendre à utiliser.

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