เคยรู้สึกเบื่อไหมครับ? ที่ต้องเขียนโค้ดภาษา PHP ซ้ำๆ ซากๆ  ยิ่งเขียนโค้ดก็ยิ่งดูมั่วและไม่เป็นระเบียบ ถ้าเรารู้สึกแบบนี้ทุกครั้งที่ต้องสร้าง Application นั่นแสดงให้เห็นว่าถึงเวลาแล้วที่จะต้องหาตัวช่วย เพราะถ้าปล่อยทิ้งไว้อาจทำให้เราเป็นโรคเบื่อเขียนโปรแกรมก็เป็นได้ สิ่งที่ผู้เขียนกำลังพูดถึงก็คือ PHP Framework ซึ่งปัจจุบันกำลังเป็นกระแสในหมู่ของนักพัฒนาระบบ เนื่องจากสามารถ Reuse Code กลับมาใช้ได้ใหม่ ลดปัญหาในเรื่องการเขียนโค้ดที่ซ้ำซากและไม่เป็นระเบียบ ง่ายต่อการบำรุงรักษาในภายหลัง ด้วยเหตุผลเหล่านี้ก็น่าจะเพียงพอที่เราจะหันมาให้ความสนใจ  อย่างไรก็ตามการปรับเปลี่ยนมาใช้ Framework ก็ดูเหมือนจะไม่ใช้เรื่องง่ายสำหรับนักพัฒนาระบบ เนื่องจากในปัจจุบันมี Framework ภาษา PHP อยู่เป็นจำนวนมาก ทำให้ยากต่อการตัดสินใจว่าควรจะเลือกใช้ตัวใดดี ทำให้บางคนต้องเสียเวลาไปกับการทดลอง กว่าจะค้นพบสิ่งที่ตรงกับใจตัวเอง ที่เขียนแบบนี้ไม่ได้หมายความว่าผู้เขียนจะมา Review Framework แต่ละตัว ณ ที่นี่ว่าดีอย่างไร  แต่อยากเอาสิ่งที่ตัวเองได้ผ่านมาแล้วมาแลกเปลี่ยนเรียนรู้เพื่อให้คนอื่นๆ ได้ลองพิจารณาดูเป็นข้อมูล หลังจากเสียเวลาไปพอสมควรกับการค้นหาสิ่งที่ตัวเองต้องการ ก็มาพบกับ Framework ตัวหนึ่งที่ชื่อว่า CodeIgniter (CI)  พัฒนา โดย Rick Ellis  เว็บไซต์ตั้งอยู่ที่ http://codeigniter.com/   สิ่งที่น่าสนใจก็คือ CI มีขนาดเล็กมากเมื่อเทียบกับอีกหลายๆ ตัว โดยมีขนาด Zip ไฟล์ที่ดาวน์โหลดมาเพียงแค่ 841 KB เท่านั้น นอกจากนั้นในการพัฒนาก็ไม่จำเป็นต้องใช้โปรแกรมเสริมอื่นๆ อย่างเช่น  PEAR,Smarty Template  ที่สำคัญ User Guide เขียนได้ละเอียดและอ่านเข้าใจง่าย  เสียอย่างเดียวคือไม่มีตัวอย่างที่เป็นไฟล์มาให้  ตัวอย่างจะเป็นไฟล์วิดีโอซึ่งต้องไปดาวน์โหลดที่เว็บไซต์มาดูเอง  CI นั้นจะใช้ Pattern ในการเขียนโปรแกรมแบบ Model-view-controller (MVC) โดยการแบ่งโปรแกรมออกเป็นสามส่วนได้แก่
Model - คือตัวแทนของสถานะ(State) หรือข้อมูล(Data) ของโปรแกรม
View - คือตัวแทนของ Interface (ส่วนมากจะเป็น User Interface)
Controller - คือตัวแทนของ Event, Process และการกระทำอื่นๆที่จะเปลี่ยนแปลง Model

แต่ตัว CI เองก็ไม่ได้เข้มงวดโดยสามารถละส่วนของ Model ได้   สำหรับการเขียนโค้ดใน CI จะเป็นแบบการเขียนโค้ดด้วยต้นเองล้วนๆ เพราะไม่มี Generator มาให้ ซึ่งคนที่ขี้เกียจอาจไม่ค่อยชอบ ใน Forum เองก็มีคนพูดถึงเรื่องนี้อยู่บ้างเหมือนกัน  แต่ในอนาคตเองก็ไม่แน่ว่าอาจจะมีการพัฒนาเพิ่มเติมในส่วนนี้ก็เป็นได้  สำหรับคนที่สนใจอยากที่จะลองศึกษาดูสามารถเข้าไปอ่านบทความของผู้เขียนได้ที่เว็บไซต์ http://wdoae.doae.go.th/ ในบทความมี Source Code ของตัวอย่างให้ดาวน์โหลดไปศึกษาด้วยครับ