php延迟静态绑定实例分析

yipeiwu_com6年前PHP代码库

本文实例讲述了php延迟静态绑定的方法。分享给大家供大家参考。具体分析如下:

php延迟静态绑定:指类的self,不是以定义时为准,而是以计算时的运行结果为准。先看一个实例

<?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();
?>

 

说明:

(1)子类实例化对象 $stu 调用say方法时,是在父类Human内运行的,所以,say()里的self::hei()是调用父类的hei()方法。

(2)static::方法名():使用static关键词,则首先是在子类里查找该方法;如果找不到,则到父类中查找。

希望本文所述对大家的php程序设计有所帮助。

相关文章

php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍

最近一直在忙,赶在这个假期结束的时候,发表一下此文,为了是让这些源码开源出来当然这些方法可能不可取,但大致应该是这种方向了吧,由于目前做的一个UCHOME港台的站点咱们策划说要改一下好友...

PHP钩子实现方法解析

本文实例讲述了PHP钩子实现方法。分享给大家供大家参考,具体如下: PHP编程的钩子实现,示例讲解和解释它们的作用,写了一个样板的钩子实现 钩子是编程里一个常见的概念,非常的重要。它...

Zend Framework中的简单工厂模式 图文

Zend Framework中的简单工厂模式 图文

前段时间用来ZF,把他当黑盒感觉不是很好,一直有看其源码的冲动,但是。。。如果一点一点点看的话,挑战确实有些大了。某天又然后想到好久没复习设计模式了。综合一下,复习一个设计模式之后在ZF...

十个PHP高级应用技巧果断收藏

十个PHP高级应用技巧果断收藏

PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序...

组合算法的PHP解答方法

题目:组合算法:有一个数组a,有N 个元素,现在要求从中找出含有任意元素的所有组合个数。 解答:先看规律吧: 假设这个数组为array(1,2,3,4,5)那么M=5; 可能出现的组合为...