作用域分辨运算符(::)
在PHP4中,在没有声明任何实例的情况下访问类中的函数或者基类中的函数和变量很有用处。而 :: 运算符即用于此情况。
<?php
class A {
function example() {
echo "I am the original function A::example().<br />\n";
}
}
class B extends A {
function example() {
echo "I am the redefined function B::example().<br />\n";
A::example();
}
}
// A 类没有对象,这将输出
// I am the original function A::example().<br />
A::example();
// 建立一个 B 类的对象
$b = new B;
// 这将输出
// I am the redefined function B::example().<br />
// I am the original function A::example().<br />
这里我觉得有点奇怪,不是应该是覆盖A了么,应该只是输出
// I am the original function A::example().<br />
$b->example();
?>
上面这种情况在PHP5中是不是不能使用A::example();