Kotchasan PHP Framework

ความหมายของ MMVC และโมดูลของคชสาร

MMVC ย่อมาจาก Modules Model View Controller มีความหมายคือเป็นโมดูลของ MVC โดยที่คชสารสนับสนุนการใช้โมดูลย่อยหลายๆโมดูลประกอบกันเพื่อเป็นแอพพลิเคชั่น ซึ่งข้อดีของวิธีนี้คือ การเพิ่มหรือลดความสามารถของแอพพลิเคชั่น สามารถทำได้โดยการเพิ่มหรือลดโมดูลเท่านั้น
  • modules/
    1. index/ โมดูล Index
        1. models/ เป็นไดเรคทอรี่ที่เก็บไฟล์ที่เป็น Model
          1. index.php ไฟล์ของคลาส Index\Index\Model
          2. main.php ไฟล์ของคลาส Index\Main\Model
        2. controllers/ เป็นไดเรคทอรี่ที่เก็บไฟล์ที่เป็น Controller
          1. index.php ไฟล์ของคลาส Index\Index\Controller
          2. main.php ไฟล์ของคลาส Index\Main\Controller
        3. views/ เป็นไดเรคทอรี่ที่เก็บไฟล์ที่เป็น View
          1. index.php ไฟล์ของคลาส Index\Index\View
          2. main.php ไฟล์ของคลาส Index\Main\View
    2. document/ โมดูล Document
    3. board/ โมดูล Forum

กฏของ MMVC
  • โมดูลต่างๆ จะต้องอยู่ภายใต้ไดเร็คทอรี่ modules/ เท่านั้น
  • ไดเร็คทอรี่ต่างๆภายใต้ modules/ คือ หนึ่งโมดูล ในตัวอย่างนี้จะมีสามโมดูล คือ โมดูล Index, โมดูล Document และ โมดูล Board
  • ในแต่ละโมดูล จะประกอบด้วย Model Controller และ View ตามกฏของ MVC (ชื่อไดเรคทอรี่จะต้องมี s ลงท้าย)
  • ไฟล์ต่างๆภายในโมดูล จะได้คลาสตามชื่อของไฟล์ เช่น /index/controllers/main.php จะได้ชื่อ Class เป็น Index\Main\Controller
  • ชื่อไฟล์และไดเร็คทอรี่ทั้งหมด ต้องเป็นตัวพิมพ์เล็กเท่านั้น (ชื่อไฟล์สามารถมีตัวเลขและ _ ได้ ตามกฏของชื่อคลาส)
โมดูลสำคัญของคชสารที่จะขาดไม่ได้ คือโมดูล Index และจะต้องมีไฟล์ modules/index/controllers/index.php (หรือคลาส Index\Index\Controller) อยู่ด้วยเสมอเนื่องจากจะเป็นคอนโทรเลอร์หลักที่คชสารจะเรียกใช้ (ตามที่กำหนดโดย Kotchasan::$defaultController)