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新建文件的方法实例

php文件如何新建?具体步骤如下: 在桌面空白处单击右键 -> 新建 -> 文本文件。 双击打开此文本文件后,在里面输入PHP代码,输入完后,选择文件 -> 另存为.....

mac下使用brew配置环境的步骤分享

首先 开启web共享。 配置 httpd.conf 加入php拓展 /etc/apache2/httpd.conf 如出现 ULIMIT_MAX_FILES="ulimit -S -n...

PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)

为什么要谨慎使用PHP中的常量? Zend Framework文档中写道:常量包含数字字母字符和下划线,数字允许作为常量名。 常量名的所有字母必须大写。类常量必须通过 "const" 定...

PHP使用strtotime计算两个给定日期之间天数的方法

本文实例讲述了PHP使用strtotime计算两个给定日期之间天数的方法。分享给大家供大家参考。具体分析如下: PHP的strtotime函数用于将任何英文文本的日期时间描述解析为Uni...

php Sql Server连接失败问题及解决办法

1、确认数据库服务开启状态 2、php.ini配置中的扩展打开 3、检查数据库相关的版本 (1)Sql2000此时要检查php目录和apache的bin目录下的ntwdblib.dll文...