Yii
初版 | 2008年12月3日 |
---|---|
最新版 |
2.0.16[1]
/ 2019年1月30日 |
リポジトリ | |
プログラミング 言語 | PHP |
対応OS | クロスプラットフォーム |
サポート状況 | Active |
種別 | Webアプリケーションフレームワーク |
ライセンス | 修正BSDライセンス |
公式サイト |
www |
Yii は、オープンソースで作成されたオブジェクト指向のコンポーネントベースなMVCのPHPで書かれたWebアプリケーションフレームワークである。Yiiの発音は[ji:]"イー"で、名称は「簡単:Easy)」 ・「効率的:(Efficient)」 ・「高拡張性:Extensible)」を表しているとしている[2]。また、Yiiのスペルは「Yes It Is!(はい、それです!)」の頭文字より名付けられた[3]。
歴史
[編集]Yiiプロジェクトは、2008年1月1日にPRADOの開発者であったQiang(Charlie) Xue(中国名:薛強)が、PRADOの欠点を改善し、さらに簡単で拡張性が高く高速なPHP5に基づくフレームワークを開発する為に始められた[2]。同年10月に最初のα版[4]が公開され、12月3日にはYii1.0が正式に公表された[3]。
特徴
[編集]- コンポーネントベースである点[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の拡張機能は「エクステンション 」と呼ばれる[21]。Yiiプロジェクトにはユーザーが投稿した拡張リポジトリがあり、それをダウンロードして使うことができる[22]。
「Zii」と呼ばれた公式の拡張ライブラリもあったが、コアフレームワークに統合された。この機能は1.1.0以降のすべてのバージョンにバンドルされており、gridやjQuery UIのような追加されたビヘイビアやウィジェットを含んでいる。
ドキュメンテーション
[編集]Yiiの公式ドキュメンテーション(公式資料集/公式ガイド)には簡単なブログアプリケーションを開発するためのチュートリアル[23]やプロパティ・メソッド・イベントに関する詳細などのすべての機能の説明とクラスの参照のガイドである。
公式ウェブサイトではユーザーが投稿した仕様書のほとんどが利用できる。
ライセンス
[編集]Yiiは、二次的著作物のソースコードを公開しないオープンソースとプロプライエタリソフトウェアの両方のウェブアプリケーションの開発においてYiiの無料利用可能とする修正BSDライセンス(3条項BSDライセンス)の下でリリースされている。[3]
つまり、著作権表示・ライセンス条文・無保証の旨の三点をドキュメント等に記載さえしておけば、BSDライセンスのソースコードを他のプログラムに組み込み、しかも組み込み後のソースコードを非公開にすることも可能である。(WikipediaのBSDライセンスの記事より引用して説明。)
Yiiの公式マニュアルに記載されたテキストは、GFDLの下で公衆へライセンスを提供している。一般的に言って、Yiiのコンテンツは、Yiiによって作成しようとする二次的著作物を他人が自由に利用できることを認める限りにおいて一次的著作権者がYiiを使用して作成した一次的著作物のコピー・変更および再配布することができるとしている。[24]
ロゴは「クリエイティブ・コモンズ表示-改変禁止3.0 非移植」のライセンスでの下でライセンスされている[25]。
関連項目
[編集]脚注
[編集]- ^ “Yii 2.0.16 is released”. Yiiframework.com (2019年1月30日). 2019年2月17日閲覧。
- ^ a b “yii-chapter1 - index”. 17 February 2014閲覧。
- ^ a b c “About Yii”. 17 February 2014閲覧。
- ^ 英語版「Yii」記事の「History」の項目
- ^ “PHPフレームワーク「Yii Framework 1.0」登場”. ITmedia. (2008年12月8日) 2014年2月20日閲覧。
- ^ “Yiiとは - Yii/PHP ぺんたん info”. 20 February 2014閲覧。
- ^ “PHPのフレームワーク「Yii」 - takakino - Webシステム屋のブログ”. 20 February 2014閲覧。
- ^ “いまどきのYiiフレームワーク - SlideShare”. 20 February 2014閲覧。。
- ^ “Top Websites Using Yii Framework - SlideShare”. 21 February 2019閲覧。。
- ^ “PHPフレームワークのベンチマーク比較と2013年のトレンド”. 20 February 2014閲覧。
- ^ “Yiiは日本でなぜ流行らないのか - Yii Framework Forum”. 20 February 2014閲覧。
- ^ “キャッシュ”. 19 February 2014閲覧。
- ^ “エラーハンドリング”. 19 February 2014閲覧。
- ^ “ロギング”. 19 February 2014閲覧。
- ^ “PHP開発者のためのテストのすゝめ(2):PHPUnitでユニットテスト (1/3)”. 19 February 2014閲覧。
- ^ “[ThinkIT 第1回:Webブラウザを使ったテストツールSeleniumとは (1/3)]”. 19 February 2014閲覧。
- ^ “機能テスト”. 19 February 2014閲覧。
- ^ “スケルトン - 用語解説辞典 - NTTPCコミュニケーションズ”. 19 February 2014閲覧。
- ^ “初めに: 初めての Yii アプリケーションの作成”. 19 February 2014閲覧。
- ^ a b c d e f g h i j “Download Yii Framework”. 2018年2月12日閲覧。
- ^ “エクステンション概要”. 20 February 2014閲覧。
- ^ “エクステンションを使う”. 20 February 2014閲覧。
- ^ “Yii を使ってブログシステムを作る”. 20 February 2014閲覧。
- ^ “Terms of the Yii Documentation”. 20 February 2014閲覧。
- ^ “Official Logo”. 20 February 2014閲覧。