Kotchasan PHP Framework

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

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

กฏของ 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)