У меня проблема, когда я вызываю статический 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;
http://docs.php.net/language.oop5.properties говорит:
Они определяются с использованием одного из ключевых слов public, protected или private, за которым следует объявление нормальной переменной. Это объявление может включать в себя инициализацию, но эта инициализация должна быть постоянным значением – то есть она должна быть способна быть оценена во время компиляции и не должна зависеть от информации о времени выполнения для оценки.
Ваши конкатенации строк не являются постоянными. Парсер не «понимает» . оператор в части инициализации и, следовательно, печатает unexpected '.'
Вы не можете использовать выражения для инициализации полей класса.