Model-View-Controller
CodeIgniter はModel-View-Controller パターンに基づいています。MVC はプレゼンテーションからアプリケーションロジックを分離するためのソフトウェアアプローチです。実際には、PHPスクリプトからプレゼンテーションが分離されるので、webページには、必要最小限のスクリプトだけを書くようにできます。
- モデル はデータ構造をあらわします。モデルクラスは多くの場合、データベースから情報を取得・挿入・更新するメソッドを持ちます。
- ビュー はユーザに表示される情報です。ビューは通常はwebページですが、CodeIgniterでは、ヘッダ・フッタなどのページの断片である場合もあります。またRSSページや他のタイプのページである場合もあります。
- コントローラ はモデルとビュー、それから、HTTPリクエストを処理しwebページを生成するために必要とされるリソース、これらを仲介しながら 動作します。
CodeIgniter においては、モデルは必ずしも必要ではありません。ですのでMVCに対してややルーズなアプローチをとっているといえます。 余計な分離が不要な場合や、モデルをメンテナンスすることが希望より複雑であることがわかった場合には、 モデルを使用せず、最低限、コントローラとビューを利用してアプリケーションを構築できます。さらに、CodeIgniter では既存のスクリプトを組み入れることもできるだけでなく、あなたが一番理解しやすい方法でプログラミングするために、システムのコアライブラリを開発することさえできます。