关于类静态方法的小tip

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;

$b->test();


如上例,静态方法的好处之一是在局部变量作用范围达不到的地方,类的实例即失效,除非启动全局变量,但是类的内容仍然处在作用范围内,因此可以直接使用类内的静态方法。

你可能感兴趣的:(function,Class)