-1

たとえば、小さなソーシャル ネットワーク サイトを考えてみましょう。モジュールの 1 つはクイズでもあります。クイズ モジュールには、次のセクションがあります。

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

この場合、どうするのがベストなのか悩んでいます。オプションの 1 つは、モジュール セクションごとに別のコントローラーを作成することです。

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

別の方法は、多くの機能を持つモジュール全体に対して単一のコントローラーを作成することです。どのオプションも問題ありません。第一に、これはコントローラ フォルダに 30 個を超えるコントローラがあることを意味する可能性があります (quisess は多くのモジュールの 1 つにすぎないことを念頭に置いてください)。2 番目のオプションは、1 つのファイルに多くの機能が含まれており、開発者が簡単にスキャンできないため、適切ではありません。

コントローラーもたくさん作ろうと思っていたのですが、サブフォルダーにまとめました。いずれにせよ、condeigniter にはこのオプションを変更しないとありません。

Tnx!

4

1 に答える 1

4

クイズに必要なコントローラーは 1 つだけです。コントローラー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
    }

}

CodeIgniter はモデル ビュー コントローラー フレームワークです。それがどのように構成されているかを確認することをお勧めします: http://codeigniter.com/user_guide/

于 2012-05-14T18:38:02.997 に答える