The example in this article describes the method of delayed static binding in PHP. Share it with everyone for your reference. The specific analysis is as follows:
php delayed static binding: refers to the self of the class, which is not based on the time of definition, but based on the running results during calculation. Let’s look at an example first
<?php header("content-type:text/html;charset=utf-8"); class Human{ public static function hei(){ echo "我是父类的hei()方法"; } public function say(){//如果子类调用父类的say()方法,则 self::hei();//这里调用的是父类的hei()方法 static::hei(); //这里调用子类的hei()方法,如果子类不存在hei()方法,则调用父类的 } } class Stu extends Human{ public static function hei(){ echo "我是子类的hei()方法"; } } $stu = new Stu(); $stu->say(); ?>
Description:
(1) When the subclass instantiated object $stu calls the say method, it runs in the parent class Human, so , self::hei() in say() calls the hei() method of the parent class.
(2) static::method name(): If you use the static keyword, you will first search for the method in the subclass; if it cannot be found, search it in the parent class.
I hope this article will be helpful to everyone’s PHP programming design.
For more articles related to PHP delayed static binding example analysis, please pay attention to the PHP Chinese website!