Yii は、WEB2.0 アプリケーションの開発に適した高性能 PHP フレームワークです。
Yii には、MVC、DAO/ActiveRecord、I18N/L10N、キャッシュ、認証とロールベースのアクセス制御、スキャフォールディング、テストなどを含む豊富な機能セットが付属しており、開発時間を大幅に短縮できます。
公式ウェブサイト: http://www.yiiframework.com/
いいですね
Yii は必要な機能のみをロードします。強力なキャッシュサポートを備えています。 AJAX と効率的に連携するように明示的に設計されています。
Yii セキュリティ
Yii の標準は安全です。これには、入力検証、出力フィルタリング、SQL インジェクション、クロスサイト スクリプティング防止が含まれます。
プロフェッショナル
Yii は、クリーンで再利用可能なコードの開発に役立ちます。これは MVC パターンに従い、ロジック層とプレゼンテーション層を明確に分離します。
Yii Framework は、大規模な Web アプリケーションを開発するためのコンポーネントベースの高性能 PHP フレームワークです。 Yii は、今日の Web 2.0 アプリケーション開発に必要なほとんどすべてを提供します。 Yii は、最も効率的な PHP フレームワークの 1 つです。 Yii は創設者 Xue Qiang の発案で、2008 年 1 月 1 日に開発が開始されました。
Yii は、大規模な Web アプリケーションを開発するためのコンポーネントベースの高性能 PHP フレームワークです。 Yii は厳密な OOP で書かれており、完全なライブラリ リファレンスと包括的なチュートリアルが含まれています。 MVC、DAO/ActiveRecord、ウィジェット、キャッシュ、階層型 RBAC、Web サービスからテーマ、I18N および L10N まで、Yii は今日の Web 2.0 アプリケーション開発に必要なほぼすべてを提供します。実際、Yii は最も効率的な PHP フレームワークの 1 つです。
Yii は、高性能 PHP5 Web アプリケーション開発フレームワークです。シンプルなコマンド ライン ツール yiic を使用すると、Web アプリケーション コード フレームワークを迅速に作成でき、開発者は、生成されたコード フレームワークに基づいてビジネス ロジックを追加して、アプリケーション開発を迅速に完了できます。
Yii の利点
Yii は習得も使用も簡単です。 PHP とオブジェクト指向プログラミングの知識だけがあれば、新しいアーキテクチャやテンプレート言語を事前に学習する必要がなく、すぐに始めることができます。
Yii を使用した開発は非常に高速で、フレームワーク自体以外のアプリケーション用に記述するコーディングはほとんど必要ありません。実際、これは最も効率的な開発フレームワークの 1 つです。
Yii は再利用性と拡張性が高く、純粋にオブジェクト指向です。 Yii のすべては、独立して設定可能、再利用可能、拡張可能なコンポーネントです。さらに重要なことは、Yii にはますます多くの拡張ライブラリがあるということです。これは主にユーザー提供のコンポーネントで構成されており、開発時間を大幅に短縮するのに役立ちます。
Yii は機能が豊富で、MVC、DAO/ActiveRecord からテーマ設定、国際化、ローカリゼーションに至るまで、Yii は今日の Web 2.0 アプリケーション開発に必要なほぼすべての機能を提供します。
Yii リファレンスマニュアルは、Yii の完全な文書であり、Yii を学びマスターするために必要な情報がすべて含まれています。
Yii は、複雑な WEB アプリケーション開発に対応できるように、最初から慎重に設計されました。これは、何らかのプロジェクトやサードパーティの統合の副産物ではありません。むしろ、これは、著者の豊富な Web アプリケーション開発経験と、他の人気のある Web フレームワークやアプリケーションからの優れたアイデアの集大成です。
最後になりますが、Yii は無料であり、Yii は最新の BSD ライセンスに従います。これにより、サードパーティの開発も BSD 互換ライセンスに従うことが保証されます。これは、法律的にも経済的にも、Yii を使用してオープンソースまたは独自のアプリケーションを自由に開発できることを意味します。
機能
Yii には、今日の Web 2.0 アプリケーション開発のほぼすべての機能が備わっています。以下にこれらの機能の短いリストを示します。
Model-View-Controller (MVC) デザインパターン: Yii は、ロジック層とプレゼンテーション層をより適切に分離するために、この成熟したテクノロジーを WEB プログラミングに採用しています。
データベース アクセス オブジェクト (DAO) とアクティブ レコード: Yii を使用すると、開発者はデータベース内のデータ オブジェクトをモデル化できるため、長く反復的な SQL ステートメントを作成する労力が軽減されます。
jQuery との統合: 最も人気のある JavaScript フレームワークの 1 つである jQuery を使用すると、効率的で柔軟な JavaScript インターフェイスを作成できます。
フォーム入力と検証: YII では、フォーム入力を非常に簡単かつ安全に収集できます。 Yii にはデータの有効性を保証するためのバリデーターのセットがあり、検証が失敗した場合にエラーを表示するヘルパーメソッドとコンポーネントも備えています。
Web 2.0 ウィジェット: jQuery を利用した YII には、オートコンプリート入力フィールド、TreeView などの Web 2.0 ウィジェットのセットが付属しています。
認証と認可: Yii には認証サポートが組み込まれています。また、階層化された役割ベースのアクセス制御 (RBAC) による承認もサポートします。
テーマ: Yii アプリケーションのビューを瞬時に変更できます。
Web サービス: Yii は、複雑な WSDL サービス仕様の自動生成と Web サービスリクエスト処理の管理をサポートしています。
国際化 (I18N) とローカリゼーション (L10N): Yii はメッセージ変換、日付と時刻の形式、数値形式、インターフェースのローカリゼーションをサポートしています。
階層キャッシュスキーム: Yii はデータキャッシュ、ページキャッシュ、フラグメントキャッシュ、および動的コンテンツをサポートしています。アプリケーション コードに触れることなく簡単に変更できるキャッシュされたストレージ メディア。
エラー処理とログ: エラー処理が適切に提供され、ログ情報を分類、フィルタリングし、さまざまな場所に割り当てることができます。
セキュリティ: Yii には、Web アプリケーションを保護してサイバー攻撃を防ぐための多くのセキュリティ対策が備わっています。これらの対策には、クロスサイト スクリプティング (XSS) 防止、クロスサイト リクエスト フォージェリ (CSRF) 防止、Cookie 改ざん防止などが含まれます。
XHTML 準拠: Yii コンポーネントとコマンドラインツールは、XHTML 準拠のコードを生成します。
自動コード生成: Yii は、プログラムのスケルトンや CRUD アプリケーションの生成など、ニーズに応じてコードを自動的に生成できるツールを提供します。
完全なオブジェクト指向: Yii フレームワークは、厳密なオブジェクト指向プログラミング パラダイムに準拠しています。グローバル関数や変数は定義されません。さらに、定義されるクラス階層により、最大限の再利用性とカスタマイズが可能になります。
サードパーティのコードを使いやすい: Yii はサードパーティのコードとうまく連携できるように注意深く設計されています。たとえば、Yii アプリケーションで PEAR または Zend Framework コードを使用できます。
詳細なドキュメント: すべてのメソッドまたはプロパティが非常に明確にドキュメント化されています。包括的なチュートリアルといくつかの初心者向けチュートリアルも提供されています。
拡張ライブラリ: Yii は、ユーザーが提供するコンポーネントで構成される拡張ライブラリを提供します。これにより、上記の関数のリストは終わりがありません。
Yii について
Yii は、大規模な Web アプリケーションを開発するためのコンポーネントベースの高性能 PHP フレームワークです。 WEB 開発では、Yii はコードの再利用を最大限に高め、開発速度を大幅に向上させることができます。 Yii (イーまたは [ji:] と発音します。「イー」と発音する必要があります) という名前は、簡単、効率的、拡張性を表しています
環境ニーズ
Yii を利用した Web アプリケーションを実行するには、PHP 5.1.0 以降をサポートする Web サーバーが必要です。
Yii の使用を計画している開発者にとって、オブジェクト指向プログラミング (OOP) について知っておくと非常に役立ちます。 Yii は純粋な OOP フレームワークであるためです。
適用範囲
Yii は、ほぼすべての Web アプリケーションの開発に使用できる一般的な Web プログラミング フレームワークです。軽量で成熟したキャッシュ ソリューションを備えているため、ポータル、フォーラム、コンテンツ管理システム (CMS)、電子商取引システムなどの高トラフィック アプリケーションの開発に特に適しています。
類似商品と比較して
ください。
ほとんどの PHP フレームワークと同様、Yii は MVC フレームワークです。
Yii は、優れたパフォーマンス、豊富な機能、明確なドキュメントで他のフレームワークを上回っています。 Yii は、本格的な Web アプリケーション開発に適するように、徹底的に慎重に設計されました。これは、他のプロジェクトから派生したものでも、サードパーティの作品を組み合わせたものでもありません。これは、著者の広範な Web アプリケーション開発経験と、最も一般的な Web プログラミング フレームワークとアプリケーションに関する研究と思考の結果です。
パフォーマンス
yii パフォーマンス
Yii は高性能フレームワークであり、次のグラフは、他の一般的な PHP フレームワークと比較した Yii の効率の高さを示しています。このグラフでは、RPS は「Requests Per Second」の略で、このフレームワークが 1 秒あたりに実行するリクエストの数を表します。この数値が大きいほど、このフレームワークのパフォーマンスが高くなります。この比較では、Yii が他のフレームワークよりも優れていることがわかります。 Yii のパフォーマンス上の利点は、広く使用されている APC 拡張機能が有効になっている場合に特に顕著です。
パフォーマンスだけがすべてではありません (そうでない場合は、プレーンな HTML または PHP を使用する必要があります) このような優れたパフォーマンスを備えた Yii は、開発効率を大幅に向上させる非常に豊富な機能セットを提供します。
Yiiはなぜ速い
のか?
Yii が非常に高速なのは、遅延読み込みテクノロジーを広範囲に使用しているためです。たとえば、クラスは初めて使用されるまで組み込まれず、オブジェクトは初めてアクセスされるまで作成されません。他のフレームワークは、リクエスト中に使用されるかどうかに関係なく、機能 (DB 接続、ユーザー セッションなど) を有効にするため、パフォーマンスの低下に悩まされます。
標準設定
です。
以下では、ベンチマーク アプリケーションを設計し、上記の RPS 結果を取得する方法について説明します。
ベンチマークリクエスト
私たちの目標は、各フレームワークの最小限のオーバーヘッドを比較することであるため、各フレームワークのベンチマーク アプリケーションは最も単純なものである必要があります。各アプリケーションのデフォルト アクションに echo ステートメントを配置して、「Hello World」テキスト文字列を表示することを選択します。比較の公平性を確保するために、追加のフレームワーク機能 (セッションなど) は無効になっています。ベンチマーク アプリケーションのコピーを入手するには、phpmark プロジェクトをチェックしてください。
「Hello World」を使用する理由
は。
私たちは主に、各フレームワークの最小コストを見つけるなどの目標を達成するために「hello world」テストを実行します。実際のアプリケーションにはデータベース クエリなどのより複雑なタスクが含まれることが多いため、「hello world」アプリケーションは無意味であると多くの人が不満を抱いています。これは正しくない。実際、特に一部の大規模な Web2.0 アプリケーションでは、私たちがよく遭遇する状況は通常、「Hello World」に非常に近いものです。たとえば、アプリケーションは ajax リクエストに応じて現在のサーバー時間を返す必要があります。ページのコンテンツの大部分はキャッシュされており、アプリケーションはキャッシュされたコンテンツを取得して表示するだけで済みます。
「hello world」を使用するもう 1 つの理由は、より複雑な機能 (データベース クエリなど) を参照する場合、比較を明確にすることが困難になるためです。たとえば、このフレームワークはデータベース クエリを非常に効率的に実行できますが、キャッシュ ソリューションがありません。別のフレームワークはデータベース クエリでは若干遅いですが、システムのオーバーヘッドを軽減する高度なキャッシュ機能を備えています。全体として、明確な比較を行うには、関係する要素が多すぎます。
標準ツールと環境
ApacheBench ツールのコマンド「ab -t 30 -c 10 URL」を使用して RPS 番号を取得します (例: 同時実行レベル 10 でテストを 30 秒間実行します)。各フレームの番号を取得するには、まず、干渉を避けるために Apache WEB サーバーを停止および起動します。また、テスト プログラムを数回実行して、テスト環境を「ウォームアップ」します。 phpmark プロジェクトには、ベンチマーク プロセスを自動化する Benchmark.sh というシェル スクリプトがあります。
クレジット
Yii は、そのアイデアの多くを他のよく知られた Web プログラミング フレームワークやアプリケーションから引き出しています。以下に短いリストを示します。
Prado: これが Yii の主なアイデアの源です。 Yii は、コンポーネントベースおよびイベント駆動型のプログラミング モデル、データベース抽象化レイヤー、モジュラー アプリケーション アーキテクチャ、国際化とローカリゼーション、およびその他の多くの機能を採用しています。
Ruby on Rails: Yii はその構成の考え方を継承しています。また、Active Record ORM 設計パターンも参照します。
jQuery: これは、Yii に統合された JavaScript フレームワークです。
Symfony: Yii はそのフィルタリング設計とプラグイン アーキテクチャを参照しています。
Joomla: Yii はモジュール設計と情報翻訳スキームで引用されました。