Home >PHP Framework >ThinkPHP >Final summary of ThinkPHP container

Final summary of ThinkPHP container

咔咔
咔咔Original
2020-10-15 16:06:332227browse

This article is the last summary article after reading the container source code. It is a small summary of the knowledge about containers

8. Summary after reading the container source code

Registration mode

This article starts with two design patterns, namely singleton pattern and registration tree pattern.

A simple understanding of the singleton mode is that only one instance object will be returned during the application declaration cycle, and no new objects will be created.

The understanding of the registration tree mode is that all objects used in the program will be stored in a tree. When using it, you can directly obtain the object from the tree and use it directly.

Inversion of Control Dependency Injection

Don’t let the names of Inversion of Control and Dependency Injection confuse people. They look at the problem of an event differently. One is from the perspective of the container, and the other is from the perspective of the application.

From the perspective of the container, the container controls the application, and the container reversely injects external resources into the application

From the perspective of the application, the application relies on the container to create and inject the external resources it requires.

Reflection

There is nothing to summarize about reflection. Just open the document and take a look. The important thing is to learn to use it and know what each means and learn to use it flexibly.

Container source code analysis

After reading the source code of the container, you will find that the things used are formed by the three knowledge points mentioned above. Use the registration mode to configure the container. Object management in .

You need to keep in mind the four attributes used in the source code for this diagram.

Final summary of ThinkPHP container
Insert picture description here

In a code execution process

Final summary of ThinkPHP container
Insert picture description here

The most important methods in the container are invokeClass and bindParamsThere is no problem with these two methods if they follow the Kaka idea, but follow the breakpoint process. A little execution.

It may be a bit confusing when you read this, but after reading it carefully, you will find that you can learn a lot

Keep learning and blogging , Persistence in sharing is the belief that Kaka has always upheld since he started his career. I hope that Kaka’s articles on the huge Internet can bring you a little bit of help. I am Kaka, see you in the next issue.

The above is the detailed content of Final summary of ThinkPHP container. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn