在PHP中,双冒号指的是作用域限定操作符,可以用于访问静态成员,也就是用变量将类表示出来,再用双冒号在类的外部访问其中的静态成员,语法为“test::$静态属性”或“test::静态方法”。
本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑。
PHP中双冒号的用法是什么
双冒号操作符:即作用域限定操作符Scope Resolution Operator可以访问静态、const和类中重写的属性与方法。
1.用变量访问静态成员
其实就是用变量把类表示出来,再用双冒号再类外部访问其中的静态成员。
<?PHP class Fruit{ const CONST_VALUE='fruit color'; } $classname='Fruit'; echo $classname::CONST_VALUE;//fruit color ?>
访问自己的时候就把类名换成$SELF,例如:
<?PHP class Fruit { const CONST_VALUE = 'Fruit Color'; } class Apple extends Fruit { public static $color = 'Red'; public static function doubleColon() { echo parent::CONST_VALUE . \n; echo self::$color . \n; } } Apple::doubleColon();//Fruit Color Red ?>
2.用parent访问
<?PHP class Fruit { protected function showColor() { echo Fruit::showColor()\n; } } class Apple extends Fruit { // Override parent's deFinition public function showColor() { // But still call the parent function parent::showColor(); echo Apple::showColor()\n; } } $apple = new Apple(); $apple->showColor(); ?>
运行结果:
Fruit::showColor()
Apple::showColor()
推荐学习:《PHP教程》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。