หลักการทำงานของ Yii Framework 2 Request Life Circle

คู่มือการเรียนรู้ Yii Framework 2 (Yii2)

บทเรียนดีๆ สำหรับผู้ที่ต้องการแบ่งปัน บทเรียนของคุณอาจมีค่าสำหรับอีกหลายๆ คน

beta version

หลักการทำงานของ Yii Framework 2 Request Life Circle

มานพ กองอุ่น yii request life circle 3,458

เพื่อให้เกิดความเข้าใจในการทำงานของ Yii Framework 2 ก่อนที่จะไปเขียน Web Application มาศึกษาดูว่ากระบวนการทำงานของ Yii Framework 2 เป็นอย่างไรตั้งแต่ผู้ใช้งาน (User) เรียกหน้า Web Application และ Web Application ตอบสนองไปยังผู้ใช้งาน

  1. เมื่อผู้ใช้เรียก URL หรือ Route ไปที่ web/index.php?r=site/index Yii จะทำการโหลดการตั้งค่า (config) ต่างๆ ที่ได้ตั้งค่าไว้ จากนั้นทำการ run application และจะได้ application instance 
  2. เมื่อได้ application instance แล้ว จะทำการเรียก resolve route หรือกำหนดเส้นทาง
  3. มีการนำ request component มาตรวจสอบว่า ณ ปัจจุบันอยู่ที่เส้นทางไหน และจะเรียก controller เป็นลำดับต่อไป
  4. เมื่อได้ controller ซึ่งในที่นี้คือ SiteController นอกจาก controller แล้ว request component จะกำหนด action ด้วยเช่นกัน ซึ่ง action จะอยู่ใน Controller และจะเรียก action เป็นลำดับต่อไป
  5. ในกระบวนการทำงานของ action นั้นจะมี filters เข้ามาทำงานก่อน
  6. หากไม่สามารถเข้าถึง action ได้ ระบบจะทำการ response ไปยัง user ผ่าน response component
  7. หากใช้งาน action ได้ก็จะเข้าสู่การทำงานของ action โดยใน action นั้นเป็นการเขียนโปรแกรมการทำงานต่างๆ ไว้ อยางเป็นขั้นตอน
  8. หากมีการทำงานกับข้อมูล (Model) ก็จะเรียก Model เข้ามาใช้งาน ซึ่ง Model มี 2 ส่วนด้วยกันคือ Model ที่ไม่ได้เชื่อมตารางในฐานข้อมูล
  9. Model ที่เชื่อมตารางในฐานข้อมูล
  10. เมื่อ action ประมวลผลโปรแกรมแล้วสุดท้ายหากมีการแสดงผลออกทางหน้าจอก็จะทำการ render view หรือส่งข้อมูลไปประมวลผลที่ view เช่นส่งข้อมูลจาก Model Product ไปแสดงเป็น Grid ใน View เป็นต้น
  11. เมื่อประมวลผล view เสร็จแล้วก็จะ response หรือตอบกลับการร้องขอของ user ผ่าน response component
  12. ผู้ใช้งาน (user) จะเห็นหน้า Web Application ที่ทำการร้องขอ (request)


หากบทเรียนรู้มีความผิดพลาดประการใด หรือมีข้อเสนอแนะกรุณาแจ้ง contact@programmerthailand.com
มานพ กองอุ่น

มานพ กองอุ่น
admin

  • 2 เพื่อน
  • 8 ผู้ติดตาม
  • 754 โพสต์
กลับขึ้นบน