เข้าชม :
814
|
|
อย่าก๊อบปี้ตัวแปรโดยไม่มีเหตุผล
บางคนพยายามเขียนให้ดูง่ายโดยการทำการก๊อปปี้ตัวแปร มาไว้ในตัวแปรอีกตัวหนึ่งที่ชื่อสั้นกว่า ทำไมต้องไปใช้ เม็มโมรี่ซ้ำซ้อนละครับ? ดังนั้นลองดูตัวอย่างนี้คับ แล้วลองคิดดูว่าถ้าหากผู้ใ้ช้ป้อนข้อความขนาด 512 KB ในช่องรับค่า Text ตัวแรกจะมีการเม็มโมรี่ถึง 1MB เลยทีเดียว!! BAD $description = $_POST['description']; echo $description; GOOD echo $_POST['description']; ใช้ single-quotes สำหรับสตริง ภาษา PHP อนุญาตให้ใช้ได้ทั้ง single และ double quote สำหรับ ตัวแปรชนิดสตริง แต่มันก็ต่างกันนะครับ!! การใ้ช้ดับเบิ้ลโควทใช้เมื่อ ต้องการให้สตริงนั้นบอกแก่ตัว PHP engine ให้อ่านสตริงใน content และมองหาตัวแปร เพื่อทำการแทนค่า ดังนั้นหากสตริงใดไม่ได้ มีตัวแปร ก็ไม่จำเป็นต้องใช้ดับเบิ้ลโควท BAD $output = "This is a plain string"; GOOD $output = 'This is a plain string'; BAD $type = "mixed"; $output = "This is a $type string"; GOOD $type = 'mixed'; $output = 'This is a ' . $type .' string'; ใช้ echo สำหรับ print ใช้ฟังก์ชัน echo() สำหรับแสดงผลลัพธ์ทำให้ประสิทธิภาพการทำงานดีกว่า BAD <?php print($myVariable); ?> GOOD <?php echo $myVariable; ?> อย่าใช้การเชื่อมต่อด้วย echo โปรแกรมเมอร์ภาษา PHP หลายคนอาจจะไม่รู้ว่าเราสามารถละ การเชื่อมต่อตัวแปรด้วย echo ได้ โดยการใช้ comma (,) แทน เพราะถ้าหากทำเหมือนในตัวอย่างแรก PHP engine จะต้องทำการ ต่อตัวแปรทั้งหมดเข้าด้วยกันก่อน จากนั้นก็ทำการแสดงผลซึ่งทำให้ มีการทำงานช้ากว่า ในขณะที่ตัวอย่างถัดมา จะแสดงผลลัพธ์ตามลำดับได้เลย BAD echo 'Hello, my name is' . $firstName . $lastName . ' and I live in ' . $city; GOOD echo 'Hello, my name is' , $firstName , $lastName , ' and I live in ' , $city; ใช้ switch/case แทน if/else ใช้ switch/case statements ดีกว่าใช้ if/else statements ในกรณีที่ใช้ตัวแปรเพียงตัวเดียว BAD if($_POST['action'] == 'add') { addUser(); } else if ($_POST['action'] == 'delete') { deleteUser(); } else if ($_POST['action'] == 'edit') { editUser(); } else { defaultAction(); } GOOD switch($_POST['action']) { case 'add': addUser(); break; case 'delete': deleteUser(); break; case 'edit': editUser(); break; default: defaultAction(); break; } credit:http://www.narongrit.net/blog-%A1%D2%C3%E0%A2%D5%C2%B9%20php%20%E3%CB%E9%C3%D1%B9%A7%E8%D2%C2%E1%C5%D0%BB%C3%D0%CB%C2%D1%B4%E0%C7%C5%D2.html |
PHP
|
|