ホームページ >バックエンド開発 >PHPチュートリアル >Yii フレームワークで Yiiapp() を理解する_PHP チュートリアル
Yii フレームワークは純粋にオブジェクト指向のフレームワークです。このフレームワークが実行されているとき、つまりアプリケーションがアクセスされているとき、多くのオブジェクトを作成する必要があり、これらのオブジェクトは多くのオブジェクトを呼び出します。関連メソッドを使用して、Web リクエストを完了します。
この Yii::app() が最初に作成されたオブジェクトです。このオブジェクトは関連するメソッドを呼び出し、その後の作業が完了します。
Yii::app() は主にいくつかのグローバル機能モジュールを担当します。たとえば、Yii::app()->getUser() は CWebUser インスタンスを返します (現在のユーザーの検証情報を表現するために使用されます)。 CWebApplication は CComponent を継承するため、Yii::app()->getUser() は Yii::app()->user として記述することもできます (Yii の基礎である CComponent の説明を参照)。
Yii::app() はクラス CWebApplication のインスタンスであるため、このクラス (継承されたクラスを含む) で使用できるすべての属性とメソッドは、このオブジェクトで使用できます (一部のメソッドはシステム操作のコア メソッドであり、そうではありません)直接呼び出すことをお勧めします)。たとえば、CWebApplication にはレイアウト パスを取得するメソッド getLayoutPath() があり、これを行うことができます:
echo Yii::app()->getLayoutPath(); // 出力 D:wwwphpernote.comprotectedviewslayouts
さらに、CWebApplication とその親クラス CApplication は、db、user、session、authManager、request など、システムに使用できる多くのコンポーネントを定義します。1 つずつリストされていないものは他にもたくさんあります。
上記のコンポーネントは Yii::app() を通じて使用できます。例:
echo Yii::app()->request->url; //現在のリクエストの相対 URL アドレスを取得できます (/index.php?r=user/login)
説明:
Yii::app()->request; はリクエストクラスオブジェクトを作成します
Yii::app()->request->url; は、クラス リクエスト内の属性情報を呼び出すか、親クラスのマジック メソッド __get を呼び出して間接的に geturl() メソッドを呼び出します。
Yii::app()->user; はユーザー認証コンポーネント (CWebUser) を呼び出し、CWebUser のいくつかのプロパティとメソッドを使用できます。