クラスの 1 つでいくつかの定数が定義されており、application.ini でそれらを使用したいのですが、これは可能ですか?
logger.main.level = \My\App\Logger::WARNING
これは機能していないようです。文字列として解析するだけです
クラスの 1 つでいくつかの定数が定義されており、application.ini でそれらを使用したいのですが、これは可能ですか?
logger.main.level = \My\App\Logger::WARNING
これは機能していないようです。文字列として解析するだけです
PHPのparse_ini_file()
関数は、グローバル空間の定数にのみアクセスでき、クラス空間にはアクセスできないと思います。
My_Class::MYCONST
またはMy\Class::MYCONST
を.iniファイルで使用できませんでした。
で定数の値を使用する場合はapplication.ini
、ファイルで定数を定義する必要があり/public/index.php
ます ( を参照APPLICATION_PATH
)。
コードでそれをきれいに行いたい場合は、ログレベルを数値で手動で使用することをお勧めします (定数が Zend_Log のように数値であると仮定します)。次のような名前の新しい定数を定義しLOGLEVEL_WARNING
ます(クラスから定数の値を静的に取得できます)。これは、次のapplication.ini
ようなファイルで使用できますlogger.main.level = LOGLEVEL_WARNING
application.ini
私の選択は、次のようなファイル内の数値です。
resources.log.stream.writerName = "Stream"
resources.log.stream.writerParams.stream = APPLICATION_PATH "/../data/logs/application_" DATESTAMP ".log"
resources.log.stream.writerParams.mode = "a"
resources.log.stream.filterName = "Priority"
resources.log.stream.filterParams.priority = 4
index.php で定義した定数であるAPPLICATION_PATH
andを見てください。DATESTAMP