@Byran M. Я, как правило, использую две конструкции, которые не часто встречают другие разработчики WordPress, что меня удивляет, но они мне очень нравятся.
1.) Heredocs
Вы можете хранить большие блоки текста в виде строки heredocs, которая может выглядеть следующим образом, поэтому я могу не беспокоиться о смешивании одинарных и двойных кавычек:
$html=<<<HTML
<input type="{$type}" size="{$size}" id="{$id}" class="{$class}" value="{$value}" />
HTML;
Обратите внимание, что переменные могут передаваться в функцию в виде массива, а затем extract()
редактироваться, или вы можете назначить их другими способами. Также обратите внимание, что я использую фигурные скобки не потому, что они всегда требуются, но они облегчают чтение кода. (Конечно, такие функции, как the_content()
существенное отличие от get_the_content()
WordPress, не всегда облегчают этот стиль кодирования.)
Более того, хотя это может не относиться к вам, если я использую имена heredoc, такие как HTML, SQL и т. Д., Тогда моя среда IDE PhpStorm выполняет инъекцию синтаксиса и дает мне автозаполнение и выделение синтаксиса внутри heredoc.
2.) Конкатенация строк с использованием массива
Другая идиома, которую мне нравится использовать, - это собирать содержимое в массив, а затем implode()
в массив. Несмотря на то, что я никогда не тестировал этот процесс, он может оказаться менее полезным, чем, я полагаю, я знаю, что повторная конкатенация строк является убийцей, поскольку строки становятся больше (если кто-то знает, почему этот подход не лучше, или если вы знаете лучший подход, я Буду рад услышать отзывы)
function my_get_form_and_fields($input_items) {
$html = array();
$html[] = '<form name="my_form" method="get">';
foreach($input_items as $input_item) {
extract($input_item);
$html=<<<HTML
<input type="{$type}" size="{$size}" id="{$id}" class="{$class}" value="{$value}" />
HTML;
$html[] = '</form>';
return implode("\n",$html);
}