この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:2
ページ更新者:atom
更新日時:2026-05-18 07:36:53

タイトル: Yii

本稿はYii (Yii Framework)に関する記事です。

Yiiとは?

Yiiは、PHP 製のフルスタックWebアプリケーションフレームワークです。「Yes, it is!」の頭文字に由来します。パフォーマンス重視・高機能な ActiveRecord・Gii によるコード自動生成が特徴で、エンタープライズから小〜中規模 Web アプリまで幅広く使われてきました。

現在の主流は Yii 2 です。次世代の Yii 3 はモジュール集として開発が進められています。

Yiiの主な特徴

  • 高速 — レイジーローディング・キャッシュ前提で軽量に設計
  • Gii によるスキャフォールド — モデル・CRUD・コントローラの自動生成
  • ActiveRecord — テーブル=クラスでデータベースを扱う
  • Widget・テーマ機能 — UIの再利用が容易
  • RBAC — ロールベースアクセス制御を標準サポート
  • i18n / l10n — 多言語化が標準対応
  • テスト統合 — Codeception を使った機能・受入テスト

Yii 2 のプロジェクト構成 (basicテンプレート)

ディレクトリ役割
config/アプリ設定 (web.php / db.php 等)
controllers/コントローラ
models/ActiveRecord モデル・フォームモデル
views/ビュー (PHPテンプレート)
web/公開ディレクトリ (index.php・assets)
runtime/ログ・キャッシュ等の実行時生成物
vendor/Composer 依存

典型的なコード例 (Yii 2)

// app/controllers/UserController.php
namespace app\controllers;

use yii\web\Controller;
use app\models\User;

class UserController extends Controller
{
    public function actionView($id)
    {
        $user = User::findOne($id);
        return $this->render('view', ['user' => $user]);
    }
}

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

フレームワーク立ち位置状況
Yiiフルスタック。コード自動生成・ActiveRecord重視Yii 2 が現役、Yii 3 開発中
Laravelフルスタック。エコシステム最大級現役・主流
Symfony大規模向け・コンポーネント集現役・主流
CakePHPフルスタック。Rails系現役
Silexマイクロ2018年EOL

インストール (Yii 2 basic)

$ composer create-project --prefer-dist yiisoft/yii2-app-basic myapp
$ cd myapp
$ php yii serve   # 開発サーバー起動

運用上の注意

  • PHPバージョン対応に注意 (Yii 2 は長期間サポートされているが、PHP 8 系での挙動確認は必要)
  • 本番では debug / gii モジュールを無効化 (開発時のみ有効)
  • セッション・キャッシュは Redis / Memcached を検討
  • 大規模化する場合は advanced テンプレートでフロント/バック分割

関連