在php中访问静态变量
我有一个带有静态变量和get函数的类的简单例子 所有编译都正常,但在运行时我得到了这个错误在php中访问静态变量,php,function,static,getter,Php,Function,Static,Getter,我有一个带有静态变量和get函数的类的简单例子 所有编译都正常,但在运行时我得到了这个错误 [Sun Jul 25 03:57:07 2010] [error] [client 127.0.0.1] PHP Fatal error: Undefined class constant 'TYPE' in ..... 对于函数getType() 这是我的班级 class NoSuchRequestHandler implements Handler{ public static $TYP
[Sun Jul 25 03:57:07 2010] [error] [client 127.0.0.1] PHP Fatal error: Undefined class constant 'TYPE' in .....
对于函数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;
}
}
谢谢大家由于这是公开的,您可以通过两种方式访问它
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.
PHP认为您试图访问类常量是因为:
return self::TYPE;
正如Chris提到的,使用:
return self::$TYPE;
可能令人困惑的问题是关于非静态类的变量
$myClass->anyVar //here there is no $ character for class variable
但是对于静态类
MYCLASS::$anyVar // you must use the $ char for class variable
我想你最好在这里指出错误是什么。谢谢,这对我也有帮助:)