使用json的值作为slim的错误代码

时间:2017-04-28 12:23:35

标签: php json slim slim-3

现在我有这个:

$error = new Error($id, $from, $to);
return $response
    ->withStatus(422)
    ->withHeader('Content-Type', 'text/html')
    ->write($error->error());

Error类返回:

{"error":true,"code":422,"text":"Blah!"}

如何在->withStatus(422)中设置错误代码,以便它由json字符串而不是我手动设置?

编辑:我想这可行:

$code = json_decode($error->error(), true);
$code = $code['code'];
/* ...blah blah code... */
->withStatus($code)

但我想知道是否有办法用更少的代码来实现。

1 个答案:

答案 0 :(得分:1)

更新Error类,使其具有仅返回code()的{​​{1}}公共方法。你现在可以这样做:

422

顺便提一下,当您使用JSON时,如果让$error = new Error($id, $from, $to); return $response ->withStatus($error->code()) ->withHeader('Content-Type', 'application/json') ->write($error->error()); 返回一个数组,则可以执行以下操作:

error()