私はいくつかの構成ファイルを持っていますが、どこでも使用する必要はありません。自動ロードしたくありません。構成ファイルをコントローラーにロードする方法を教えてください。それは serviceLocator で取得できます。使用するように言わないでください。 zend\config\config、ありがとう。</p>
1 に答える
まず、質問をしてから、誰かに XY について教えてほしくない、と直接言うのはお勧めできません。XY しか方法がない場合はどうなりますか?
あなたはいつでも次のようなことをすることができます
$onlyNowConfig = require_once('./config/onlyNowConfig.php');
PHP の現在の作業ディレクトリは、関数public/index.php
を介して設定されているため、アプリケーションのルートです。chdir()
それ以外は、設定を .ini 内に含めても特に害はありませんmodule.config.php
。は、クラス内の関数のModuleManager
存在をチェックします。存在する場合は、構成が読み込まれます。通常、すべてのモジュールには、ロードされる構成があります。また、100 ~ 200 行の構成行を別のファイルにアウトソーシングすることによる実際の速度 (不利益) の利点はありません。必要ないくつかのアクションにのみ含めることで行う追加の I/O は、実際には、構成をマージするのにかかるわずかな時間よりも長くなります (おそらく、合計 1 ミリ秒対 2 ~ 3 ミリ秒の I/O のようになります)。 .getConfig()
Module
に含めることをお勧めします。module.config.php
そうすれば、 を介してどこでも利用できるようになりますServiceLocator
。それ以外の場合は、どこにいても必要な構成ファイルを 1 つ含める/要求するだけです。PHP の作業ディレクトリは変更されないため、include/require パラメータは決して変更されません (chdir() を介して新たに設定しない限り - これは強くお勧めしません)。