“This article is the last summary article after reading the container source code. It is a small summary of the knowledge about containers
”
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.
In a code execution process
The most important methods in the container are invokeClass and bindParams
There 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!