当我从另一个类调用静态var时,我遇到了问题。我得到这个漂亮的语法错误,其中php意外的'。'
这就是我所说的地方:
private $aLien = array(
"menu1" => array("Accueil","statique/".Variable_init::$langue."/accueil.html",0,0), //This line
"menu2" => array("Infos Pratiques","statique/".Variable_init::$langue."/info.html",0,0),
"menu3" => array("Faire une réservation","statique/".Variable_init::$langue."/reserver.html",0,0),
"menu4" => array("Pour Nous Joindre","statique/".Variable_init::$langue."/nousJoindre.html",0,0),
"menu5" => array("Plan du site","statique/".Variable_init::$langue."/plansite.html",0,0)
);
这是来自另一个类的静态var声明:
class Variable_init implements iVariable_init{
public static $langue;
public static $id_choix;
public static $id_contenu;
答案 0 :(得分:10)
http://docs.php.net/language.oop5.properties说:
它们是通过使用public,protected或private之一,然后是普通变量声明来定义的。 此声明可能包含初始化,但此初始化必须是常量值 - 也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能成为评估。您的字符串连接不是常量。解析器无法“理解”初始化部分中的. operator,因此会打印
unexpected '.'
答案 1 :(得分:7)
您无法使用表达式初始化类字段。