@Byran M. Sık sık kullandığım diğer WordPress geliştiricilerini sık görmediğim iki yapı kullanma eğilimindeyim, bu beni şaşırtıyor, ama onları çok seviyorum.
1.) Yorumlu metinler
Büyük metin bloklarını heredocs dizesi olarak şöyle görünebilir, böylece tek ve çift tırnakları karıştırmayla ilgili endişeleri saklayabilirim:
$html=<<<HTML
<input type="{$type}" size="{$size}" id="{$id}" class="{$class}" value="{$value}" />
HTML;
Değişkenlerin bir fonksiyona dizi olarak geçirilebileceğini ve daha sonra extract()
düzenlenebileceğini veya bunları başka şekillerde atayabileceğinizi unutmayın. Ayrıca, her zaman gerekli olduğu için değil, kodun okunmasını kolaylaştırdığı için parantezleri kullandığımı unutmayın. (Elbette WordPress'ten the_content()
maddi olarak farklı olmak gibi işlevlerle get_the_content()
bu kodlama tarzını her zaman kolay hale getirmez.)
Dahası, sizin için önemli olmasa da, HTML, SQL vb. Gibi yorumlu isimler kullanırsam IDE PhpStorm sözdizimi enjeksiyonu yapar ve heredoc içinde otomatik tamamlama ve sözdizimi renklendirmesi verir.
2.) Dizi Kullanarak Dize Birleştirme
Kullanmak istediğim diğer deyim, içeriği bir diziye ve sonra diziye toplamaktır implode()
. Her ne kadar ben hiç karşılaştırılmış bu yüzden ben dizeleri daha büyük olarak tekrarlanan dize birleştirme bir katil olduğunu bildiğimden daha az yardımcı olabilir, ancak (kimse bu yaklaşımın neden daha iyi olmadığını bilir veya daha iyi bir yaklaşım biliyorsanız ben geribildirim duymak isterim):
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);
}