7.

CodeIgniter

編集

本稿は CodeIgniter に関する記事です。

CodeIgniterとは?

CodeIgniter は PHP 製の 軽量・高速な Web アプリケーションフレームワークです。「最小の設定で動く小さな MVC フレームワーク」を志向しており、学習コストが低いことから、小〜中規模 Web サイト・社内ツールで広く採用されてきました。

ファイルサイズが小さく、依存も少ないため、レンタルサーバ上で動かしやすいのも特徴です。現在の主流は CodeIgniter 4 系で、Composer での導入と Namespace を取り入れた現代的な構成になっています。

CodeIgniter の主な特徴

  • 軽量・高速 — コア部分のフットプリントが小さい
  • MVC — Controller / Model / View の標準構造
  • 学習コストが低い — 設定がほぼ不要、ドキュメントが充実
  • ライセンス — MIT (商用利用も自由)
  • レンタルサーバ親和性 — 共有レンタルサーバでも動作させやすい
  • 豊富な内蔵ヘルパ・ライブラリ — フォーム・セッション・メール・画像処理など
  • クエリビルダ・Migrations・Database Forge — DB 操作も標準化

バージョン

バージョン位置づけ
CodeIgniter 4現行系。PHP 7.4+ / 8.x、Composer、Namespace、PSR 準拠
CodeIgniter 3レガシー系。今も保守版がリリース。古い PHP でも動く
CodeIgniter 2EOL。利用継続は推奨しない

典型的なプロジェクト構造 (CI4)

ディレクトリ役割
app/Controllers/コントローラ
app/Models/モデル (DB アクセス)
app/Views/ビュー (PHP テンプレート)
app/Config/設定 (ルーティング・DB 等)
app/Filters/リクエスト前後の処理 (認証・ログ等)
public/公開ディレクトリ (index.php・assets)
writable/キャッシュ・ログ等の書込領域

典型的なコード例 (CI4)

// app/Controllers/Hello.php
namespace App\Controllers;

use CodeIgniter\Controller;

class Hello extends Controller
{
  public function index($name = 'World')
  {
    return view('hello', ['name' => $name]);
  }
}

主な PHP フレームワークとの比較

フレームワーク位置づけ規模
CodeIgniter軽量・学習簡単小〜中
Laravelフルスタック・エコシステム最大小〜大
Symfony大規模・コンポーネント集中〜大
CakePHPフルスタック・Rails 系小〜中
Yiiフルスタック・コード自動生成小〜中
Silexマイクロ (EOL)

インストール (CI4 / Composer)

composer create-project codeigniter4/appstarter myapp
cd myapp
php spark serve   # 開発サーバ起動 (デフォルト http://localhost:8080)

運用上の注意

  • 本番では CI_ENVIRONMENT=production に設定し、詳細エラーを非表示
  • 公開すべきは public/ のみ。app/writable/ はドキュメントルート外に置く
  • ルーティングは app/Config/Routes.php。本番ではAuto Routing は無効化が安全
  • セッション・キャッシュは Redis / Memcached を検討
  • レンタルサーバの PHP バージョンが古いと CI4 が動かない (PHP 7.4+ 必須)。PHP 7.4 自体は EOL なので 8.x を選ぶのが安全

関連

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. Laravel
  2. CakePHP
  3. Symfony
  4. zend framework
  5. DietCake
  6. phalcon
  7. CodeIgniter
  8. FuelPHP
  9. Slim
  10. Flight
  11. Yii
  12. Silex