• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】

    本文实例讲述了PHP 范围解析操作符(::)用法。分享给大家供大家参考,具体如下:

    范围解析操作符 (::)

    范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员,类常量,还可以用于覆盖类中的属性和方法。

    当在类定义之外引用到这些项目时,要使用类名。

    自 PHP 5.3.0 起,可以通过变量来引用类,该变量的值不能是关键字(如 self,parent 和 static)。

    把 Paamayim Nekudotayim 选作双冒号操作符的名字似乎有些奇怪。然而,这是 Zend 开发小组在写 Zend Engine 0.5(被用于 PHP 3 中)时所作出的决定。事实上这个词在希伯莱文就是双冒号的意思。

    在类的外部使用  ::

    self,parent 和 static 这三个特殊的关键字是用于在类定义的内部对其属性或方法进行访问的。

    ?php
    class MyClass {
      const CONST_VALUE = 'A constant value';
    }
    
    $classname = 'MyClass';
    echo $classname::CONST_VALUE; // 自 PHP 5.3.0 起
    
    echo MyClass::CONST_VALUE;
    
    

    在类定义的内部使用 ::

    当一个子类覆盖其父类中的方法时,PHP 不会调用父类中已被覆盖的方法。是否调用父类的方法取决于子类。这种机制也作用于构造函数和析构函数,重载以及魔术方法。

    ?php
    class OtherClass extends MyClass
    {
      public static $my_static = 'static var';
    
      public static function doubleColon() {
        echo parent::CONST_VALUE . "\n";
        echo self::$my_static . "\n";
      }
    }
    
    $classname = 'OtherClass';
    echo $classname::doubleColon(); // 自 PHP 5.3.0 起
    
    OtherClass::doubleColon();
    
    

    调用父类的方法

    ?php
    class MyClass
    {
      protected function myFunc() {
        echo "MyClass::myFunc()\n";
      }
    }
    
    class OtherClass extends MyClass
    {
      // 覆盖了父类的定义
      public function myFunc()
      {
        // 但还是可以调用父类中被覆盖的方法
        parent::myFunc();
        echo "OtherClass::myFunc()\n";
      }
    }
    
    $class = new OtherClass();
    $class->myFunc();
    
    

    运行结果:

    MyClass::myFunc()
    OtherClass::myFunc()

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

    您可能感兴趣的文章:
    • PHP中类静态调用和范围解析操作符的区别解析
    • PHP的范围解析操作符(::)的含义分析说明
    • php基础知识:类与对象(4) 范围解析操作符(::)
    • php静态成员方法和静态的成员属性的使用方法
    • PHP静态成员变量和非静态成员变量详解
    • PHP静态成员变量
    • 浅析PHP的静态成员函数效率更高的原因
    • PHP 5.0对象模型深度探索之类的静态成员
    上一篇:PHP 自动加载类原理与用法实例分析
    下一篇:Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】 PHP,范围,解析,操作,符,用法,