2

私の現在の MVC 設計パターンの実装 (PHP と CodeIgniter を使用して実証) では:

「www.mysite.com/blue/page」に「ページ」があり、最終的に次の (大幅に簡略化された) ファイルによって生成されるとします。

/libraries
    session_lib.php
/controllers
    /red
    /white
    /blue
        page.php
/models
    /red
    /white
    /blue
        funky_class.php
        page_model.php
/views
    /red
    /white
    /blue
        page.php

そして、ここにわかりやすいコントローラーがあります:

// FILE: /controllers/blue/page.php

// Get some paramaters from URL
$params = $this->input->get();

// Use a library to do some stuff with these params with a session
$this->load->library('session_lib');
$this->session_lib->store_in_session($params);

// Use a very page specific class to do some funky stuff with the params
$this->load->model('blue/funky_class');
$funkified_params = $this->funky_class->funkify($params);

// Pass params to a model
$this->load->model('blue/page_model');
$data['output_from_db'] = $this->page_model->get_some_output_from_db($funkified_params);

// Send to view
$this->load->view('blue/page', $data);

そして今、質問...

データベースと対話しないこれらの「ファンキーな」小さなページ固有のクラスの最善の手順は何ですか? この例では、小さなクラスをモデルとともに保存します。場合によっては、モデル クラス内に追加のメソッドを追加して、ファンキーなことを行うこともあります。これは良い習慣ですか?それとも、ライブラリとファンキーなクラスの両方をモデル内に配置して、コントローラーをさらにスリムにする必要がありますか (ただし、モデルはセッションやファンキーさを必要とせずに他の場所で使用される可能性があります)。

4

1 に答える 1