2012-05-14 132 views
-1

我們以一個小社交網站爲例。其中一個模塊也是測驗。測驗模塊包含以下部分:Codeigniter組織控制器結構

-Create quize 
-Edit quize 
-Quize view 
-Browse quizes 
-Send quize to friend 

我想知道在這種情況下最好的方法是什麼。其中一個選項是爲每個模塊部分創建另一個控制器。

controllers/create_quize.php 
controllers/edit_quize.php 
controllers/quize_view.php 
controllers/browse_quizes.php 
controllers/send_quize.php 

另一種方法是爲具有許多功能的整個模塊創建單個控制器。沒有任何選項可以。首先,這可能意味着我的控制器文件夾中有超過30個控制器(記住quizess只是衆多模塊中的一個)。第二個選項不正確,因爲單個文件將具有許多功能,並且不會輕易掃描到開發人員。

我也想創建許多控制器,但將它們組織成子文件夾。無論如何condeigniter沒有修改這個選項。

Tnx!

+1

tnx用於警告。說實話,我甚至不知道這個選項。現在我明白了 :) – user1324762

回答

4

你只需要一個控制器爲你的測驗。你quiz控制器可能是這樣的:

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

class Quiz extends CI_Controller { 

    function __construct() 
    { 
     parent::__construct(); 
    } 


    function index() 
    { 
     // Index page. List all quizzes here, perhaps as an replacement to /browse 
     // /quiz/ 
    } 


    function create() 
    { 
     // Create a new quiz 
     // /quiz/create 
    } 


    function edit($quiz_id) 
    { 
     // Edit quiz with $quiz_id 
     // /quiz/edit/1 
    } 


    function browse() 
    { 
     // Index page. List all quizzes here, perhaps 
     // /quiz/browse 
    } 


    function send($quiz_id) 
    { 
     // Send/share page 
     // /quiz/send/1 
    } 

} 

笨是一個模型 - 視圖 - 控制器框架。您可能想要查看它的結構:http://codeigniter.com/user_guide/