Codeigniter MVC แนวคิดและจุดสำคัญที่รู้แล้วหากินได้

บทความเกี่ยวกับ : Codeigniter MVC แนวคิดและจุดสำคัญที่รู้แล้วหากินได้


วันนี้จะมาทำความเข้าใจ MVC ในแบบของ Codeigniter MVC กันครับสำหรับผมแล้วสิ่งที่ต้องหาคำตอบไม่ว่าจะเล่น MVC ตัวใหนมีอยู่แค่ 8 ข้อ เท่านั้นถ้ารู้แล้วหากินได้

Concept สำหรับผมมีแค่นี้เอง อย่างที่เรารู้ๆกันว่า Controller เป็นตัวเชื่อมระหว่าง view กับ model
view อยากได้อะไร บอก controller แล้ว controller จะไปสั่งให้ model ทำให้
พอได้ของมา controller ก็ส่งต่อให้ view เพราะฉะนั้นสิ่งที่ต้องตอบให้ได้คือ
1. View ส่งหา Controller ยังไง
2. Controller รับค่าจาก View ยังไง
3. Controller ส่งหา Model ยังไง
4. Model รับค่าจาก Controller ยังไง
5. Model ส่งของกลับให้ Controller ยังไง
6. Controller รับของที่ผลิตแล้วจาก Model ยังไง
7. Controller ส่งของต่อให้ View ยังไง
8. View รับของจาก Controller ยังไง

จากทั้ง 7 สำหรับ Codeigniter ผมทำแบบนี้ครับ
1. View ส่งหา Controller
ส่งผ่าน Form หรือ แนบ Parameter ผ่าน URL มา
กรณีส่งผ่าน Form ก็ปรกติ จะเป็น GET หรือ POST ก็ว่ากันไป
แต่กรณีส่งผ่าน URL นี่ CI มีรูปแบบคือ /controller/function/param1/param2
2. Controller รับค่าจาก View
ส่วนตัวผมใช้ library input มาช่วยครับเช่น
$cmd_page=$this->input->post('cmd_page');
3. Controller ส่งหา Mode
ส่งเป็น parameter ตรงเข้า function ของ model ครับ
4. Model รับค่าจาก Controller
ก็สร้าง parameter รอรับไว้ให้ตรงกับที่ Controller ส่งมา
5. Model ส่งของกลับให้ Controller
ก็ Return ออกไปจาก Function นั้นเลยครับ ถ้ามีหลายค่าผม
จะจับยัดใส่ Array ออกไป
6. Controller รับของที่ผลิตแล้วจาก Model
ก็เอาตัวแปรมารับจากตอนเรียก function นั่นแหละครับ
7. Controller ส่งของต่อให้ View ยังไง
CI เค้าให้ Map คู่อันดับออกไปครับ เช่น  $data['p_1']='xxxx';
จากนั้นส่ง $data เข้าไปตอน map View
$this->load->view('my_view', $data);
8. View รับของจาก Controller ยังไง
key ทุกตัวใน $data สามารถเอามาใช้ได้เลยครับเช่น
echo $p_1 ;


ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

Oracle date format จัด format date ให้แสดง พศ และ เดือน ภาษาไทยหรือตามภาษาที่เราเลือก

java -Xms , java -Xmx กำหมด memory ให้ JVM เพื่อป้องกันปัญหา Out of Memory

Java this กับ super การใช้งานคำสั่ง this กับ super ใน ภาษา Java