доступ к свойствам класса, которые являются массивами в HEREDOC

В приведенном ниже примере есть два разных синтаксиса. Один работает, а другой нет! На самом деле я ожидал, что все будет наоборот. Второй синтаксис кажется мне довольно дрянным.

<?php
class Vodoo
{
    public $foo = array();

    public function __construct()
    {
        $this->foo = array('one' => 1, 'two' => 2, 'three' => 3);
    }

    public function getFoo()
    {
        $return = <<<HEREDOC
<p>$this->foo[one]</p>      // outputs: "Array[one]"
<p>{$this->foo['two']}</p>  // outputs correct: "2"

HEREDOC;
        return $return;
    }
}
$bar = new Vodoo;
echo $bar->getFoo();
?>

Можно ли использовать эти фигурные скобки и указывать ассоциативный индекс внутри HEREDOC?

редактировать : Выражение внутри фигурных скобок должно быть написано так, как оно 'будет отображаться за пределами строки!

6
задан hakre 18 December 2012 в 17:12
поделиться