HEREDOC интересная синтаксическая конструкция в PHP, и очень многие программисты стараются обойти это дело стороной, потому что как правило ни у кого сразу не получается работать с HEREDOC без ошибок, а ошибки выдаются как правило критические, что не хорошо.
Ну что же давайте напишем канонический HEREDOC:
<?php
$z = 'number';
$x = <<<AAA
Hello 123
755 $z
AAA;
echo $x;
?>
И что же тут можно намудрить, когда в целом вроде всё понятно?
Ну начнём с того, что магия не произойдёт если не закрыть фигурные скобки PHP, а именно ?>
Лично я постоянно сталкиваюсь именно с этой ошибкой, так как привык не закрывать файлы PHP символом ?>
И если не использовать HEREDOC, то это как раз хорошая и нормальная практика программирования на PHP.
Вторая частая ошибка, это после последней метки HEREDOC, в нашем случае AAA; после конструкции поставить пробел или ещё какие нибудь символы, в общем нельзя.
Также нельзя ставить символы и перед закрывающей меткой, очень частая ошибка, так что тоже - нельзя.
Также перед после метки начала, не должно быть ни пробелов, ни символов, написали метку и нажали Enter. На этом закончили.
Это ошибки, которые допускают все в 99% случаев, и ничего страшного нет в том, что когда вы начнёте использовать HEREDOC, у вас полезут эти ошибки, со временем набьёте руку и быстро научитесь определять где лишний пробел вы поставили.
Есть места в программе, где использовать HEREDOC и оправданно и выгодно со всех точек зрения, так что пользуйтесь и не бойтесь ошибок, их всегда можно обнаружить.
Добавить комментарий