PHP中如何区分类静态调用与范围解析符的用法?
- 内容介绍
- 相关推荐
本文共计380个文字,预计阅读时间需要2分钟。
在PHP中,以下代码展示了如何使用静态属性和静态方法:
php
function test() { echo who; }}
class ChildClass extends ParentClass { function test() { echo ChildClass test; }
function testStatic() { echo Static method called: . ParentClass::$my_static; }}
// 创建子类实例$child=new ChildClass();
// 调用子类方法$child->test();
// 调用静态方法,使用范围解析操作符$child->testStatic();?>
具体代码如下所示:
<?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;//静态调用
上面输出
parent
child
child
child var
总结
以上所述是小编给大家介绍的PHP中类静态调用和范围解析操作符的区别解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对易盾网络网站的支持!
本文共计380个文字,预计阅读时间需要2分钟。
在PHP中,以下代码展示了如何使用静态属性和静态方法:
php
function test() { echo who; }}
class ChildClass extends ParentClass { function test() { echo ChildClass test; }
function testStatic() { echo Static method called: . ParentClass::$my_static; }}
// 创建子类实例$child=new ChildClass();
// 调用子类方法$child->test();
// 调用静态方法,使用范围解析操作符$child->testStatic();?>
具体代码如下所示:
<?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;//静态调用
上面输出
parent
child
child
child var
总结
以上所述是小编给大家介绍的PHP中类静态调用和范围解析操作符的区别解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对易盾网络网站的支持!

