ภาพจาก https://symfony.com/logo |
Symfony framework คือ เป็น PHPFramework ตัวหนึ่ง ที่มีประสิทธิภาพสูง ที่ถูกพัฒนาโดย "SensioLabs" จากประเทศฝรั่งเศส ปัจจุบัน symfony ได้รับความนิยามเพิ่มขึ้นเรื่อยๆโดยดูจากยอด Download บนหน้าเว็บไซต์ของทาง https://symfony.com/what-is-symfony จะเห็นว่ามีการมียอด Download เพิ่มขึ้นอย่างต่อเนื่อง ทั้งนี้ยังมี Project ดังๆ หลายตัวที่มีการพัฒนาด้วย Symfony Framework ยกตัวอย่างเช่น phpBB เวอร์ชั่น 3.1 เป็นต้นไป ซึ่งสามารถศึกษาเพิ่มเติมได้ที่ https://symfony.com/projects
ภาพจาก https://www.phpbb.com/about/logos/ |
Symfony (2) framework มีรูปแบบการทำงานแบบ MVC คือ รูปแบบการเขียน OOP อย่างหนึ่งซึ่งก็ได้รับความนิยมเป็นอย่างมากในปัจจุบันโดยการแบ่งการทำงานออกเป็น 3 ส่วนใหญ่ คือ ส่วน Controller ส่วน Model เเละส่วนการแสดงผลคือ View ซึ่งหน้าที่ของแต่ละตัวก็จะแตกต่างกันออกไป
ส่วนของ Controller ก็จะทำหน้าที่รับ Request พร้อมกับควบคุมคำสั่งการทำงานจาก User ที่ส่งมาจาก WebBrowser เข้ามาว่าจะเรียกใช้ Crontroller ตัวใหน เเละใช้งาน View ตัวใหนในการแสดงผล
ส่วนของ Model เป็นส่วนที่เชื่อมต่อกับ Database (ฐานข้อมูลโดยตรง) โดยที่จะใช้ตรรกะ (logic) ต่างๆ จะอยู่ใน Model ซึ่งเราจะไม่เห็น Select ข้อมูลหรือว่าการเชื่อมต่อ Database(ฐานข้อมูล) ใน Controller หรือ View
ส่วนสุดท้ายคือ View จะทำหน้าที่ติดต่อกับผู้ใช้งานโดยตรง ก็จะเป็น UI (user interface) ในส่วนนี้จะทำการแสดงผลในรูปแบบของ HTML
ภาพอธิบายรูปแบบการทำงาน MVC ของ Symfony ซึ่งจะมีการอธิบายในบทเรียนต่อๆไป |
ประโยชน์ของ MVC คือ ทำให้สามารถแบ่งงานออกมาได้ 3 ส่วน คือ
- Model คือ ส่วนที่จัดการเกี่ยวกับข้อมูลในฐานข้อมูล การแก้ไข และการพัฒนาแบบแยกส่วน โดยเมื่อเราพัฒนาไปมากๆแล้วต้องการแก้ไขเราก็สามารถแก้ไขได้บางส่วน โดยที่ไม่กระทบกันส่วนอื่นๆเลย เพราะว่าส่วนของการพัฒนาแยกกันมาตั่งแต่ต้นแล้วเท่านั้นเอง
- View คือ ส่วนของ design
- Controller คือ ส่วนจัดการข้อมูล คำนวณ ประมวลผล สั่งการทำงาน หรือ Coding หลักๆ
สำหรับใครที่ต้องการศึกษาทำความเข้าใจ MVC ให้เข้าใจยิ่งขึ้น ศึกษาได้จาก Framework php อีกหลายๆตัว เช่น Yii Framework, Joomla Framework
สำหรับคนที่จะเขียน Symfony ดูบทต่อไปได้เลย