Мне было интересно, является ли это «наилучшей практикой» или даже рекомендовано для моего случая использовать строку, содержащую переменные выражения, например:
$block = <<<HTML
<div class="image">
<img src="{$image_url}" />
</div>
HTML;
Проблема с использованием таких строк заключается в том, что я должен использовать их в функции, чтобы они не вызывались до определения их переменных. например:
function image() {
if( have_rows('image') ) {
while ( have_rows('image') ) {
the_row();
$image = get_sub_field('image');
$image_url = $image['url'];
}
return <<<HTML
<div class="image">
<img src="{$image_url}" />
</div>
HTML;
}
}
Вместо того, чтобы передавать строку извне функции, чтобы я мог абстрагировать функциональность (if / while statment, get_sub_field), я должен определить строку внутри функции, чтобы я не получил «not find» переменная $ image_url «ошибка.
Есть ли лучший способ сделать это? Возможно, объектно-ориентированный путь или функциональное программирование лучше?
Задача ещё не решена.
Других решений пока нет …