欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php中双冒号::范围解析操作符的含义介绍

程序员文章站 2022-03-20 13:44:40
...
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();//调用父类内容
?>

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

用法:

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

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

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

以上就是php中双冒号::范围解析操作符的含义介绍的详细内容,更多请关注其它相关文章!

相关标签: php 含义 操作