Kotchasan PHP Framework

Controller สมองของเฟรมเวิร์ค

หลังจากที่ผ่าน Router มาแล้ว ข้อมูลที่แยกได้จะถูกส่งไปยัง Controller โดยที่คชสารได้กำหนดให้มี คอนโทรลเลอร์หลักไว้อยู่แล้ว คือ \Index\Index\Controller (Kotchasan::$defaultController) พร้อมกับข้อมูลที่แยกได้ในรูปของ Request

คอนโทรลเลอร์จะมีหน้าที่สำคัญในการตัดสินใจว่าจะทำอย่างไรต่อกับข้อมูลที่ได้มา เปรียบเหมือนส่วนสมองกลของเว็บไซต์ เช่น

  • ร้องขอข้อมูลเพิ่มเติมจาก Model
  • เรียก Controller อื่นมาทำงานต่อ ตามหน้าที่ของมัน (เช่นการเรียกโมดูลมาทำงานต่อ)
  • ส่งข้อมูลที่ประมวลผลได้ไปแสดงผลผ่านทาง View

จะเห็นได้ว่าโค้ดการทำงานส่วนใหญ่จะอยู่ที่ Controller นี้ และด้วยคอนเซ็ปต์ของคชสาร ทำให้การเขียนโค้ดส่วนใหญ่ของคุณ จะอยู่ที่ Controller นี้เท่านั้น โดยไม่ต้องไปยุ่งกับการคัดเลือกเส้นทางเลย

การสร้าง Controller
สร้างไฟล์ modules/index/controllers/index.php และเขียนโค้ดตามนี้
namespace Index\Index;

class Controller extends \Kotchasan\Controller
{


    public function index(Request $request)
    {
        // เขียนโค้ดของคอนโทรลเลอร์ที่นี่
    }
}

เมื่อสร้างไฟล์ที่มีโค้ดตามด้านบนเราจะได้คลาสที่มีชื่อว่า Index\Index\Controller ซึ่งเป็น defaultController นั่นเอง ซึ่งเมื่อมีการเรียกหน้าเว็บไซต์ก็จะทำการประมวลผลที่เมธอด index โดยมีพารามิเตอร์ $request ที่เก็บ Request Object ที่ถูกส่งมาพร้อมกับการเรียก URL