【发布时间】:2018-05-03 14:38:06
【问题描述】:
我想知道 Laravel / PHP 中是否有办法减少 try-catch 逻辑。例如,我的控制器中有两种方法:
存储方法
public function store(Request $request){
try {
$order = Order::create($request);
} catch(\Exception $e) {
return response()->json([
"message" => 'An error has occured',
"error" => $e->getMessage(),
], 500);
}
}
更新方法
public function update(Request $request){
try {
$order = Order::update($request);
} catch(\Exception $e) {
return response()->json([
"message" => 'An error has occured',
"error" => $e->getMessage(),
], 500);
}
}
正如我们所见,try-catch 在两种情况下都是相同的,返回相同格式的错误。
有没有办法提取此逻辑并将所有控制器方法包装在同一个 try-catch 块中?
【问题讨论】:
-
你可以通过一个函数来路由它,该函数有一个标志变量传递给它,它选择要运行的内容。
-
制作异常响应方法?
标签: php laravel exception exception-handling try-catch