我有这个我正在定义的静态变量但我的代码中出现错误:
..意外的'$ _SERVER'(T_VARIABLE)......
class Constants {
const ACCOUNTTYPE_SUPER_ADMIN = 1;
const ACCOUNTTYPE_COMPANY_ADMIN = 2;
const ACCOUNTTYPE_AREA_ADMIN = 3;
const ACCOUNTTYPE_END_USER = 4;
const SAVETYPE_NEW = 0;
const SAVETYPE_EDIT = 1;
const LICENSE_VALIDITY_YEARS = 1;
const LICENSE_VALIDITY_LEFT_MAX = 12;
public static $template_path = $_SERVER['DOCUMENT_ROOT'] . '/../_html/';
}
答案 0 :(得分:3)
您无法使用变量声明静态变量,但您可以使用变通方法:
class Constants {
...
public static $template_path;
}
Constants::$template_path = $_SERVER['DOCUMENT_ROOT'] . '/../_html/';
答案 1 :(得分:2)
您只能在定义类成员时指定直接值。
但是你可以创建一个方法init()来改变你的模板路径成员值。
public static function init(){ self::$template_path = $_SERVER['DOCUMENT_ROOT'] . '/../_html/'; }
并在首次使用该类或实例化它时运行它。
答案 2 :(得分:0)
你可以使用静态功能
class Constants {
// ...
public static function getTemplatePath()
{
return $_SERVER['DOCUMENT_ROOT'] . '/../_html/';
}
}
可以像
一样使用Constants::getTemplatePath();