1

クラスの 1 つでいくつかの定数が定義されており、application.ini でそれらを使用したいのですが、これは可能ですか?

logger.main.level = \My\App\Logger::WARNING

これは機能していないようです。文字列として解析するだけです

4

3 に答える 3

2

PHPのparse_ini_file()関数は、グローバル空間の定数にのみアクセスでき、クラス空間にはアクセスできないと思います。

My_Class::MYCONSTまたはMy\Class::MYCONSTを.iniファイルで使用できませんでした。

于 2012-10-26T16:36:08.360 に答える
2

で定数の値を使用する場合は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_PATHandを見てください。DATESTAMP

于 2012-10-26T18:20:20.070 に答える