2012-02-11 4 views
1

私はcodeigniterを研究しており、簡単なアプリケーションを実現します。私はすべてのページが、直接の動的要素を含んでいない場合でも、MVCパターンを介して作成する必要がありますか?私は自分自身を説明する:私のホームページには、ディナミックなものは何も含まれていない。ヘッダー、メニュー、フッターのみ。この状況に対処するためのモデル、コントローラ、およびビューを作成する必要がありますか、または単純なホームページを作成する必要がありますか?codeigniter:MVCパターンで作成されたものはすべて?

答えて

3

コントローラから作成するのは、URLから呼び出されるものなので、常に作成する必要があります。

限り、ビューとモデル。どちらかを作成する必要はありません。

静的な情報を持つページがたくさんあるので、モデルのやり取りはまったく必要ありません。

ビューなしでは、MVCの目的を破るようなものです。コントローラがページのHTMLをすべてエコーすることは可能ですが、私はそれをやりません。

私のやり方は、ヘッダーとフッターが含まれている既定のビューがあることです。ページのすべてのコンテンツが入るコンテンツビュー。次に、ページのコンテンツをコンテンツビューにポンプし、次にそれをデフォルトビューに送り、ページを作成します。

$arrData["vwsContent"] = $this->load->view("your view for the page", $arrData, TRUE); 
$arrData["vwsPageContent"] = $this->load->view("content template view", $arrData, TRUE); 
$this->load->view("default template view", $arrData, FALSE); 

このように、私は異なるコンテンツビューを持つことができますが、すべてのページについて同じデフォルトビューを使用できます。たとえば私のホームページは私の普通のページとは違って見えますので、CONTENTテンプレートの代わりにHOMEテンプレートを使用します。

1

任意のコントローラでホームページ機能を定義できます。 routes.phpのデフォルトのコントローラとアクションで

$route['default_controller'] = "welcome";を定義することができます(歓迎の任意のあなたの好みのコントローラに置き換えることができます)。

function index(){ 
     $this->load->view('index'); 
} 

はその後、 "ビュー" フォルダ内のファイルのindex.phpを作成して名前のインデックスを持つ関数を作成します。

index.phpには、すべてのHTML静的コンテンツを入れることができます。 images/css/jsパスにURLヘルパー[function base_url()]を使用できます。

関連する問題