У меня есть Макрос ответа в проекте Laravel, используемый для возврата / обработки ошибок.
/**
* @param string|null $errorMessage
* @param HttpResponseCodesEnum $responseCode
*/
public function error($errorMessage = null, $responseCode = null) {
Response::macro(
'error',
function($message, $status = HttpResponseCodesEnum::SERVER_ERROR_INTERNAL_SERVER_ERROR) {
Log::error($message);
return Response::make(
[
'error' => $message
],
$status
);
}
);
}
}
Я вызываю этот макрос из своих контроллеров для возврата ошибок.
if ($success) {
return response()->json($results);
} else {
return response()->error(
'Unable to find or create \''.$table.'\'.'
);
}
Однако, несмотря на эту работоспособность, моя среда IDE отображает предупреждения для функции ошибок.
Method 'error' not found in \Illuminate\Contracts\Routing\ResponseFactory|Illuminate\Http\Response
Возможно ли получить IDE правильно распознает функцию макроса?