Jouant avec heredocs en PHP, j'ai réalisé que le nom de l'heredoc ne doit pas être unique. Ainsi:Heredocs - En utilisant le même nom deux fois? Pourquoi les nommer du tout?
$a = <<<EOD
Some string
EOD;
$b = <<<EOD
A different string
EOD;
est correct et se comporte exactement comme vous vous y attendiez.
Est-ce une mauvaise pratique pour une raison quelconque? Pourquoi un heredoc a-t-il besoin d'un nom/label (EOD
ci-dessus), puisque vous ne pouvez pas le référencer par son nom?
exactement. alors vous utilisez un délimiteur différent qui n'est pas EOD. Notez que la fin des hérédocs doit commencer sur le premier caractère de la ligne, ce qui aide à la spécificité. Notez également que le texte substitué n'est pas analysé pour le terminateur heredoc - cela signifie que vous pouvez simplement scanner votre code une fois pour cette simple erreur, et vous savez que vous ne l'avez pas fait. –