PHP双冒号的用法
1.用变量访问静态成员
其实就是用变量把类表示出来,再用双冒号再类外部访问其中的静态成员。
<?php
class Fruit{
const CONST_VALUE='fruit color';
}
$classname='Fruit';
echo $classname::CONST_VALUE;//fruit color
?>
访问自己的时候就把类名换成$SELF,例如:
<?php
class Fruit {
const CONST_VALUE = 'Fruit Color';
}
class Apple extends Fruit
{
public static $color = 'Red';
public static function doubleColon() {
echo parent::CONST_VALUE . "\n";
echo self::$color . "\n";
}
}
Apple::doubleColon();//Fruit Color Red
?>
2.用parent访问
访问父类的方法。
<?php
class Fruit
{
protected function showColor() {
echo "Fruit::showColor()\n";
}
}
class Apple extends Fruit
{
// Override parent's definition
public function showColor()
{
// But still call the parent function
parent::showColor();
echo "Apple::showColor()\n";
}
}
$apple = new Apple();
$apple->showColor();
?>
运行结果:
Fruit::showColor()
Apple::showColor()