zoukankan      html  css  js  c++  java
  • php 静态绑定

    简介

    编辑
    后期静态绑定
    从PHP 5.3.0开始,PHP增加了一个叫做后期静态绑定的功能,用于在继承范围内引用静态调用的类。
    该功能从语言内部角度考虑被命名为”后期静态绑定“。”后期绑定“的意思是说,static::不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为”静态绑定“,因为它可以用于(但不限于)静态方法的调用。

    self::的限制

    编辑
    使用self:: 或者 __CLASS__对当前类的静态引用,取决于定义当前方法所在的类:

    self::用法

    编辑
    php
    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::test();
    ?>
    以上例程会输出:
    A

    后期静态绑定的用法

    编辑
    后期静态绑定试图通过引入一个关键字表示运行时最初调用的类来绕过限制。简单地说,这个关键字能够让你在上述例子中调用test()时引用的类是B而不是A。最终决定不引入新的关键字,而是使用已经预留的static关键字。

    static::简单用法

    编辑
    <?php
    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::test();
    ?>
    以上例程会输出:
    B
  • 相关阅读:
    Android学习地址
    Android动画设计源码地址
    chromeWebBrowser之浏览器开发
    win8.1蓝屏解决
    打包应用程序
    win8.1解决鼠标右键反应慢的问题
    Rewrite服务器和robots文件屏蔽动态页面
    第08组 Alpha事后诸葛亮
    第08组 Alpha冲刺(6/6)
    第08组 Alpha冲刺(5/6)
  • 原文地址:https://www.cnblogs.com/feiyun8616/p/6559995.html
Copyright © 2011-2022 走看看