Yii

Yii は、オープンソースで作成されたオブジェクト指向のコンポーネントベースなMVCのPHPで書かれたWebアプリケーションフレームワークである。Yiiの発音は[ji:]"イー"で、名称は「簡単：Easy)」 ・「効率的：(Efficient)」 ・「高拡張性：Extensible)」を表しているとしている。また、Yiiのスペルは「Yes It Is!（はい、それです！）」の頭文字より名付けられた。

 歴史 
Yiiプロジェクトは、2008年１月1日にPRADOの開発者であったQiang(Charlie) Xue(中国名:薛強)が、PRADOの欠点を改善し、さらに簡単で拡張性が高く高速なPHP5に基づくフレームワークを開発する為に始められた。同年10月に最初のα版英語版「Yii」記事の「History」の項目が公開され、12月3日にはYii1.0が正式に公表された。

 特徴 
コンポーネントベースである点
画面表示部分とロジック部分を分離することが可能なMVC設計パターン
純粋なオブジェクト指向
軽量で、MemcacheやAPC(Alternative PHP Cache)を考慮しているので高負荷のアプリケーションにも耐えうる設計
PHP5専用であるが、PHP7でも通常に動かせ、互換性を持つようマイナーアップデートが行われている。
ロシア・ウクライナ・中国など旧共産圏での利用が多い。。中国での人気は下降傾向にある一方で、ロシアでは根強い人気を持つ。2019年2月現在も世界のウェブサイトの3割強をロシアが占めており、Laravel、Symfony、Codeigniterを凌ぎ、ロシアでは最もメジャーなPHPフレームワークとなっている。。
日本では利用実績が他国に比べて少ない
後継のYii3が現在開発中となっている。

 主な機能 
MVCによるデザイン構成
複雑なWSDLのサービスの仕様の生成とWebサービスリクエスト処理の管理。
i18N8N/L10Nサポート - 国際化ならびにローカライズに対応(メッセージ翻訳・日付と時刻の書式・番号の書式設定およびインターフェイス等)。
異なるメディアにキャッシュデータを保存し、異なるレベルで使用することが可能 - データ·キャッシング、ページキャッシュ、フラグメントキャッシュとダイナミックコンテンツをサポートしている。キャッシュする記憶媒体を変更することができる。
例外処理(エラーハンドリング)とメッセージのロギング機能 - エラー発生した時は、例外処理が実行され、対応するビューファイルを検索してエラーメッセージを表示し、エラーログを記録・分類してエラーメッセージを異なった送り先(ファイルやメール等)に送信。
セキュリティ対策 - クロスサイトスクリプティング等の予防やクッキーの改ざん防止等。
PHPUnitとSeleniumを使用した等の単体テストおよび機能テスト
スケルトンアプリケーションやCRUDアプリケーション等の自動コード生成
Yiiのコンポーネントやコマンドラインのツールによって生成されたコードはXHTML規格に準拠している
サードパーティーが作成したコードでも動作するように慎重に設計されている - 例えば、Yiiのアプリケーション上でPEARまたはZend Frameworkからのコードを使用することも可能

 バージョン履歴 
 Version 状態 Release リリース日 メンテナンス終了日 セキュリティサポート終了日 対応PHPバージョン 1.0 セキュリティサポート終了 1.0 2008年12月3日 2010年12月31日  PHP 5.1.0以降 1.0.1 2009年1月4日 1.0.2 2009年2月1日 1.0.3 2009年3月1日 1.0.4 2009年4月5日 1.0.5 2009年5月10日 1.0.6 2009年6月7日 1.0.7 2009年7月5日 1.0.8 2009年8月9日 1.0.9 2009年9月6日 1.0.10 2009年10月18日 1.0.11 2009年12月13日 1.0.12 2010年3月14日 1.1 安定版 1.1.0 2010年1月10日 2016年12月31日 2019年12月31日（予定） PHP 5.1.0以降 1.1.1 2010年3月14日 1.1.2 2010年5月2日 1.1.3 2010年7月4日 1.1.4 2010年9月5日 1.1.5 2010年11月14日 1.1.6 2011年1月16日 1.1.7 2011年3月27日 1.1.8 2011年6月26日 1.1.9 2012年1月1日 1.1.10 2012年2月12日 1.1.11 2012年7月29日 1.1.12 2012年8月19日 1.1.13 2012年12月30日 1.1.14 2013年8月11日 1.1.15 2014年7月29日 1.1.16 2014年12月21日 1.1.17 2016年1月13日 1.1.18 2017年4月19日 1.1.19 2017年6月8日 1.1.20 2018年7月6日 2.0 安定版 2.0.0 2014年10月12日 未定  PHP 5.4.0以降 2.0.1 2014年12月7日 2.0.2 2015年1月11日 2.0.3 2015年3月1日 2.0.4 2015年5月10日 2.0.5 2015年7月11日 2.0.6 2015年8月5日 2.0.7 2016年2月14日 2.0.8 2016年4月28日 2.0.9 2016年7月11日 2.0.10 2016年10月20日 2.0.11 2016年2月2日 2.0.12 2017年6月5日 2.0.13 2017年11月3日 2.0.14 2018年2月19日 2.0.15 2018年3月20日 2.0.16 2019年1月30日

 拡張機能 
Yiiの拡張機能は「エクステンション 」と呼ばれる。Yiiプロジェクトにはユーザーが投稿した拡張リポジトリがあり、それをダウンロードして使うことができる。
「Zii」と呼ばれた公式の拡張ライブラリもあったが、コアフレームワークに統合された。この機能は1.1.0以降のすべてのバージョンにバンドルされており、gridやjQuery UIのような追加されたビヘイビアやウィジェットを含んでいる。

 ドキュメンテーション 
Yiiの公式ドキュメンテーション(公式資料集/公式ガイド)には簡単なブログアプリケーションを開発するためのチュートリアルやプロパティ・メソッド・イベントに関する詳細などのすべての機能の説明とクラスの参照のガイドである。
公式ウェブサイトではユーザーが投稿した仕様書のほとんどが利用できる。

 ライセンス 
Yiiは、二次的著作物のソースコードを公開しないオープンソースとプロプライエタリソフトウェアの両方のウェブアプリケーションの開発においてYiiの無料利用可能とする修正BSDライセンス(3条項BSDライセンス)の下でリリースされている。
つまり、著作権表示・ライセンス条文・無保証の旨の三点をドキュメント等に記載さえしておけば、BSDライセンスのソースコードを他のプログラムに組み込み、しかも組み込み後のソースコードを非公開にすることも可能である。(WikipediaのBSDライセンスの記事より引用して説明。)
Yiiの公式マニュアルに記載されたテキストは、GFDLの下で公衆へライセンスを提供している。一般的に言って、Yiiのコンテンツは、Yiiによって作成しようとする二次的著作物を他人が自由に利用できることを認める限りにおいて一次的著作権者がYiiを使用して作成した一次的著作物のコピー・変更および再配布することができるとしている。
ロゴは「クリエイティブ・コモンズ表示-改変禁止3.0 非移植」のライセンスでの下でライセンスされている。

 関連項目 
 Webアプリケーションフレームワーク
 PRADO

 脚注 

 外部リンク 
 Yii PHP Framework Yii公式サイト 
 Yii公式サイト日本語版 
 yiijan.org Yii日本ユーザグループ
 yiiframeworkによる高速アプリケーション開発
 Yii Extensions
 Yii Documentation
 The Definitive Guide to Yii
 Yii Forum
 Yii on github

Category:オープンソースソフトウェア
Category:ウェブアプリケーションフレームワーク
Category:PHPフレームワーク
Category:PHPでプログラムされた自由ソフトウェア