PHP代码中常见”::”的操作符,这个是作用域限定操作符,它用来置顶类中不通作用域的级别,左边是作用域,右边是访问作用域的成员。

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

在PHP中定义作用域的有self和parent,在PHP6中提供了static作用域。

self:表示当前类的作用域,不能在类之外的代码使用self,在扩展类中使用self时,它调用的不是父类的方法,而是扩展类的重载方法。

parent:表示当前类父类的作用域。

<?php
class forasp{
static $url=”http://www.4u4v.cn“;
static $webname = “网站制作学习之php双冒号”;
public function writeurl(){
echo self::$url; //调用自己的内容
}
public function writewebname(){
echo “测试子类调用父类内容”;
}
}
class cn extends forasp{
function father(){
parent::wirtewebname();
}
}
$a = new forasp();//实例化父类
$a->writeurl();//调用自身内容
$b = new cn();
$b->writewebname();//调用父类内容
?>

阿里云-推广AD

调用静态方法的时,可以使用::调用类中的静态方法或者属性。

用法:

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

那么,与箭头->操作符 在应用上的区别在哪里?

当在类的外部访问这些静态成员、方法和常量时,必须使用类的名字。
双冒号范围解析操作符一般是用在静态方法、静态变量的调用,此时类不需要实例化。
而用箭头操作符->时,必须要将类进行实例化(或者在类的内部调用也可以)。