This article mainly introduces the PHP delay static binding, the example analyzes the delay static binding principle and the realization skill, needs the friend to be possible to refer to under
This article illustrates the way PHP delays static binding. Share to everyone for your reference. The specific analysis is as follows:
PHP deferred static binding: The self of the class, not the definition, but the run-time result of the calculation. First look at an example
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20-21 |
<?php header ("Content-type:text/html;charset=utf-8"); Class human{public static function Hei () {echo "I am the Hei () method of the parent class";} public Function Say () {//If the subclass invokes the Say () method of the parent class, Self::hei ();/ /Here The Hei () method of the parent class is called Static::hei (); This calls the HEI () method of the subclass, and if the subclass does not exist the HEI () method, calls the parent class's} class Stu extends human{public static function Hei () {echo "I am the Hei () method of the subclass";}} $stu = new Stu (); $stu->say ();?> |
Description
(1) The subclass instantiation Object $stu Invoke the Say method, is run within the parent class human, so the Self::hei () in Say () is the HEI () method that invokes the parent class.
(2) Static:: Method Name (): Use a static keyword, the first is to find the method in the subclass, if not found, to find in the parent class.
I hope this article will help you with your PHP program design.