Home > Article > Backend Development > Difference between class static call and scope resolution operator in PHP
This article mainly introduces the difference between class static calling and range resolution operators in PHP. Friends in need can refer to it
The specific code is as follows:
<?php //在子类或类内部用“::”调用本类或父类时,不是静态调用方法,而是范围解析操作符。 class ParentClass { public static $my_static = 'parent var '; function test() { self::who(); // 输出 'parent' 是范围解析,不是静态调用 $this->who(); // 输出 'child' static::who(); // 延迟静态绑定 是范围解析,不是静态调用 } function who() { echo 'parent<br>'; } } class ChildClass extends ParentClass { public static $my_static = 'child var '; function who() { echo 'child<br>'; } } $obj = new ChildClass(); $obj->test(); echo ChildClass::$my_static;//静态调用
The above output
parent
child
child
child var
Summary
The above is the editor’s introduction to the difference between class static calls and range resolution operators in PHP. I hope it will be helpful to you. If you have any questions If you have any questions, please leave me a message and I will reply to you in time. I would also like to thank you all for your support of the php Chinese website!
Detailed examples of stack and queue functions implemented by PHP based on arrays
Detailed explanation of error handling and exception handling methods based on PHP7
Explanation of predefined variables for PHP learning
The above is the detailed content of Difference between class static call and scope resolution operator in PHP. For more information, please follow other related articles on the PHP Chinese website!