【问题标题】:Slim 3 activate custom error handlerSlim 3 激活自定义错误处理程序
【发布时间】:2016-09-17 22:34:22
【问题描述】:

在 Slim 3 中,这是一个在应用程序中注入自定义错误处理程序的示例:

$container = new \Slim\Container();
$container['customError'] = function($c){
    return function ($request, $response) use ($c) {
        $output = ['success'=>0, 'error'=>"Custom Error Output."];
        return $c['response']
            ->withStatus(400)
            ->withHeader('Content-Type', 'application/json')
            ->write(json_encode($output));
    };
};
$app = new \Slim\App($container);

我的问题是,如何触发这个自定义错误?

【问题讨论】:

    标签: php error-handling slim-3


    【解决方案1】:

    我看到自定义错误在容器中。就叫吧。但我认为return function ($request, $response) use ($c) { 中的use($c) 不需要。

    示例代码如下:

    <?php
    
    $container = new \Slim\Container();
    
    $container['customError'] = function($c){
        return function ($request, $response) {
            $output = ['success'=>0, 'error'=>"Custom Error Output."];
            return $response
                ->withStatus(400)
                ->withHeader('Content-Type', 'application/json')
                ->write(json_encode($output));
        };
    };
    
    // init
    $app = new \Slim\App($container);
    
    // route
    $app->get('/error-page', function ($request, $response, $args) {
        $customError = $this->get('customError');
        return $customError($request, $response);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-13
      • 2017-12-18
      • 1970-01-01
      • 2018-04-29
      • 2011-06-01
      • 1970-01-01
      • 2013-01-04
      • 2011-04-21
      相关资源
      最近更新 更多