Мне нравится синтаксис HEREDOC, например, для пограничных случаев сгенерированного HTML, которые не стоит помещать в шаблон.
Единственная вещь, которая раздражает меня об этом, тем не менее, состоит в том, что содержание и заключительный маркер строки heredoc придерживаются первого столбца. Это завинчивает вложенные размещения кода:
class myclass
{
function __construct()
{
$a = some_code();
$b = some_more_code();
$x = <<<EOT
line1
line2
line3
line4
EOT;
$c = even_more_code();
$b = still_more_code();
...
...
...
Вы видите то, что я имею в виду.
Теперь это - вероятно, не разрешимый использующий нормальный HEREDOC. Кто-либо работал вокруг этого? Моя мечта состояла бы в том, чтобы иметь синтаксис HEREDOC с автоматическим добавлением отступа. Но я предполагаю, что это не возможно, не пишущий некоторый предварительный компилятор для исходных файлов.
Я корректен?
Это проблема, с которой я тоже часто сталкиваюсь: код не имеет хорошего отступа, когда я использую heredoc, а мне очень нравится heredoc :-(
Более серьезная проблема - когда вы выделяете целый блок кода, нажимаете "tab" (или любой эквивалент в вашей IDE), чтобы сделать больший отступ, потому что вы добавили условие вокруг него или что-нибудь еще... И это ломает heredoc-строки: вам приходится разворачивать их вручную :-(
К сожалению, я никогда не видел инструмента, подобного тому, который вы описываете...
Решением, я полагаю, было бы поместить строку heredoc в другой файл и включить его -- включение, как и отступы, может быть обычным; но это также означало бы загрузку еще одного файла, что сделало бы код менее понятным.