Следующий код PHP выдаст ошибку:Переменные в Heredoc внутри объекта в PHP
class Foo{
public $bar = <<<EOF
{$this->foobar}
EOF;
public $foobar = "123";
public function echoBar(){
echo $this->bar;
}
}
Он даже не должны быть в скобках, любая попытка подстановки переменной выдает ошибку.
Может кто-нибудь объяснить, почему? Ошибка ввода heredoc внутри функции исправляет ошибку, но мне было интересно, что это за причина.
Версия php shell - Zend Engine v2.3.0.
«Версия PHP оболочки Zend Engine v2.3.0» Что такое PHP версии? Согласно официальным документам PHP, «Начиная с PHP 5.3 это ограничение допустимо только для heredocs, содержащих переменные». – JakeGould