• 技术文章 >后端开发 >php教程

    PHP延迟静态捆绑Late Static Bindings

    2016-05-19 15:12:07原创972
    看了一下php5.3的Late Static Bindings,简单了翻译一下
    Late Static Bindings是在PHP5.3中加入的新特性,拼音来说,就是把本来在定义阶段固定下来的表达式
    或变量,改在执行阶段才决定,比如当一个子类继承了父类的静态表达式的时候,它的值并不能被改变,有
    时不希望看到这种情况
    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
    ?>
    但是现在我想让其输出B,那么使用Late Static Bindings可实现这一特性了
    class A {
      public static function who() {
        echo __CLASS__;
      }
      public static function test() {
        static::who(); // Late Static Bindings  
      }
    }
    class B extends A {  
      public static function who() {
         echo __CLASS__;
      }
    }
    B::test();//输出B
    ?>
    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:MVC真的适合PHP么? 下一篇:PHP中XML-RPC构造Web Service
    大前端线上培训班

    相关文章推荐

    • 怎样使用PHP中的spl_autoload_register() 和 __autoload() 函数?• 你必须了解PHP中什么是抽象类和抽象方法• PHP中怎样去判断对象是否属于一个类?• 五分钟带你看PHP中的接口interface声明与应用(实例详解)• PHP中怎样完成Cookie的创建、读取和删除?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网