Мне было интересно, есть ли способ в 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?