加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP范围剖析操作符怎样写,作用和用法是什么?

发布时间:2023-06-09 13:54:00 所属栏目:PHP教程 来源:
导读:这篇文章我们来了解“PHP范围解析操作符怎样写,作用和用法是什么?”的内容,小编通过实际的案例向大家展示了操作过程,简单易懂,有需要的朋友可以参考了解看看,那么接下来就跟随小编的思路来往下学习吧
这篇文章我们来了解“PHP范围解析操作符怎样写,作用和用法是什么?”的内容,小编通过实际的案例向大家展示了操作过程,简单易懂,有需要的朋友可以参考了解看看,那么接下来就跟随小编的思路来往下学习吧,希望对大家学习或工作能有帮助。
 
范围解析操作符(也可称作 Paamayim Nekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员,类常量,还可以用于覆盖类中的属性和方法。
 
当在类定义之外引用到这些项目时,要使用类名。
 
自 PHP 5.3.0 起,可以通过变量来引用类,该变量的值不能是关键字(如 self,parent 和 static)。
 
把 Paamayim Nekudotayim 选作双冒号操作符的名字似乎有些奇怪。然而,这是 Zend 开发小组在写 Zend Engine 0.5(被用于 PHP 3 中)时所作出的决定。事实上这个词在希伯莱文就是双冒号的意思。
 
Example #1 在类的外部使用 :: 操作符
 
class MyClass
 
{
 
    const CONST_VALUE = 1;
 
}
 
$classname = 'MyClass';
 
echo $classname::CONST_VALUE; //自PHP5.3.0起
 
echo MyClass::CONST_VALUE;
 
self,parent 和 static 这三个特殊的关键字是用于在类定义的内部对其属性或方法进行访问的。
 
Example #2 在类定义内部使用 ::
 
function __autoload($classname){
 
    require_once($classname.".php");
 
}
 
class OtherClass extends MyClass
 
{
 
    public static $my_static = 1;
 
    public static function doubleColon(){
 
        echo parent::CONST_VALUE.'<br>';
 
        echo self::$my_static,'<br>';
 
    }
 
}
 
$classname = 'OtherClass';
 
echo $classname::doubleColon();
 
OtherClass::doubleColon();
 
当一个子类覆盖其父类中的方法时,PHP 不会调用父类中已被覆盖的方法。是否调用父类的方法取决于子类。这种机制也作用于构造函数和析构函数,重载以及魔术方法。
 
Example #3 调用父类的方法
 
class MyClass
 
{
 
    protected function myFunc()
 
    {
 
        echo 'MyClass::myFunc()<br>';
 
    }
 
}
 
class OtherClass extends MyClass
 
{
 
    //覆盖了父类的定义
 
    public function myFunc()
 
    {
 
        //但还是可以调用父类中被覆盖的方法
 
        parent::myFunc();
 
        echo 'OtherClass::myFunc()<br>';
 
    }
 
}
 
$class = new OtherClass();
 
$class -> myFunc();
 
输出结果:
 
MyClass::myFunc()
 
OtherClass::myFunc()
 
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!