CodeIgniter MVC Pattern (Strict)
เอ่ยถึง CodeIgniter หรือว่า CI คาดว่า Developer หลายๆคนคงคุ้นเคย เพราะว่า CI เป็น Framework ที่มีความซับซ้อนน้อยมากๆ ใช้เวลาเรียนรู้ไม่นานก็สามารถที่จะเขียนได้
แต่ด้วยความที่มันง่าย นี่แหละที่เป็นข้อเสีย ที่ยิ่งใหญ่ของมัน เพราะ นอกจากจะสามารถเขียน M-V-C ในแบบตามใจฉันแล้ว บางรายยังอาจจะ เขียน M-V-C โดยใช้แค่ ตัวใดตัวนึงเท่านั้น
ซึ่งก็ไม่เข้าใจเหมือนกันว่า เอา MVC Framework ไว้ทำอะไร หรือว่าเอาไว้แค่ ทำ URL ให้มันดู เท่ห์ๆก็ไม่รู้ บอกตรงๆไม่อ้อมค้อม นะครับ ผมเห็นแล้ว เศร้าใจสุดๆ ไปเลย
เพราะจุดประสงค์ที่สำคัญของการ เขียนโคดด้วย Framework คือ การสร้างโครงสร้าง หรือ แบบร่างงาน ที่มีมาตรฐาน ทำให้การทำงานเป็น ทีมเต็มไปด้วยประสิทธิภาพ การบำรุงรักษาโคด ทำได้โดยสะดวก การต่อยอดสามารถทำได้ โดยไม่ต้องพึ่งทีมงานชุดเดิม การปรับแต่งประสิทธิภาพ สามารถทำได้ทันที จากจุดๆ เดียว และใช้เวลารวดเร็วในการพัฒนา
แต่ทว่าสิ่งเหล่านี้มันจะกลายเป็น เหมือนหนังคนละม้วน จากจอ LED เป็น ทีวีสี ธานินทร์ เลยทีเดียว ถ้าคุณไม่มีวินัยในการเขียนตามรูปแบบ ที่ถูกวางเอาไว้ ไม่เข้าใจ Naming การตั้งชื่อโคด การสร้างความสัมพันธ์ ภายในตัวโคดเอง เพื่อให้การไล่โคด หรือวางโคด เป็นไปได้อย่างสะดวก
แล้วก็ด้วยความง่ายของ CI ที่ไม่มี ท่าบังคับ อะไรเลยในการเขียนโคด นี่แหละ ที่จะทำให้คุณใช้ จินตนาการณ์เอาเอง จนโคด ไม่เป็นโคดอีกต่อไป สิ่งที่จะตามมา มันจะกลายเป็นว่า คุณกำลังพัฒนา Framework ของคุณเอง “Yes” ฟังดูเหมือนเท่ห์ ใช่มั้ยล่ะครับ เปล่าเลย มันไม่มีหรอกครับ Framework ของคุณเอง มันมีแต่ โคดที่คุณเข้าใจเองได้คนเดียว หรือว่า ทำกับทีมเล็กๆ ที่หัวหกก้นขวิด ด้วยกันมาทีมเดียว แล้วปัญหา มันจะตามมาอีก จนคุณไม่อยากจะทำมันอีกต่อไป เขียนก็ไม่สนุก แก้ก็ยาก จะหาตำแหน่งโคดทีก็จำไม่ได้ว่า กรูเขียนไว้ตรงไหนวะ
แล้วทำไมถึงยังใช้ CI ทำไมไม่ไปใช้ Framework ใหม่ๆ อย่าง Laravel, Yii, Zend …. ก็อย่างที่บอกแหละครับ ว่า CI มันมี Learning Curve ต่ำ แล้ว Dev ส่วนมาก ก็เขียนเป็นอยู่แล้ว ทำให้ ไม่ต้องเสียเวลามาศึกษา หรือ อธิบายกัน อย่างถ้าผมเขียน Blog ขึ้นมาสักเรื่องนึงอย่างเช่น ระบบ Bundles ของ Laravel ทั้งๆ ที่มันโคดจะแสนสะดวก แต่ผมต้องไปนั่งอธิบาย ถึงตั้งแต่การติดตั้งผ่าน CLI โครงสร้างการ Route ของ Bundle เขียนสัก 3-4 Entries ยังไม่จบเรื่องนึงเลย
แล้วก็ไม่ใช่ CI มันไม่ดี สำหรับผมแล้ว มันโครตสะดวกเลย มันเป็น FW ที่เอามาพัฒนาต่อเองได้ง่าย โดยไม่กระทบถึงโครงสร้างหลัก Plugin เยอะแยะ แต่ทั้งนี้ทั้งนั้น คุณจะต้องเขียนแบบมีหลักการ ส่วน จินตนาการณ์ เอาไว้ทีหลังก่อนครับ ในกรณีนี้ หลักการแล้วก็ วินัย ต้องมาก่อน จินตนาการณ์ ถึงจะสร้าง โครงสร้างที่ Dev เราเรียกว่า Core ที่สมบูรณ์ได้
นอกจากทนี้ CI ยังเป็น Framework ที่มี Community ใหญ่มากๆ จนทำให้เค้าพูดกันว่า CI จะไม่มีวันตายเพราะขนาดของ Community มันนี่เอง
เอาล่ะ ทั้งหมดนี้เป็นที่มาของ คอร์ส ที่ผมกำลังจะเปิดอบรม ซึ่งตอนนี้ผมเองที่ปกติเป็นคนขยันน้อยอยู่แล้ว เริ่มจะ ตะหงิดๆ แล้วล่ะว่าจะเปิดให้เหนื่อย ทำไม ค่าเช่าห้องก็โครตแพง แถมต้องไปสอน ทั้ง เสาร์-อาทิตย์ ถึง 2 weeks ด้วยกัน อดกินเหล้ากับเพื่อนวันศุกร์ อดนอนดึกๆ ดู US Series สุดมันส์ อดเขียนโคดใหม่ๆเล่น แล้วก็ต้องมาทำ เอกสารการสอน งานที่ผมเกลียดอีก
ที่ผมเคยบอกว่าจะเปิดๆ หลายครั้ง แล้วไม่เปิดสักที มันก็คือติดไอ้พวกนี้แหละ
แต่ตอนนี้ผมยังไม่เปลี่ยนใจครับ ผมอยากให้ แนวทางที่ผม ศึกษาแล้วก็ ลองผิดลองถูก อ่าน Community Forum ไปหลายรอบ หาข้อมูลซ้ำไปซ้ำมา ได้ทำประโยชน์กับน้องๆ คนอื่นๆ เพื่อให้วงการ Developer ไทยได้ไป โอลิมปิคกับเค้าบ้างสักที เอาล่ะมาดู ส่วนของ Outline กันได้เลยว่ามีอะไรบ้าง
ข้อมูลเพิ่มเติมเรื่อง Outline, วิธีการชำระเงิน, วัน-เวลา สถานที่ ดูได้ที่ Link ทางด้านล่างครับ
Tee++;