ホームページ > php教程 > php手册 > zendframeworkの初期化構成

zendframeworkの初期化構成

WBOY
リリース: 2016-08-18 08:57:55
オリジナル
1135 人が閲覧しました

https://framework.zend.com/manual/2.4/en/tutorials/config.advanced.html#environment- specific-system-configuration

構成には、グローバルとローカル、つまりシステム構成とアプリケーション構成の 2 つのレベルがあります。

システム構成: システム構成は、アプリケーション インスタンスに渡すために使用されます。 Application インスタンスは、これらのコンテンツを使用して ModuleManager と ServiceManager を見つけます。

アプリケーション構成: ModuleManager は、モジュールのロード時に ConfigListener を使用して各モジュールの構成をマージします。これらの構成はアプリケーション構成と呼ばれます。各モジュールの設定は、最終的に config/autoload/ の下にある設定ファイルにマージされます。

アプリケーション設定は、ServiceManager に渡される前に EVENT_MERGE_CONFIG イベントに渡され、将来的に追加の変更が可能になります


システム構成:

モジュールをロードする前に、アプリケーション インスタンスにどのようなモジュールがあり、どこにあるかを伝える必要があります。

システム構成に含まれるフィールド:

リーリー

注釈付きの部分はオプションです。システム構成はアプリケーションの起動前に読み込まれるため、通常は非常に小さいです。モジュール構成ファイルで service_manager を上書きできることを除き、残りは上書きできません。

アプリケーションシナリオに従って構成ファイルを選択します:

ある構成を開発モードで使用し、別の構成を実稼働環境で使用したい場合があります。 apache.conf または .htaccess に次の命令を追加できます:

リーリー

PHP で getenv() または $_SERVER[] を使用してサーバー環境変数を取得し、環境変数に従って構成を設定します。

リーリー

モジュール構成:

各モジュールは独自の構成ファイルを提供できます。

getConfig() を使用してモジュール独自の設定を返します。このメソッドは、moduleManager がモジュールをロードするときに自動的に呼び出されます。

リーリー

getConfig は、ServiceManager によって提供されるすべての利用可能な Manager クラス (ControllerManager... など) の構成を提供します。

特定のマネージャー クラスをターゲットにしたい場合は、getControllerConfig() などの対応するモジュール メソッドを使用できます。 https://framework.zend.com/manual/2.4/en/tutorials/config.advanced.html#configuration-mapping-table

設定情報の優先順位:

さまざまな構成のマージ順序:

1.モジュールクラスの各種サービス設定メソッド

2. getConfig() によって返される設定には、他のサービス設定メソッドも含まれます。注: このメソッドによって返される構成はキャッシュされません (そのため、別のサービス構成メソッドを使用することをお勧めします)。

オペレーションマージの設定情報:

ZendModuleManagerListenerConfigListener は、すべての設定をマージする前に ZendModuleManagerModuleEvent::EVENT_MERGE_CONFIG イベントをトリガーしますが、ServiceManager には渡しません。このイベントをリッスンすることで、マージされた構成を操作できます。

リーリー

構成情報をマージするためのワークフロー:

システム構成:

config/application.config.phpで定義されます;

統合されません。

プログラムによる制御設定が可能です。

設定情報はアプリケーションインスタンスに渡されます。 ModuleManager はシステムを順番に初期化します。

アプリケーション構成:

ModuleManager は、システム構成で定義された各モジュール クラスを次の順序でマージします。

Moduleクラスのメソッドで定義されたサービス構成

Module::getConfig()によって返される設定

サービス設定のconfig_glob_pathsで定義されたファイル設定

ConfigListener によってトリガーされる EVENT_MERGE_CONFIG イベント: ConfigListener を構成する必要があるのはなぜですか? 他のリスナーが構成 (変更) を制御するのはなぜですか?

最終的にマージされた設定はServiceManagerに渡されます。

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