找回密码
 注册
首页 ≡≡网络技术≡≡ PHP语言 PHP作用域限定符双冒号::的用法及意义

PHP PHP作用域限定符双冒号::的用法及意义

灰儿 2016-11-29 14:56:13
今天看江湖家居门户系统的源码,发现PHP类代码中常看到双冒号"::"操作符,这个是作用域限定操作符,是用一个双冒号"::"表示,它用来置顶类中不通作用域的级别。左边是作用域,右边是访问作用域的成员。

一,当调用静态属性和静态方法时
::与->的作用相同,只不过使用的对象不一样!::引用类里面的静态方法或者属性,而且不需要实例化!
建立一个类,并且建立一个静态属性$a,一个静态方法b,如下:
  1. class test {  
  2.     static public $a;  
  3.     static public function b() {}  
  4. }  
复制代码

如果要调用静态属性$a,如下

  1. test::$a;
复制代码

注意,a前面需要带$符号,这一点与->符号不一样!

如果要调用静态方法b,如下

  1. test::b();
复制代码
二,当调用自身类或者父类的属性或者方法时

首先建立一个父类
  1. class test {  
  2.     public function b() {}  
  3. }  
复制代码

然后建立一个子类继承父类
  1. class tests extends test {  
  2.     public function cs() {}  
  3. }  
复制代码


当我们需要调用父类的方法b时
  1. parent::b();  
复制代码
当我们需要调用自身的方法cs时,有两种方法
  1. $this->cs();  
复制代码

  1. self::cs();  
复制代码



我遇到的大概就是以上两种情况,如果大家还遇到什么其他的情况,欢迎回帖补充哈!





您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。