在php中访问静态变量

sha*_*hay 0 php getter static function

我有一个带有静态变量的类的简单情况和一个get函数都编译好,但在运行时我收到此错误

[Sun Jul 25 03:57:07 2010] [error] [client 127.0.0.1] PHP Fatal error:  Undefined class constant 'TYPE' in .....
Run Code Online (Sandbox Code Playgroud)

用于函数getType()

这是我的课

class NoSuchRequestHandler implements Handler{
    public static $TYPE  = 2001;
    public static $VER   = 0;

    public function getType(){
      return self::TYPE;
    }

    public function getVersion(){
      return self::VER;
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢你们

Geo*_*ian 6

PHP认为您正在尝试访问类常量,因为:

return self::TYPE;
Run Code Online (Sandbox Code Playgroud)

http://www.php.net/manual/en/language.oop5.paamayim-nekudotayim.php

正如克里斯提到的,使用:

return self::$TYPE;
Run Code Online (Sandbox Code Playgroud)


Chr*_*ris 5

您可以通过两种方式访问​​这两种方式,因为它是公开的...

class NoSuchRequestHandler implements Handler{
    public static $TYPE  = 2001;
    public static $VER   = 0;

    public function getType(){
        return self::$TYPE;  //not the "$" you were missing.  
    }

    public function getVersion(){
        return self::$VER;
    }
}

echo NoSuchRequestHandler::$TYPE; //outside of the class.
Run Code Online (Sandbox Code Playgroud)