如何在slim框架上获得环境模式

时间:2013-04-11 12:00:56

标签: php slim

从Slim Framework文档中挑选:

  

模式

     

这是应用程序当前操作模式的标识符。该模式不会影响Slim应用程序的内部功能。相反,该模式仅供您使用 configMode()应用程序方法为给定模式调用自己的代码。

     

应用程序模式在实例化期间声明,可以是环境变量,也可以是Slim应用程序构造函数的参数。之后无法改变。模式可能是你想要的任何东西 - “开发”,“测试”和“生产”是典型的,但你可以随意使用任何你想要的东西(例如“foo”)。

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

问题是,当我尝试调用 $ app-&gt; configMode(); 时,我发出一个致命错误,他说configMode()方法未定义...

2 个答案:

答案 0 :(得分: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
    ));
});

答案 1 :(得分:2)

配置后,您可以执行:$app->mode;$_ENV["SLIM_MODE"];来检索它。