6 เทคนิคการเขียนคำสั่ง PHP ให้ทำงานเร็วขึ้น

1. ใช้เครื่องหมายคอมม่า (,) แทนเครื่องหมายจุด (.) ในการเชื่อมต่อ string เช่น

2. เมื่อต้องการแสดงตัวแปรให้ใช้เครื่องหมาย Double Quotes ครอบไว้เร็วกว่า เช่น

3. ถ้าแสดงผลเฉพาะ string อย่างเดียวไม่มีตัวแปรข้างใน ใช้ single quotes ( ‘ ‘ ) เร็วกว่า double quotes(“”) นะ เช่น

4. ถ้ามี array เยอะๆ การวนลูปแนะนำให้ใช้ foreach (เร็วที่สุด) ตามด้วย while และ for ตามลำดับ

5. การอ่านหรือเปิดไฟล์ ฟังก์ชัน file_get_contents() เร็วกว่า fread() ทั้งไฟล์เล็กและไฟล์ขนาดใหญ่<br />

6. เลิกใส่เครื่องหมาย @ ไว้หน้าคำสั่ง เพื่อหยุด Error มันทำให้การทำงานช้าลงนะ<br />

อันนี้เน้นเฉพาะการเขียนโค้ดนะ จริงๆต้องปรับส่วนอื่นๆด้วยนะครับ เช่น Web Server, Database เป็นต้น 🙂

3 แนวทางง่ายๆ เขียน PHP ให้ปลอดภัย แค่ใส่ใจกับอินพุต

อย่าเชื่อ!! ว่าข้อมูลที่รับมาจากแหล่งที่เราควบคุมไม่ได้ ไม่ว่าจะเป็น $_GET,$_POST,$_REQUEST,$_COOKIE,$argv,file_get_contents(),Remote databases,Remote APIs และ ข้อมูลทุกอย่างที่มาจาก Client ว่าจะปลอดภัยครับ เราควรต้องกรอง และคอยตรวจสอบความถูกต้องของข้อมูลเสมอ ดังนี้

  1. ควรกรองข้อมูลอักขระพิเศษต่างๆ จาก HTML ด้วย เช่น การใช้ฟังก์ชัน htmlentities() ตัวอย่าง

    ฟังก์ชัน htmlentities() จะช่วยให้เรากรองและแปลง HTML ให้กลายเป็น string ที่ปลอดภัยครับ หรือใครอยากลองเล่น Html Purifier Libray ตามไปได้ที่ http://htmlpurifier.org

     

  2. ถ้ารับข้อมูล input จาก user และมีการกรอกข้อมูล เช่น อีเมล์,โทรศัพท์,Urls ต่างๆ ก็ควรใช้ฟังก์ชัน filter_var() สำหรับกรองข้อมูลครับ ฟังก์ชันนี้จะช่วยกรองข้อมูล เช่น email,integers,floats,URLs และอื่นๆ ตัวอย่าง เช่น

    การกรองข้อมูลอีเมล์ตามตัวอย่างนี้ จะเอาอักขระต่างๆออกให้ทั้งหมด ยกเว้น ตัวอักษร,ตัวเลข และ !#$%&’*+-/=?^_`{|}~@.[] นอกจากอีเมล์ ก็มี Sanitize filters อีกหลายตัว เช่น FILTER_SANITIZE_NUMBER_INT,FILTER_SANITIZE_URL,FILTER_SANITIZE_NUMBER_FLOAT เป็นต้น

  3. การตรวจสอบความถูกต้องข้อมูลเราสามาถใช้ฟังก์ชัน filter_var() เช่นเดียวกัน โดยสามารถตรวจสอบได้หลายอย่างเช่น Booleans, emails, floats, integers, IP addresses ฯลฯ ตัวอย่าง เช่น

    นอกจากนี้ก็มี Validate filters อีกหลายตัวเช่น FILTER_VALIDATE_FLOAT,FILTER_VALIDATE_IP,FILTER_VALIDATE_REGEXP เป็นต้น

    ใส่ใจกับความปลอดภัยด้วยนะครับ 🙂

10 ข้อควรรู้ เขียน PHP ให้ถูกต้องและตรงตามมาตรฐาน

หลายคนที่เขียน PHP อยู่ตอนนี้ รวมถึงตัวผมด้วย อาจยังเขียน php ไม่ถูกต้องตามมาตรฐานนัก อาจติดมาจากภาษาอื่นๆ หรือเขียนเองคนเดียว ถึงแม้ไม่ errors ทำงานได้ปกติ แต่เมื่อไหร่ที่เราต้องทำงานร่วมกับคนอื่น ผมว่ามีปัญหาแน่นอน ว่าแล้วก็มาฝึกเขียน PHP ให้ตรงตามมาตรฐานกันดีกว่าครับ

1. ไฟล์ PHP ต้องเปิดด้วยคำสั่ง <?php และ <?= เท่านั้น

2. ไฟล์ต้องมีการเข้ารหัสภาษาเป็น UTF-8 without BOM

3. การตั้งชื่อ Class และ Namespace ควรกำหนดให้เป็น StudlyCaps เช่น ConnectDatabase

4. การตั้งชื่อ Methods ควรกำหนดเป็นรูปแบบเป็น camelCase เช่น goDB()

5. เมื่อมีการเยื้องโค้ดต้องไม่ใช้ tabs แต่ให้เคาะช่องว่าง 4 เคาะ

6. โค้ดต่อ 1 บรรทัดควรไม่เกิน 80 ตัวอักษรหรือน้อยกว่านั้น อย่างมากไม่ควรเกิน 120 ตัวอักษร

7. เวลากำหนด namespace ให้เคาะเว้นบรรทัดเปล่าๆ 1 บรรทัดเสมอ และแน่นอนเมื่อใช้คำสั่ง use ก็เคาะเว้นบรรทัดเปล่า 1 บรรทัดเช่นเดียวกัน

8. เมื่อเขียน methods หรือ functions ต่างๆ เครื่องหมายปีกกาต้องเขียนอยู่ในบรรทัดถัดลงมา และปิดเครื่องหมายปีกกาในบรรทัดต่อไปของตัวเมธอด หรือฟังก์ชันด้วย เช่น

9. Visibility จะต้องถูกกำหนดให้กับทั้งหมดของ properties และ methods และ คีย์เวิร์ด abstract และ final จะต้องถูกกำหนดก่อน visibility ส่วน static นั้น จะต้องถูกกำหนดหลัง visibility ป.ล. visibility คือการกำหนดการเข้าถึงข้อมูลของ class ในส่วนของ properties และ methods ประกอบไปด้วย private , public, protected

10. คำสั่งในกลุ่มของ Control Structures เช่น if,switch,while,do while มีข้อกำหนดดังนี้

10.1 จะต้องเว้นวรรค 1 เคาะ หลังจากเขียนคำสั่งเหล่านี้

10.2 จะต้องไม่มีช่องว่างข้างในเล็บเปิด-ปิด

10.3 จะต้องมีช่องว่างอย่างละ 1 เคาะ ทั้งก่อนและหลังวงเล็บเปิด-ปิด

10.4 ในส่วนโครงสร้างของตัวคำสั่งให้เยื้อง 1 เคาะ

10.5 วงเล็บปีกกาตอนเปิดนั้นจะต้องอยู่บรรทัดเดียวกัน ยกเว้นตอนปิดอยู่คนละบรรทัด เช่น

ใครสนใจศึกษาเพิ่มเติม ศึกษาต่อได้ที่ http://www.php-fig.org/psr/psr-1/

ขอให้สนุกกับการเขียนโปรแกรมทุกวันครับ

3 ขั้นตอน ง่ายๆ config XAMPP ให้สามารถเข้าถึงจากเครื่องอื่นได้

1. เปิดไฟล์ http-xampp.conf ขึ้นมาโดยเข้าไปที่ C:\xampp\apache\conf\extra ครับ

2. เมื่อเปิดไฟล์แล้ว เลื่อนลงมาล่างสุด ในส่วนของ LocationMatch เลือกตั้งค่าได้ดังนี้

2.1 ถ้าอยากให้เข้าถึงได้จากทุกเครื่องให้ config ดังนี้

2.2 แต่ถ้าอยากให้สามารถเข้าถึงได้เฉพาะบางไอพี หรือเครื่อง ก็ให้ config ดังนี้

3. Save ไฟล์ แล้ว Restart Apache อีกครั้ง ลองทดสอบโดยเข้าด้วยไอพีของเครื่องที่ติดตั้ง XAMPP ดูครับ
เช่น http://192.168.1.3/phpmyadmin

 

แค่นี้ก็เรียบร้อย 🙂