“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.
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Dreamweaver Mac version
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

WebStorm Mac version
Useful JavaScript development tools