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

ユーザガイドを検索

# 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コミュニティにとっての最大の関心事とはならないだろうと感じました。

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

## CodeIgniter はライトウェイトです

本当に軽量です。コアのシステムは、非常に小さなライブラリを少数だけしか使いません。大変多くのリソースが必要な多くのフレームワークと比べてシンプルです。基本機能以外に追加で利用可能なライブラリは、必要に応じて、リクエスト時に動的に読み込まれます。したがって、基本システムは非常にスリムで大変高速です。

## CodeIgniter は高速です

実際に高速です。CodeIgniterよりもすぐれたパフォーマンスのフレームワークを探せるというならぜひ探してみてください。

## CodeIgniter は M-V-C を採用しています

CodeIgniter は Model-View-Controller アプローチを採用しています。Model-View-Controllerは、ロジックとプレゼンテーションのすぐれた分離を可能にします。これは、最低限のコードだけでできたテンプレートファイルをデザイナーが利用して作業するようなプロジェクトで、特に優れたアプローチです。MVC については、MVCの解説ページで詳しく述べます。

## CodeIgniter は簡潔なURLを生成します

CodeIgniterは簡潔で検索エンジンに親和性が高いURLを生成します。CodeIgniterは、URLに対しては、動的システムの代名詞ともいえる一般的な「クエリ文字列」アプローチを使用せず、セグメントベースのアプローチを採用しています:

`www.your-site.com/news/article/`345``

Note: 標準では、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 には、フレンドリーなユーザコミュニティがあります

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