Recently saw the source of the next Yii2.0, found that there are many new static () and static:: The statement, by the way the next record
-First look at the following code
classA {publicstaticfunctionget_self() {returnnewself(); } publicstaticfunctionget_static() {returnnewstatic(); }}classBextendsA {}echo// Aecho// Becho// A
The class represented by the call can be seen above new static()
, and the new self()
declared class is represented by the
classA {const'testa'; publicstaticfunctiontest_static(){echostatic::TEST; } publicstaticfunctiontest_self() {echoself::TEST; }}classBextendsA {const'testb';}echo//testbecho//testa
A conclusion can be drawn from the above observation that static is related to the called class, while Self is related to the declared class (the class where the self code resides).
The above describes the understanding of phpstatic, including the aspects of the content, I hope that the PHP tutorial interested in a friend helpful.