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