ความสามารถ เด่น ของ Yii Framework
ตามที่เค้าแนะนำไว้ที่เว็บ Yii Framework นะครับขอใส่ความเห็นเข้าไปนิดหน่อย
- ถูกออกแบบภายใต้แนวคิด Model-View-Controller (MVC) design pattern ซึ่งเป็นแนวคิดการพัฒนาโปรแกรมที่แพร่หลายในปัจจุบัน เพราะ สามารถแยกส่วนการพัฒนากออกได้เป็นส่วนๆ
- ใช้งานกับฐานข้อมูลได้หลากหลาย โดยไม่ต้องเขียนคำสั่ง sql ด้วย Database Access Objects (DAO), Query Builder, Active Record, DB Migration แต่ความสามารถนี้บางครั้งผมรู้สึกว่าไม่ค่อยสะดวกเท่าไร (เพราะติดเขียนคำสั่ง sql เอง ง่ะๆ)
- สร้าง ฟอร์มและยืนยันความถูกต้องของข้อมูล โดย Form input and validation ถายในตัวไม่ต้องทำหน้าฟอร์มหลายหน้าเพื่อแสดงข้อผิดพลาด
- เครื่องมือสำหรับใช้ AJAX ในงานเรา AJAX-enabled widgets ซึ่งตรงนี้ Yii Framework เอา jQuery เข้ามาใช้จุึดเด่นตรงนี้โดยส่วนตัวผมชอบมากและจุดนี้ถือเป็นจุดเด่นมากๆ ของ Yii Framework ด้วย (Zend Framework เวอร์ชั่นปัจจุบันก็จะทำแบบนี้ได้แล้วด้วย (หลังจากคงไม่ประสบความสำเร็จกับ Dojo) ) ...
- ทำให้งานของเราเป็นหน้าตาการแสดงผลได้ ด้วย Skinning and theming
- จัดการกับข้อความผิดพลาดและ เก็บข้อความแสดงผลต่าง ด้วย Error handling and logging
- มีระบบเรื่องความปลอดภัย ด้วย Security ป้องกัน SQL injection cross-site scripting (XSS), cross-site request forgery (CSRF), and cookie tampering. เรียกว่ามากันครบกับป้องกันพวก Hacker
- มี Unit and functionality testing โดยใช้ PHPUnit และ Selenium.
- Automatic code generation ตรงนี้ต้องเน้นตัวหนาหน่อย เพราะช่วยให้เราเริ่มสร้างงานได้เร็วมาก เพราะเจ้า Yii Framework เล่นสร้าง form input และ จัดการ เพิ่ม-ลบ-แก้ไข-ดู ข้อมูลจากฐานข้อมูลให้เราเองเลย
- output เป็นไปตามโครงสร้าง XHTML
- เอา Framework หรือ โค้ด อื่นๆ เข้ามาใช้งานได้ง่าย Friendly with third-party code เช่นเราจะเอา Zend เข้ามาร่วมด้วย ก็ได้
- มีเอกสารให้ศึกษาเยอะ ทำความเข้าใจไม่ยาก
- มี Extension library ซึ่งเพิ่มความสามารถหลักของ core ของ Yii Framework เข้าไปอีก
- และยังมีมีหลายอย่างต้องลองดูแล้วครับ