gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

范围解析操作符 (::) 。

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

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

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

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

在类的外部使用  :

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

?
1
2
3
4
5
6
7
8
9
<?php
class MyClass {
   const CONST_VALUE = 'A constant value' ;
}
 
$classname = 'MyClass' ;
echo $classname ::CONST_VALUE; // 自 PHP 5.3.0 起
 
echo MyClass::CONST_VALUE;

在类定义的内部使用 :

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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();

调用父类的方法 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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程序设计有所帮助.

原文链接:https://www.cnblogs.com/ryanzheng/p/11405699.html 。

最后此篇关于PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】的文章就讲到这里了,如果你想了解更多关于PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com