@ Byran M. ฉันมักจะใช้สองโครงสร้างฉันไม่เห็นนักพัฒนา WordPress คนอื่นที่ใช้บ่อยซึ่งทำให้ฉันประหลาดใจ แต่ฉันชอบพวกเขามาก
1. ) Heredocs
คุณสามารถจัดเก็บบล็อกข้อความขนาดใหญ่เป็นสตริงheredocsที่อาจมีลักษณะเช่นนี้ดังนั้นฉันสามารถเก็บความกังวลเกี่ยวกับการผสมคำพูดเดี่ยวและคู่:
$html=<<<HTML
<input type="{$type}" size="{$size}" id="{$id}" class="{$class}" value="{$value}" />
HTML;
โปรดทราบว่าตัวแปรอาจถูกส่งผ่านไปยังฟังก์ชั่นเป็นอาร์เรย์และจากนั้นextract()
ed หรือคุณสามารถกำหนดตัวแปรเหล่านี้ในรูปแบบอื่น นอกจากนี้โปรดทราบว่าฉันใช้วงเล็บปีกกาไม่ได้เพราะพวกเขาจำเป็นต้องใช้เสมอ แต่พวกเขาทำให้รหัสอ่านง่ายขึ้น (แน่นอนว่าด้วยฟังก์ชั่น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);
}