2

从 Slim 框架文档中挑选:

模式

这是应用程序当前操作模式的标识符。该模式不会影响 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 回答