PHP代码中常见"::"的操作符,这个是作用域限定操作符,不实例化类就可访问类中定义的常量或者静态变量。
在PHP中定义作用域的有self和parent,在PHP6中提供了static作用域。
self:表示当前类的作用域,不能在类之外的代码使用self(也即实例化的对象均不能用self),在扩展类中使用self时,它调用的不是父类的方法,而是扩展类的重载方法。
parent:表示当前类父类的作用域。
<?php
class forasp{
static $url="http://www.forasp.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和类中重写的属性与方法。