What is Controllers?
controller เป็นคลาสที่ส่วนที่อยู่ตรงกลางจะเชื่อมต่อระหว่าง model , view และทรัพยากรอื่นๆที่จำเป็นในกระบวนการ HTTP request และ การแสดงหน้าเว็บซึ่ง
ไฟล์ controller ต่างๆ จะถูกสร้างในโฟลเดอร์ชื่อ controller
Controller เป็นไฟล์ที่ถูกตั้งชื่อโดยสามารถติดต่อได้ด้วย URI ตัวอย่างเช่น
จากตัวอย่างด้านบน CodeIgniter จะหาและโหลด controller ที่ชื่อ tracking.php เมื่อชื่อคลาส controller ตรงกับ segment ส่วนแรก
และชื่อฟังก์ชันตรงกับ segment ส่วนที่สองก็จะโหลดหน้านั้นขึ้นมา ตัวอย่างเช่น สร้างไฟล์ controller ที่ชื่อ tracking.php ดังรูปด้านล่างนี้

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

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