Site icon PlusMagi's Blog By Pitt Phunsanit

PHP: Short Open Tags

การใช้ PHP Short Open Tags ( การเขียน <? แทน <?php ) อาจดูเหมือนช่วยให้โค้ดสั้นลงและเขียนง่ายขึ้น แต่ในโลกของการพัฒนาซอฟต์แวร์ระดับมืออาชีพ สิ่งนี้ถือเป็นแนวทางปฏิบัติที่ควรหลีกเลี่ยงอย่างยิ่ง นี่คือเหตุผลและอันตรายที่คุณควรทราบครับ


ปัญหาด้านการย้ายระบบ ( Portability )

นี่คือปัญหาที่ใหญ่ที่สุด เพราะ Short Tags ถูกควบคุมโดยการตั้งค่าในไฟล์ php.ini ผ่านคำสั่ง short_open_tag


ความสับสนกับ XML Declaration

หากเว็บไซต์ของคุณมีการใช้งาน XML หรือไฟล์จำพวก SVG โครงสร้างไฟล์เหล่านี้จะเริ่มต้นด้วย: <?xml version="1.0" encoding="UTF-8" ?>

ถ้าคุณเปิดการใช้งาน Short Open Tags ใน PHP ตัว Parser จะสับสนว่า <?xml คือจุดเริ่มต้นของ PHP Code หรือไม่ ซึ่งจะส่งผลให้เกิด Parse Error ทันทีจนหน้าเว็บล่ม


ขัดต่อมาตรฐานสากล ( Coding Standards )

มาตรฐาน PSR-1 ( Basic Coding Standard ) ซึ่งเป็นที่ยอมรับทั่วโลกโดยกลุ่ม PHP-FIG ระบุไว้อย่างชัดเจนว่า

PHP code MUST use the long <?php ?> tags or the short-echo <?= ?> tags; it MUST NOT use the other tag variations.


ความสับสนในอนาคตของภาษา

ในอดีตเคยมีแท็กรูปแบบอื่นอย่าง <% ... %> (ASP style) หรือ <script language="php"> ซึ่งถูกถอดออกจาก PHP 7 ไปแล้ว แม้ว่าในปัจจุบัน <? ยังคงอยู่ (ถ้าเปิด Config) แต่ไม่มีใครรับประกันได้ว่ามันจะไม่ถูกถอดออกอย่างถาวรในเวอร์ชันอนาคตเพื่อความสะอาดของตัวภาษา


ข้อควรจำ: ข้อยกเว้นสำหรับ Short Echo Tag

โปรดจำไว้ว่า <?= (Short Echo Tag) นั้นแตกต่างจาก <? (Short Open Tag) ทั่วไป


คำแนะนำในการแก้ไข

หากคุณมีโปรเจกต์เก่าที่ใช้ Short Tags อยู่จำนวนมาก แนะนำให้ใช้เครื่องมือประเภท Search and Replace หรือ Tool อย่าง PHP Coding Standards Fixer ( PHP CS Fixer ) เพื่อเปลี่ยนจาก <? เป็น <?php ให้หมดทั้งโปรเจกต์ เพื่อความปลอดภัยและความยั่งยืนของ Code ครับ


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

Exit mobile version