การใช้ echo ใน PHP ดูเหมือนจะเป็นเรื่องพื้นฐานที่สุด แต่จริง ๆ แล้วมีเทคนิคเล็ก ๆ น้อย ๆ ที่ช่วยให้ Code ของคุณสะอาดขึ้น และในบางกรณีอาจช่วยเรื่อง Performance ได้ด้วยครับ
นี่คือสรุป Tips การใช้งาน echo แบบมือโปรครับ
ใช้ Comma แทนการเชื่อมสตริงด้วย Dot
หลายคนชินกับการใช้จุด . เพื่อเชื่อมข้อความ แต่รู้หรือไม่ว่า echo สามารถรับพารามิเตอร์ได้หลายตัวโดยใช้เครื่องหมายคอมม่า ,
- แบบเดิม : PHP จะต้องเอาสตริงมาต่อกันให้เสร็จใน Memory ก่อนแล้วค่อยแสดงผล
- แบบใหม่ : PHP จะทยอยพ่นค่าออกไปทีละตัวโดยไม่ต้องสร้างสตริงชุดใหม่ใน Memory
// แบบใช้จุด (สร้างสตริงใหม่ใน Memory ก่อนแสดงผล) echo "สวัสดีคุณ " . $name . " ยินดีต้อนรับสู่ " . $website;
// แบบใช้คอมม่า (มีประสิทธิภาพมากกว่าเล็กน้อย) echo "สวัสดีคุณ ", $name, " ยินดีต้อนรับสู่ ", $website;
ลดการเรียกใช้ echo ซ้ำซ้อน
แทนที่จะเขียน echo แยกบรรทัดกันหลายๆ รอบ ซึ่งทำให้ Code ดูรก คุณสามารถรวมมันเป็นคำสั่งเดียวได้เลยตัวอย่างที่ไม่แนะนำ
echo "<h1>หัวข้อ</h1>";
echo "<p>เนื้อหาบทความ...</p>";
echo "<small>ผู้เขียน: Admin</small>";
ตัวอย่างที่แนะนำ
echo "<h1>หัวข้อ</h1>",
"<p>เนื้อหาบทความ...</p>",
"<small>ผู้เขียน: Admin</small>";
Double Quotes vs Single Quotes
การเลือกใช้เครื่องหมายคำพูดมีผลกับความเร็วและการเขียน Variable ครับ
- Single Quotes : PHP จะมองว่าเป็นข้อความดิบๆ ไม่มีการตรวจสอบตัวแปรข้างใน
- Double Quotes : PHP จะทำการ Parse หรือตรวจสอบว่ามีตัวแปรอยู่ข้างในหรือไม่ ถ้ามีจะแทนค่าให้ทันที
$color = "แดง";
// แบบนี้ PHP ต้องเสียเวลาสแกนหาตัวแปร
echo "รถคันนี้สี $color";
// แบบนี้ PHP พ่นออกไปได้เลย (ถ้าไม่มีตัวแปร แนะนำแบบนี้) echo 'รถคันนี้สีแดง';
ใช้ Heredoc สำหรับ HTML ยาว ๆ
ถ้าคุณต้อง echo โค้ด HTML หรือข้อความที่มีจำนวนบรรทัดเยอะๆ การใช้ echo "..." หรือ echo '...' อาจจะทำให้จัดการเครื่องหมายคำพูด ลำบาก การใช้ Heredoc จะช่วยได้มากครับ
$title = "PHP Tips";
$content = "การใช้ echo อย่างถูกวิธี";
echo <<<HTML
<div class="card">
<h2>{$title}</h2>
<p>{$content}</p>
</div>
HTML;
สรุป
การเลือกใช้เทคนิคเหล่านี้อาจไม่ได้เห็นผลเรื่องความเร็วแบบถล่มทลายในโปรเจกต์ขนาดเล็ก แต่จะช่วยให้ Code Quality ดีขึ้น อ่านง่ายขึ้น และลดภาระของ Memory ในโปรเจกต์ที่มีการประมวลผลข้อความจำนวนมากครับ
อ่านเพิ่มเติม