CodeIgniter の簡単な紹介¶
CodeIgniter はアプリケーションフレームワークです¶
CodeIgniter は PHP を使用してwebアプリケーションを構築する人向けのツールキットです。 一般に必要とされるタスクのための豊富なクラスライブラリだけでなく、 ライブラリにアクセスするためのシンプルなインターフェースと 論理的構造を提供することにより、コードをスクラッチで書くのに比べ、 開発プロジェクトをより加速させるのがゴールです。 CodeIgniter は与えられた タスクに必要とされるコード量を最小化することで、創造的にプロジェクトに 集中することができます。
CodeIgniter は軽量です¶
本当に軽量です。コアのシステムは、非常に小さなライブラリを少数だけしか使いません。 大変多くのリソースが必要な多くのフレームワークと比べてシンプルです。基本機能以外 に追加で利用可能なライブラリは、必要に応じて、 リクエスト時に動的に読み込まれます。 したがって、基本システムは非常にスリムで大変高速です。
CodeIgniter は高速に動作します¶
非常に速いです。CodeIgniter よりもすぐれたパフォーマンスのフレームワークを探せる というなら、ぜひ探してみてください。
CodeIgniter は M-V-C を採用しています¶
CodeIgniter はModel(モデル)-View(ビュー)-Controller(コントローラ)アプローチを採用 しています。Model-View-Controller は、ロジックとプレゼンテーションのすぐれた分離を 可能にします。これは、最低限のコードだけでできたテンプレートファイルをデザイナーが 利用して作業するようなプロジェクトで、特に優れたアプローチです。MVC については、 MVC の解説ページで詳しく述べます。
CodeIgniter は簡潔な URL を生成します¶
CodeIgniter は簡潔で検索エンジンに親和性が高いURLを生成します。 CodeIgniter は、URLに動的システムの代名詞ともいえる一般的な 「クエリ文字列」アプローチを使用せず、セグメントベースの アプローチを採用しています:
example.com/news/article/345
注釈
初期設定では URL に index.php ファイルが含まれますが、簡単な .htaccess ファイルを使うことで削除できます。
CodeIgniter は強力です¶
CodeIgniter は幅広い分野のライブラリから構成されています。このライブラリを 使えば、データベースアクセスや Email 送信、データの検証、セッションの維持、 イメージの操作、XML-RPC データの取り扱いなどといった、web開発においてもっと もよく必要とされるタスクを実行できます。
CodeIgniter は拡張可能です¶
システムは、ライブラリやヘルパー、クラスの継承やシステムフック により簡単に拡張することができます。
CodeIgniter はテンプレートエンジンを必要としません¶
CodeIgniter には、オプションで利用可能なシンプルなテンプレートパーサが備わって いますが、利用は強制ではありません。テンプレートエンジンは、ネイティブ PHP に は単純にパフォーマンスでかないませんし、覚えなければならないテンプレートエンジ ンの構文は基本的な PHP より少し簡単な程度です。例えば、こんな PHP のコードを思い 浮かべてみてください:
<ul>
<?php foreach ($addressbook as $name):?>
<li><?=$name?></li>
<?php endforeach; ?>
</ul>
これに対して、テンプレートエンジンで使われる擬似コードはこんな感じです:
<ul>
{foreach from=$addressbook item="name"}
<li>{$name}</li>
{/foreach}
</ul>
そうです。テンプレートエンジンの例は、ほんのわずか簡単になっています。 しかし、実行する際に疑似コードを PHP に書き戻すため、パフォーマンスという 代償を払うことになります。私たちの目標の一つは、パフォーマンスの最大化すること であるためテンプレートエンジンの利用を必須でないようにしました。
CodeIgniter は完全にドキュメント化されています¶
プログラマはコードを愛し、ドキュメントを書くのを嫌います。もちろん私たちも同じ ですが、ドキュメントはコードそのものと 同じくらい重要 です。ですから、私たちは ドキュメントを書くことを義務付けました。非常に綺麗なソースコードにも、コメント が豊富に書かれています。
CodeIgniter には、フレンドリーなユーザコミュニティがあります¶
私たちの コミュニティフォーラム.には、たくさん のユーザが活発に参加しており、私たちのコミュニティは拡大しています。