服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

PHP后期静态绑定之self::限制实例分析

2019-07-15 10:11天涯海角路 PHP教程

这篇文章主要介绍了PHP后期静态绑定之self::限制,结合实例形式分析了php后期静态绑定self::与static相关使用技巧,需要的朋友可以参考下

本文实例讲述了PHP后期静态绑定之self::限制。分享给大家供大家参考,具体如下:

在此我想讲一讲后期静态绑,我想讲self::static进行比较说明。

官方文档上是这样定义的:

“后期绑定”的意思是说,static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为”静态绑定”,因为它可以用于(但不限于)静态方法的调用。

在此我想用官方文档上的一个例子来说明self::限制:

self::实例

class A{
  public static function who(){
   echo __CLASS__;
  }
  public static function test(){
   self::who();
  }
}
class B extends A{
  public static function who(){
   echo __class__;
  }
}
$B=new B();
$B->test();`

输出结果为:

A

static实例:

class A{
  public static function who(){
    echo __class__;
  }
  public static function test(){
    static::who();
  }
}
class B extends A{
  public static function who(){
    echo __class__;
  }
}
$B=new B();
$B->test();

输出结果为:

B

注意,注意啦!这里用的是:static::,以前很少在PHP中见过这种写法吧?看到static::,不禁想起来:self:: parent::

在此我想把self:: static:: parent::进行一个比较:

  • self:: 通常指向类本身,也就是self是不指向任何已经实例化的对象,一般self使用来指向类中的静态变量(不可以指向非静态变量),但是可以访问类中其他静态方法与非静态方法。它是当前类的指针。
  • parent:: 是指向父类的指针,一般我们使用parent来调用父类的构造函数。但也可以访问父类的其他方法(不可以访问其他静态与非静态变量)。
  • static:: 通常用于后期静态绑定中。

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

延伸 · 阅读

精彩推荐
  • PHP教程PHP5.6读写excel表格文件操作示例

    PHP5.6读写excel表格文件操作示例

    这篇文章主要介绍了PHP5.6读写excel表格文件操作,结合实例形式分析了php5.6环境下使用PHPExcel插件针对Excel表格读写的相关操作技巧,需要的朋友可以参考下...

    Sweet小马2972019-06-09
  • PHP教程php json转换相关知识(小结)

    php json转换相关知识(小结)

    这篇文章主要介绍了php json转换相关知识(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    nemo的博客1772019-07-11
  • PHP教程PHP get_html_translation_table()函数用法讲解

    PHP get_html_translation_table()函数用法讲解

    今天小编就为大家分享一篇关于PHP get_html_translation_table()函数用法讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    php参考手册1162019-06-13
  • PHP教程PHP date()格式MySQL中插入datetime方法

    PHP date()格式MySQL中插入datetime方法

    在本篇文章里小编给大家分享了关于PHP date()格式MySQL中插入datetime方法,有需要的朋友们学习下。...

    laozhang4312019-06-21
  • PHP教程利用PHP如何统计Nginx日志的User Agent数据

    利用PHP如何统计Nginx日志的User Agent数据

    这篇文章主要给大家介绍了关于如何利用PHP统计Nginx日志的User Agent数据的相关资料,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们...

    tlanyan4322019-06-05
  • PHP教程stripos函数知识点实例分享

    stripos函数知识点实例分享

    php stripos()函数 语法 作用:寻找字符串中某字符最先出现的位置,不区分大小写 语法: stripos(string,find,start) 参数: string必需。规定要搜索的字符串。 find必需。规定要查找的字符。 start可选。规定开始搜索的位置。 说明:查找字符...

    laozhang4342019-06-18
  • PHP教程PHP封装的mysqli数据库操作类示例

    PHP封装的mysqli数据库操作类示例

    这篇文章主要介绍了PHP封装的mysqli数据库操作类,涉及php针对mysqli数据库的连接、增删改查、分页、排序等相关操作技巧,需要的朋友可以参考下...

    法法之轮战神2412019-06-13
  • PHP教程PHP+redis实现的购物车单例类示例

    PHP+redis实现的购物车单例类示例

    这篇文章主要介绍了PHP+redis实现的购物车单例类,涉及php连接、操作redis数据库及购物车功能相关定义与使用技巧,需要的朋友可以参考下...

    梦屿千寻-不忘初心2212019-06-21