PHP双冒号::的用法

V站笔记

双冒号操作符即作用域限定操作符Scope Resolution Operator可以访问静态、const和类中重写的属性与方法。

  在类定义外使用的话,使用类名调用。在PHP 5.3.0,可以使用变量代替类名。

  Program List:用变量在类定义外部访问 

<?phpclass Fruit {    const CONST_VALUE = 'Fruit Color';}$a = 'Fruit';echo $a::CONST_VALUE; ?> Program List:在类定义外部使用:: <?phpclass Fruit {    const CONST_VALUE = 'Fruit Color';}class Apple extends Fruit {    public static $b = 'Red';    public static function doubleColon() {        echo parent::CONST_VALUE . "\n";        echo self::$b . "\n";    }}Apple::doubleColon(); ?> 程序运行结果: Fruit Color Red Program List:调用parent方法 <?phpclass Fruit {    protected function showColor() {        echo "Fruit::showColor()\n";    }}class Apple extends Fruit { ?> 程序运行结果: Fruit::showColor() Apple::showColor() Program List:使用作用域限定符 <?php    class Apple {        public function showColor() {            return $c->color;        }    }    class Banana {        public $b;        public function __construct() {            $c->color = "Banana is yellow";        }        public function GetColor() {            return Apple::showColor();        }    }    $d = new Banana;    echo $d->GetColor(); ?> 程序运行结果: Banana is yellow Program List:调用基类的方法 <?php    class Fruit {        static function color() {            return "color";        }        static function showColor() {            echo "show " . self::color();        }    }    class Apple extends Fruit {        static function color() {            return "red";        }    }    Apple::showColor(); ?>

  程序运行结果: show color

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏菩提树下的杨过

Flash/Flex学习笔记(23):运动学原理

先写一个公用的小球类Ball: package{ import flash.display.Sprite; //小球 类 public class B...

25410
来自专栏张善友的专栏

Miguel de Icaza 细说 Mix 07大会上的Silverlight和DLR

Mono之父Miguel de Icaza 详细报道微软Mix 07大会上的Silverlight和DLR ,上面还谈到了Mono and Silverligh...

2717
来自专栏飞扬的花生

jsencrypt参数前端加密c#解密

      写程序时一般是通过form表单或者ajax方式将参数提交到服务器进行验证,如何防止提交的请求不被抓包后串改,虽然无法说绝对安全却给非法提交提高了难度...

3869
来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

5556
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2576
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3185
来自专栏魂祭心

原 canvas绘制clock

4164
来自专栏码匠的流水账

聊聊NettyConnector的start及shutdown

reactor-netty-0.7.6.RELEASE-sources.jar!/reactor/ipc/netty/NettyConnector.java

881
来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4868
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

6938

扫码关注云+社区