he creado una clase, que simplificó es la siguiente:Uso de variables estáticas de clase - en un heredoc
class Labels {
static public $NAMELABEL = "Name";
}
éxito que tiene el siguiente código que funciona bien:
echo '<table border="1">';
echo '<tr>';
echo "<th>" . Labels::$NAMELABEL . "</th>";
echo '</tr>';
// the rest of the Table code not shown for brevity...
echo "</table>";
Veo una tabla con un encabezado de columna llamado Nombre cuando ejecuto esto - por lo que funciona bien.
Pero no dentro de una heredoc - consigo "Notice: Undefined variable: NAMELABEL en C: \ xampp ........ bla bla" cuando corro el siguiente:
echo <<<_END
<form action="index.php" method="post"><pre>
Labels::$NAMELABEL : <input type="text" name="author" />
<input type="submit" value="ADD RECORD" />
</pre></form>
_END;
He intentado todo tipo de citas, string concat operator '.', Nada funciona. Me imaginé "Bueno, tengo las variables de clase estáticas para trabajar en una tabla HTML, por qué no a heredoc."
Dang Me encantan los dodoles, vienen con un nombre raro y problemas extraños. Es el tipo de diversión alucinante que anhelo, aquí los doctores son monos doosh justos.
Realmente quiero usar mis variables de clase estáticas aquí - ¿hay alguna combinación de comillas/cadena de concatenación que me permita incrustarlas en mis heredocs?
¿Qué versión de PHP está ejecutando, 5.3 o una versión anterior? –
Este es un error de larga duración en el analizador Heredoc (problema de alcance). Me encontré con esto hoy mientras buscaba información sobre una variable estática relacionada con el error de análisis de heredoc. – h0tw1r3