class test1{
public static function test(){
echo __CLASS__.'::'.__FUNCTION__;
}
}
$a = new test1;
class test2{
public function test(){
echo class_exists('test1');
echo (int)isset($a);
//face an error
$a->test();
//running well
test1::test();
}
}
$b = new test2;
public static function test(){
echo __CLASS__.'::'.__FUNCTION__;
}
}
$a = new test1;
class test2{
public function test(){
echo class_exists('test1');
echo (int)isset($a);
//face an error
$a->test();
//running well
test1::test();
}
}
$b = new test2;
$b->test();
如上例,静态方法的好处之一是在局部变量作用范围达不到的地方,类的实例即失效,除非启动全局变量,但是类的内容仍然处在作用范围内,因此可以直接使用类内的静态方法。