Yii フレームワークのアプリケーション本体を理解するにはどうすればよいですか?

(*-*)浩
リリース: 2019-11-29 13:43:56
オリジナル
2221 人が閲覧しました

アプリケーションサブジェクトは、Yii フレームワークアプリケーションシステムの全体的な構造とライフサイクルを管理するオブジェクトです。 各 Yii アプリケーション システムには 1 つのアプリケーション プリンシパルのみを含めることができます。アプリケーション プリンシパルはエントリ スクリプトで作成され、式 \Yii::$app を通じてグローバルにアクセスできます。

Yii フレームワークのアプリケーション本体を理解するにはどうすればよいですか?

信息: 当我们说“一个应用”,它可能是一个应用主体对象,也可能是一个应用系统, 是根据上下文来决定[译:中文为避免歧义,Application 翻译为应用主体]。
ログイン後にコピー

Yii には、Web アプリケーション プリンシパルとコンソール アプリケーション プリンシパルという 2 つのアプリケーション プリンシパルがあります。名前が示すように、前者は主には Web ページのリクエストを処理し、後者はコンソールのリクエストを処理します。

(推奨学習: YII フレーム )

## 以下に示すように、入口スクリプトがアプリケーション サブジェクトを作成すると、設定が読み込まれます。ファイルを作成し、それをアプリケーション本体に渡します。

require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';

// 加载应用主体配置
$config = require __DIR__ . '/../config/web.php';

// 实例化应用主体、配置应用主体
(new yii\web\Application($config))->run();
ログイン後にコピー
他の構成ファイルと同様に、アプリケーションのメイン構成ファイルは、アプリケーション オブジェクトの初期プロパティを設定する方法を示します。アプリケーションのメイン設定は比較的複雑であるため、通常は上記の web.php と同様に複数の設定ファイルに保存されます。

アプリケーション サブジェクトのプロパティ

アプリケーション サブジェクト構成ファイルには、アプリケーション サブジェクトの実行環境を指定する重要なプロパティが多数あります。たとえば、アプリケーション本体は、コントローラーのロード方法、一時ファイルの保存場所などを知る必要があります。以下にこれらのプロパティについて簡単に説明します。

必須属性

アプリケーションでは、少なくとも 2 つの属性 (id とbasePath) を構成する必要があります。

id

id ​​属性は、他のアプリケーションの一意の ID を区別するために使用されます。主にプログラムで使用されます。コラボレーションを容易にするために、アプリケーション プリンシパル ID として数値を使用することが最善ですが、数値である必要はありません。

basePath

basePath は、アプリケーションのルート ディレクトリを指定します。ルート ディレクトリには、アプリケーション システムの保護されたソース コードがすべて含まれています。ルート ディレクトリには、MVC デザイン パターンに対応するモデル、ビュー、コントローラーなどのサブディレクトリが表示されます。

パスまたはパス エイリアスを使用して、basePath 属性を構成できます。両方の形式に対応するディレクトリが存在する必要があります。存在しない場合、システムは例外をスローします。システムは、realpath() 関数を使用して、設定されたパスを正規化します。

basePath 属性は、他の重要なパス (ランタイム パスなど) を取得するためによく使用されるため、システムはこのパスを表す @app を事前定義します。このエイリアスを使用して派生パスを構成できます (たとえば、@app/runtime はランタイムのパスを表します)。

以上がYii フレームワークのアプリケーション本体を理解するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
yii
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート