หมวดหมู่: PHP

PHP: echo tipsPHP: echo tips

การใช้ 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 ในโปรเจกต์ที่มีการประมวลผลข้อความจำนวนมากครับ


อ่านเพิ่มเติม