r5 - 06 Jan 2009 - 15:19:12 - CharinyaKlakhangYou are here: SETEC Wiki >  Knowledge Web  > SoftwareEngineeringCategory > Agile > CodeigniterForCodingStandard > ModelViewController > WhatIsControllers

What is Controllers?

    controller เป็นคลาสที่ส่วนที่อยู่ตรงกลางจะเชื่อมต่อระหว่าง model , view และทรัพยากรอื่นๆที่จำเป็นในกระบวนการ HTTP request และ การแสดงหน้าเว็บซึ่ง

ไฟล์ controller ต่างๆ จะถูกสร้างในโฟลเดอร์ชื่อ controller

Controller เป็นไฟล์ที่ถูกตั้งชื่อโดยสามารถติดต่อได้ด้วย URI ตัวอย่างเช่น

จากตัวอย่างด้านบน CodeIgniter จะหาและโหลด controller ที่ชื่อ tracking.php เมื่อชื่อคลาส controller ตรงกับ segment ส่วนแรก
และชื่อฟังก์ชันตรงกับ segment ส่วนที่สองก็จะโหลดหน้านั้นขึ้นมา ตัวอย่างเช่น สร้างไฟล์ controller ที่ชื่อ tracking.php ดังรูปด้านล่างนี้


                    view3.JPG
                                                            รูปที่4.5 ตัวอย่างไฟล์ controller

   จากนั้นเก็บไฟล์ไว้ในโฟลเดอร์ application/controllers/
ถ้าการทำงานถูกต้องระบบจะแสดงหน้า view ที่ชื่อ input.php (หน้า create plan ในระบบ tracking) ดังรูปด้านล่างนี้
หมายเหตุ : ชื่อของคลาสจะต้องขึ้นต้วยตัวใหญ่และ extends คลาส controller


                    input2.JPG

รูปที่4.6 หน้า input.php


การส่ง URI Segments ผ่านทาง Controller

   ถ้า URI ประกอบด้วย segment มากกว่า 1 segment มีวิธีการส่งค่าผ่านทางฟังก์ชันของคลาส controller เป็น parameter ตัวอย่างเช่น ฟังก์ชันที่ชื่อ edit ในคลาส controller ที่ชื่อ timesheet มีการส่งค่า URI ใน segment ที่3 , 4 , 5 และ6 คือ ("1" , "04", "05"และ"2008"):
รูปด้านล่างจะแสดงการรับค่าที่ส่งผ่าน URL มายังฟังก์ชันในไฟล์ controller

                    controller2.JPG
                                                            รูปที่4.7 แสดงการส่งค่าผ่านทางฟังก์ชันของคลาส controller

จากรูปด้านบนจะแสดงฟังก์ชัน edit ที่มีการรับค่า parameter ทั้งหมด 4 ค่า เพื่อใช้ในการอัพเดทข้อมูล timesheet

BACK

toggleopenShow attachmentstogglecloseHide attachments
Topic attachments
I Attachment Action Size Date Who Comment
jpgJPG view3.JPG manage 33.2 K 28 May 2008 - 03:02 PattamaKrataithong  
jpgJPG input2.JPG manage 77.6 K 28 May 2008 - 03:14 PattamaKrataithong  
jpgJPG controller1.JPG manage 27.8 K 28 May 2008 - 03:37 PattamaKrataithong  
jpgJPG controller2.JPG manage 28.8 K 28 May 2008 - 03:38 PattamaKrataithong  
Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r5 < r4 < r3 < r2 < r1 | More topic actions
Knowledge.WhatIsControllers moved from Knowledge.WhatIsController on 28 May 2008 - 09:38 by PattamaKrataithong - put it back
 
Powered by SETEC Wiki
Copyright ©2012 by National Electronics and Computer Technology Center, NECTEC.
Ideas, requests, problems regarding SETEC Wiki? Send feedback