Yiiフレームワークについて
Yii(イー)は、PHPで記述されたオープンソースの
Webアプリケーションフレームワークです。
オブジェクト指向、コンポーネントベース、そしてMVC(Model-View-Controller)アーキテクチャを採用しており、効率的で拡張性の高いWebアプリケーションの開発を可能にします。名前の由来は、「簡単(Easy)」「効率的(Efficient)」「拡張性(Extensible)」の頭文字、そして「Yes It Is!」という言葉からきています。
歴史
Yiiプロジェクトは、2008年にPRADOフレームワークの開発者であったQiang Xue氏によって開始されました。PRADOの課題を克服し、よりシンプルで高速、そして拡張性の高いフレームワークを目指した結果、Yiiが誕生しました。最初のα版は2008年10月に公開され、同年12月3日にYii 1.0が正式にリリースされました。
特徴
- - コンポーネントベース: 再利用可能なコンポーネントを組み合わせることで、効率的な開発が可能です。
- - MVCアーキテクチャ: 画面表示とロジックを分離し、保守性と拡張性を高めます。
- - オブジェクト指向: 徹底したオブジェクト指向設計により、コードの再利用性と可読性を向上させます。
- - 軽量かつ高速: MemcacheやAPCなどのキャッシュ機構に対応し、高負荷なアプリケーションにも対応できます。
- - PHP5以上対応: PHP5だけでなく、PHP7でも動作し、マイナーアップデートで互換性を維持しています。
- - 地域的な人気: ロシア、ウクライナ、中国など旧共産圏での利用が多く、特にロシアでは最もメジャーなPHPフレームワークの一つです。
- - 日本での利用: 他の国に比べると、日本での利用実績は少ないです。
- - Yii3の開発: 後継バージョンであるYii3が現在開発中です。
主な機能
- - MVCデザイン: モデル、ビュー、コントローラーによる明確な役割分担。
- - Webサービス: 複雑なWSDLの生成とWebサービスリクエスト処理の管理。
- - 国際化/ローカライズ: メッセージ翻訳、日付/時刻書式設定、インターフェイスの国際化に対応。
- - キャッシング: データ、ページ、フラグメントキャッシュ、動的コンテンツなど、様々なレベルでのキャッシュをサポート。ストレージも変更可能。
- - 例外処理とロギング: エラー発生時の例外処理、エラーメッセージ表示、ログ記録、異なる送り先へのエラー通知。
- - セキュリティ対策: クロスサイトスクリプティングなどの脆弱性対策、クッキー改ざん防止。
- - テスト: PHPUnitとSeleniumを使用した単体テストと機能テストのサポート。
- - 自動コード生成: スケルトンアプリケーション、CRUDアプリケーションなどの自動コード生成。
- - XHTML準拠: 生成されたコードはXHTML規格に準拠。
- - サードパーティコードの統合: PEARやZend Frameworkなどの外部ライブラリの利用も可能。
バージョン履歴
(省略)
拡張機能
Yiiの拡張機能は「エクステンション」と呼ばれ、ユーザーが投稿した
リポジトリから自由にダウンロードして利用できます。以前は「Zii」という公式拡張ライブラリがありましたが、コアフレームワークに統合されました。現在では、gridやjQuery UIなどの機能が標準で利用可能です。
ドキュメンテーション
Yiiの公式ドキュメントは、チュートリアル、プロパティ、メソッド、イベントなどの詳細な説明が豊富で、開発に必要な情報を網羅しています。公式ウェブサイトでは、ユーザーが投稿した仕様書も利用できます。
Yiiは修正
BSDライセンス(3条項
BSDライセンス)の下でリリースされており、商用利用を含む無料での利用が可能です。
ライセンスの条件として、
著作権表示、
ライセンス条文、無保証の旨をドキュメントに記載する必要があります。また、公式マニュアルのテキストはGFDLの下で
ライセンスされており、ロゴは
クリエイティブ・コモンズ表示-改変禁止3.0非移植の
ライセンスで提供されています。
関連項目
外部リンク