# CodeIgniter ユーザガイド 日本語版 Version 1.7.2

ユーザガイドを検索

# CodeIgniter の簡単な紹介

## CodeIgniter はアプリケーションフレームワークです

CodeIgniter は PHP を使用してwebアプリケーションを構築する人向けのツールキットです。一般に必要とされるタスクのための豊富なクラスライブラリだけでなく、ライブラリにアクセスするためのシンプルなインターフェースと論理的構造を提供することにより、コードをスクラッチで書くのに比べ、開発プロジェクトをより加速させるのがゴールです。CodeIgniterは与えられタスクに必要とされるコード量を最小化することで、創造的にプロジェクトに集中することができます。

## CodeIgniter は無料です

CodeIgniter は Apache/BSD スタイルのオープンソースライセンスですので、どんなものにでも利用できます。 詳しくは、ライセンス契約書をお読みください。

## CodeIgniter　は PHP 4 で動作します

CodeIgniter は PHP 4 に対応しています。 PHP5を利用すれば、これまで創造的な解決策を見つける必要があったもの（みなさんがやってきた事や多重継承など）が簡単になります。ですので、私たちは、PHP5の優れたオブジェクトの利用方法を使いたいところですが、これを書いている現時点では、PHP5はまだ広くは利用されていません。これでは、PHP5を使っても、多くの優秀な利用者の皆さんを失望させることになってしまいます。RedHatのような主要なOSベンダは、PHP5のサポートをゆっくりと始めようとしているところであり、すぐにはサポートしそうにありません。ですので、私たちは、CodeIgniterをPHP5で書くことが、PHPコミュニティにとっての最大の関心事とはならないだろうと感じました。

注: CodeIgniter は PHP5 でも動作します。単に　PHP5 固有の機能を一切使用していないだけです。

## 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 は完全にドキュメント化されています

プログラマはコードを愛し、ドキュメントを書くのを嫌います。もちろん私たちも同じですが、ドキュメントはコードそのものと同じくらい重要です。ですから、私たちはドキュメントを書くことを義務付けました。非常に綺麗なソースコードにも、コメントが豊富に書かれています。

## CodeIgniter には、フレンドリーなユーザコミュニティがあります

私たちの コミュニティフォーラム には、たくさんのユーザが活発に参加しており、私たちのコミュニティは拡大しています。