我试图用一些静态变量定义一个PHP类。我正在尝试执行以下操作以避免使用全局变量。
class class_Name{
private static $var1 = is_plugin_inactive('plugin/plugin.php'); //check if WordPress has this plugin active
public static function doSomeStuff(){
echo $var1;
}
}
//init class
class_Name::doSomeStuff();
这总是让我在定义静态变量时出现错误Parse error: syntax error, unexpected '(', expecting ',' or ';' in my_file.php
。
请帮助。
答案 0 :(得分:1)
如果您想在$ var1中保存非常量表达式,则需要从方法中设置,例如init方法:
class class_Name {
private static $var1 = null;
public static function init() {
self::$var1 = is_plugin_inactive('plugin/plugin.php');
}
public static function doSomeStuff() {
echo self::$var1;
}
}
class_Name::init();
class_Name::doSomeStuff();
答案 1 :(得分:1)
不确定您的具体情况,但是可以这样做:
class class_Name {
private static $var1 = null;
//check if WordPress has this plugin active
public static function doSomeStuff(){
if(is_null(self::$var1))
self::$var1 = is_plugin_inactive('plugin/plugin.php');
echo self::$var1;
}
}
基本上就像你想要的那样调用函数,但是如果它还没有那么初始化它?