Мне было интересно, есть ли возможность в PHP сделать следующее:
<?php
class boo {
static public $myVariable;
public function __construct ($variable) {
self::$myVariable = $variable;
}
}
class foo {
public $firstVar;
public $secondVar;
public $anotherClass;
public function __construct($configArray) {
$this->firstVar = $configArray['firstVal'];
$this->secondVar= $configArray['secondVar'];
$this->anotherClass= new boo($configArray['thirdVal']);
}
}
$classFoo = new foo (array('firstVal'=>'1st Value', 'secondVar'=>'2nd Value', 'thirdVal'=>'Hello World',));
echo $classFoo->anotherClass::$myVariable;
?>
Ожидаемый ВЫХОД: Hello World
Я получаю следующую ошибку;Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM
Я гуглил и это связано с двоеточием (двойными точками) в $classFoo->anotherClass::$myVariable
Я не хотел бы изо всех сил менять свойдругие классы.Есть ли какая-либо проблема вокруг этой проблемы?
Спасибо за вашу помощь заранее.
PS Я просто не хотел терять несколько часов на это, чтобы найти способвокруг.Вчера я уже потратил 2,5 часа, чтобы изменить почти весь Jquery, потому что клиент хотел изменения, и сегодня утром меня попросили вернуть изменения, потому что они не хотели его использовать (они передумали).Я просто сейчас пытаюсь избежать больших перемен.