Slim - 在中间件中更改设置

Slim - change settings in middleware

我可以更改中间件中的设置吗? 我想要完成的是根据路线更改错误处理引擎。 对于某些路线,我希望在 HTML 中显示错误,对于某些路线 (ajax),我希望将错误显示为 JSON。 我认为中间件是正确的地方,但如何更改设置?

您可以通过覆盖容器中的错误处理程序密钥来更改错误处理程序:

$app->add(function($req, $res, $next){
    //$this is an instance of Slim\Container
    $this['errorHandler'] = new SomeErrorHandler();

    return $next($req, $res);
});