2

Slim Framework のドキュメントから抜粋:

モード

これは、アプリケーションの現在の操作モードの識別子です。このモードは、Slim アプリケーションの内部機能には影響しません。代わりに、このモードは、configMode()アプリケーション メソッドを使用して、特定のモードの独自のコードをオプションで呼び出すためだけのものです。

アプリケーション モードは、環境変数として、または Slim アプリケーション コンストラクターへの引数として、インスタンス化中に宣言されます。後から変更することはできません。モードは何でもかまいません — 「開発」、「テスト」、「生産」が一般的ですが、好きなものを自由に使用できます (例: 「foo」)。

<?php
  $app = new \Slim\Slim(array(
    'mode' => 'development'
  ));
?>

問題は、$app->configMode();を呼び出そうとしたときです。configMode() メソッドが未定義であるという致命的なエラーが発生します...

4

2 に答える 2

12

呼び出すことで環境モードにアクセスできます$app->getMode();

それを行う別の方法は、configureMode()を使用することです。

<?php
// Set the current mode
$app = new \Slim\Slim(array(
    'mode' => 'production'
));

// Only invoked if mode is "production"
$app->configureMode('production', function () use ($app) {
    $app->config(array(
        'log.enable' => true,
        'debug' => false
    ));
});

// Only invoked if mode is "development"
$app->configureMode('development', function () use ($app) {
    $app->config(array(
        'log.enable' => false,
        'debug' => true
    ));
});
于 2013-04-11T12:21:57.113 に答える
2

設定したら、次のことができます:$app->mode;またはそれ$_ENV["SLIM_MODE"];を取得します。

于 2015-02-13T18:52:29.340 に答える