Tag Archives: PHP

ถึง PHP

ด้วยความที่ผมเป็นคนไม่ค่อยมีหัวด้านศิลปะ และไม่อดทนเพียงพอที่จะฝึกฝน ทำให้ผมเลือกที่จะทำงานเบื้องหลัง(ในด้านการพัฒนาโปรแกรม)ถ้าสามารถเลือกได้ PHP จึงเป็นภาษาที่ผมทอดทิ้งไม่เคยคิดจะศึกษาไปโดยปริยาย

แต่พอย้ายงานมาดันต้องใช้มัน ทำให้ได้ศึกษาในเชิงลึกมากขึ้น และมีคอมเมนต์เกี่ยวกับมุมหนึ่งของภาษา PHP จึงอยากแสดงความคิดเห็นเอาไว้หน่อย

จุดที่ผม คนซึ่งเกิดมากับภาษา OO ขัดใจอย่างมากกับ PHP คือ เรื่อง scope

บน PHP ถ้าเราจะสร้าง function หรือตัวแปร ทั่วๆไป เราสามารถเข้าถึงได้ง่ายโดยไม่ต้องระบุ scope แต่หากเราสร้าง function หรือตัวแปร ที่อยู่ภายใต้ class เวลาเรียกใช้เราต้องอ้างถึงด้วย $this->

ความคิดแรกที่รู้สึกกับเรื่องนี้ เห้ยนี่มันบ้าอะไรเนี้ย มันเป็นสิ่งที่ขัดขวาง cohesion ชัดๆ

แต่แล้ววันนี้ผมก็ได้รู้ว่า จริงๆ แล้วมันเหมาะสมกับงานของมันแล้ว

PHP เป็นภาษาที่เกิดมาในยุคต้นของ dynamic html มันเกิดขึ้นมาเพื่อให้เราสามารถสร้าง dynamic html ได้ ไม่ได้ให้เราเอามาเขียน back-end business logic อย่างที่ทำๆ กันอยู่ ที่มันต้องเป็น OO เพราะคนอยากให้มันเป็น ผลักดันให้มันเป็น ก็ต้องยอมแลกกับอะไรบางอย่างๆนี้แหละ

การเรียกใช้ได้แบบไร้ scope ของมัน จะเปล่งประกายคุณสมบัติมาก เมื่อใช้ในการสร้างหน้า html เพราะลำพังตัว syntax html, css ก็ยืดยาวพอแล้ว ถ้าต้องมาอ้างถึง scope เพื่อใช้ utiliy functions ต่างๆ อีก ก็ยิ่งยาวไปกันใหญ่ การเรียกใช้ utility functions ได้ๆ ง่ายๆ โดยไม่ต้องอ้างถึง scope จึงเหมาะกับการนี้มาก

เพราะฉะนั้นถ้าจะเอามันมาใช้ back-end ก็กรุณาอย่าบ่นครับ 😀