บทนำ Laravel framework 5.2 รูปแบบการทำงานของ Laravel framework

09/01/2017 15:55 | View : 1,816

บทนี้ เราจะมาว่ากันถึงเรื่องของ รูปแบบ หรือ แนวทางการทำงานของ Laravel framework กันครับ

ขอออกตัวไว้ก่อนนะครับ นี้คือความเข้าใจส่วนตัว ทางผู้เขียนอาจไม่เก่งเรื่องศัพท์เทคนิคต่าง ๆ  และขอยกตัวอย่างตามความเข้าใจของผู้เขียนเอง อาจจะไม่ถูกกับหลักการ หรือขัดใจใครบ้าง ก็ต้อง ขอ อภัย มา ณ ที่นี้ด้วยครับ

บทความนี้จะขอแนะนำสำหรับ คนที่ไม่เคยใช้ PHP Framework มาก่อน และอยากศึกษาแนวทางการทำงานว่า เราจะทำความเข้าใจกับรูปแบบการทำงาน ของ Framework อย่างไร

เอาล่ะ เรามาเริ่มกันเลยดีกว่า หลายคนคงเคยได้ยิน "MVC" กันมาบ้างแล้วนะครับ ใช่แล้วครับ วันนี้เราจะมาเล่าเรื่องหลักการ MVC ใน Laravel Framework กัน ก่อนอื่นต้องอธิบายคร่าว ๆ ตามตัวกันก่อนนะครับว่า  MVC มันคืออะไร และทำไมต้อง MVC

เริ่มจาก

M = Model 

Model ทำหน้าที่ในการเรียกใช้ Table ของ Database ออกมาเป็น Object หรือจะพูดให้เข้าใจง่าย ๆ ก็คือ Model คือฝั่งที่ใช้เรียกใช้งานเพื่อทำการ Query Table ออกมานั้นเอง

V = View

View ทำหน้าที่ในการแสดงผลข้อมูลออกมาทางหน้าจอ เช่น แสดงผล UI WEB, Template, App หรืออธิบายง่าย ๆ ก็คือ ส่วนที่แสดงออกมาให้ User ที่ใช้งานเห็นนั้นเอง

C = Controller

Controller จะทำหน้าที่ควบคุมทิศทางของระบบว่าต้องการให้ออกมาแบบไหน ถ้าเปรียบเทียบจากที่เราเขียนปรกติ ที่ไม่ใช่ OOP นั้น Controller ก็คือสคริปที่เราวางไว้ให้ ระบบแสดงผลตามความต้องการของระบบนั้นเอง แต่เราเปลี่ยนจากการวางลงใน ไฟล้ PHP ที่เราสร้างขึ้นมา ย้ายมาจัดเป็นสัดส่วนให้อยู่ในส่วนของ Controller แทนนั้นเอง

เรามาดู ภาพโครงสร้าง ของ MVC ประกอบกันครับ
mvc

เอาล่ะ เรามารวมเรื่อง MVC เข้ากับ Laravel ของเรากันดีกว่า ว่ามันเกี่ยวข้องกันอย่างไร การที่เราจะใช้ Laravel เราควรศึกษาจากจุดไหน ไปยังจุดไหน เพื่อให้เราสามารถเข้าใจหลักการของมันได้ง่าย และเร็วที่สุด

 ก่อนอื่น เรามาดูผัง การทำงานของ Laravel Framework กันคร่าว ๆ ก่อนเลยครับ เพื่อที่จะได้เป็นแนวทางในการศึกษา Laravel Framework ไปในทางเดียวกัน

laravel-flow

รูปภาพแสดง รูปแบบการทำงานของ Laravel Framework

Route

จะเห็นได้ว่า Route จะทำหน้าที่เป็นอย่างแรก ในการกำหนดทิศทางว่า จะสั่งให้ระบบทำงานในส่วนไหน เพราะฉนั้นสิ่งแรกที่เราควรจะต้องทำความเข้าใจเพื่อที่จะศึกษา Laravel Framework ก็คือส่วนของ Route ครับ เพราะ Route จะเป็นตัวกำหนดว่า จะสั่งให้ระบบไปทำการ Process ที่ Controller หรือว่า จะเรียกใช้งาน Model แล้วนำข้อมูลมา Process เอง แล้วส่งไปที่ View เลย ในรายละเอียดเชิงลึก จะขออธิบายในบทเรียนถัดไปครับ

Controller

ส่วนต่อไปที่เราควรจะศึกษาทำความเข้าใจก็คือ Controller ใน Laravel Framework นั้น Controller จะทำหน้าที่เรียกใช้ข้อมูลต่าง ๆ เพื่อนำมาประมวลผล และส่งค่าไปแสดงผลในส่วนของ View จากภาพจะเห็นได้ว่า Route จะทำหน้าที่ในการสั่ง ให้ Controller ทำงาน และ Controller จะทำการเรียกใช้ Model เพื่อทำการ Query ข้อมูลมาใช้งาน เมื่อได้รับข้อมูล และประมวลผลเรียบร้อยแล้ว Controller จะส่งค่าไปในส่วนของ View เพื่อทำการแสดงผลลัพท์จากการ Process ออกมา

Model

ในส่วนของ Model ใน Laravel Framework จะอยู่ในหมวด Eloquent ORM คือการนำ Table มาเรียกใช้งานในรูปแบบของ Object เพื่อที่จะให้เราสามารถใช้งานได้ง่ายขึ้น โดยจะรวมรวมคำสั่ง Insert,Update,Delete ให้เราสามารถเรียกใช้อย่างง่ายได้ รวมถึงการ Query ข้อมูลต่าง ๆ ด้วย

view

ในส่วนของ View นั้น คือส่วนที่ทำหน้าที่ไว้แสดงผลข้อมูลต่าง ๆ ที่ส่งมาจาก Controller หรือ Model ใน Laravel Framework เราสามารถที่จะทำการขอเรียกใช้งานข้อมูลจาก Model โดยตรงเลยก็ได้เช่นกัน โดยรายละเอียดเชิงลึก จะขอกล่าวในบทเรียนถัดไป

สรุปการทำงานของ Laravel Framework

หลักการทำงานของ Laravel สรุปง่าย ๆ ดังนี้ครับ

  • ทำการเขียน Route เพื่อกำหนด Url ของระบบ
  • กำหนด Route ว่าจะทำงานด้วยตัวของมันเอง หรือส่งไปให้ Controller 
  • เมื่อ Route ชี้มาให้ Controller ทำงาน Controller ทำหน้าที่ประมวลผลข้อมูลตามสคริป หากใช้งานฐานข้อมูล ก็จะทำการเรียกใช้งาน Model Eloquent ORM เพื่อทำการ Query ข้อมูล จากนั้นส่งไปแสดงผลที่ View
  • เมื่อ Controler ทำการประมวลผลระบบทุกอย่าง View จะทำหน้าที่ในการแสดงผลข้อมูลออกมาหน้าจอ
  • จบการทำงาน

ผู้เขียนหวังว่า บทเรียนนี้จะมีประโยชน์กับผู้ที่กำลังหันมาศึกษาการใช้งาน Laravel Framework ไม่มากก็น้อยครับ 

Hosting