Yii
Webアプリケーションフレームワークの一つ
From Wikipedia, the free encyclopedia
Yii は、オープンソースで作成されたオブジェクト指向のコンポーネントベースなMVCのPHPで書かれたWebアプリケーションフレームワークである。Yiiの発音は[ji:]"イー"で、名称は「簡単:Easy)」 ・「効率的:(Efficient)」 ・「高拡張性:Extensible)」を表しているとしている[2]。また、Yiiのスペルは「Yes It Is!(はい、それです!)」の頭文字より名付けられた[3]。
| 初版 | 2008年12月3日 | ||
|---|---|---|---|
| 最新版 |
| ||
| リポジトリ | |||
| プログラミング 言語 | PHP | ||
| 対応OS | クロスプラットフォーム | ||
| 後継 | Yii3 | ||
| 対応言語 | 英語のみ? | ||
| サポート状況 | サポート中です。 | ||
| 種別 | Webアプリケーションフレームワーク・オープンソース | ||
| ライセンス | 3条項BSDライセンス | ||
| 公式サイト |
www |
歴史
特徴
- コンポーネントベースである点[5]
- 画面表示部分とロジック部分を分離することが可能なMVC設計パターン
- 純粋なオブジェクト指向
- 軽量で、MemcacheやAPC(Alternative PHP Cache)を考慮しているので高負荷のアプリケーションにも耐えうる設計[6]
- PHP5専用である[7]が、PHP7でも通常に動かせ、互換性を持つようマイナーアップデートが行われている。
- ロシア・ウクライナ・中国など旧共産圏での利用が多い[8]。中国での人気は下降傾向にある一方で、ロシアでは根強い人気を持つ。2019年2月現在も世界のウェブサイトの3割強をロシアが占めており、Laravel、Symfony、Codeigniterを凌ぎ、ロシアでは最もメジャーなPHPフレームワークとなっている。[9]
- 日本では利用実績が他国に比べて少ない[10][11]
- 後継のYii3が現在開発中となっている。
主な機能
- MVCによるデザイン構成
- 複雑なWSDLのサービスの仕様の生成とWebサービスリクエスト処理の管理。
- i18N8N/L10Nサポート - 国際化ならびにローカライズに対応(メッセージ翻訳・日付と時刻の書式・番号の書式設定およびインターフェイス等)。
- 異なるメディアにキャッシュデータを保存し、異なるレベルで使用することが可能[12] - データ·キャッシング、ページキャッシュ、フラグメントキャッシュとダイナミックコンテンツをサポートしている。キャッシュする記憶媒体を変更することができる。
- 例外処理(エラーハンドリング)とメッセージのロギング機能 - エラー発生した時は、例外処理[13]が実行され、対応するビューファイルを検索してエラーメッセージを表示し、エラーログ[14]を記録・分類してエラーメッセージを異なった送り先(ファイルやメール等)に送信。
- セキュリティ対策 - クロスサイトスクリプティング等の予防やクッキーの改ざん防止等。
- PHPUnit[15]とSelenium[16]を使用した等の単体テストおよび機能テスト[17]
- スケルトン[18]アプリケーションやCRUDアプリケーション等の自動コード生成[19]
- Yiiのコンポーネントやコマンドラインのツールによって生成されたコードはXHTML規格に準拠している
- サードパーティーが作成したコードでも動作するように慎重に設計されている - 例えば、Yiiのアプリケーション上でPEARまたはZend Frameworkからのコードを使用することも可能
バージョン履歴
| Version | 状態 | Release | リリース日 | メンテナンス終了日 | セキュリティサポート終了日 | 対応PHPバージョン |
|---|---|---|---|---|---|---|
| 1.0 | セキュリティサポート終了 | 1.0 | 2008年12月3日 | 2010年12月31日[20] | PHP 5.1.0以降[20] | |
| 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 | 安定版[20] | 1.1.0 | 2010年1月10日 | 2016年12月31日[20] | 2019年12月31日(予定)[20] | PHP 5.1.0以降[20] |
| 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 | 安定版[20] | 2.0.0 | 2014年10月12日 | 未定[20] | PHP 5.4.0以降[20] | |
| 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日[20] |
拡張機能
ドキュメンテーション
ライセンス
Yiiは、二次的著作物のソースコードを公開しないオープンソースとプロプライエタリソフトウェアの両方のウェブアプリケーションの開発においてYiiの無料利用可能とする修正BSDライセンス(3条項BSDライセンス)の下でリリースされている。[3]
つまり、著作権表示・ライセンス条文・無保証の旨の三点をドキュメント等に記載さえしておけば、BSDライセンスのソースコードを他のプログラムに組み込み、しかも組み込み後のソースコードを非公開にすることも可能である。(WikipediaのBSDライセンスの記事より引用して説明。)
Yiiの公式マニュアルに記載されたテキストは、GFDLの下で公衆へライセンスを提供している。一般的に言って、Yiiのコンテンツは、Yiiによって作成しようとする二次的著作物を他人が自由に利用できることを認める限りにおいて一次的著作権者がYiiを使用して作成した一次的著作物のコピー・変更および再配布することができるとしている。[24]
ロゴは「クリエイティブ・コモンズ表示-改変禁止3.0 非移植」のライセンスでの下でライセンスされている[25]。