Cómo mostrar el valor de un elemento de matriz o propiedad de objeto en la sintaxis Heredoc de PHP
Tengo problemas para mostrar un valor de matriz dentro de un campo de entrada heredoc. Aquí hay un fragmento de código:
class Snippet{
protected $_user;
protected $_class;
protected $_messages;
public function __construct(){
$this->_user = $this->_class = NULL;
$this->createUser();
}
public function createUser(){
$keys = array('user_login','user_email');
$this->_user = $this->_class = array_fill_keys($keys, '');
}
public function userErrors(){
//by default give the login field autofocus
$_class['user_login'] = 'autofocus';
}
public function getForm(){
return <<<HTML
<form id='test' action='' method='post'>
$this->_messages
<fieldset>
<legend>Testing Heredoc</legend>
<ol>
<li>
<label for='user_login'>Username</label>
<input id='user_login' name='user_login' type='text' placeholder='Login name' value=$this->_user[user_login] $this->_class[user_login]>
</li>
</ol>
</fieldset>
</form>
HTML;
}
}
Mi salida produce un cuadro de entrada etiquetado con el valor mostrado comoArray[user_login]
. Puedo asignar la matriz a variables separadas y obtener la salida que estoy buscando, pero esto parece un desperdicio innecesario. PHP 5.3.5