Vous devez déplacer le code à sa propre classe:
class ErrorResponse {
protected $errorType = null;
protected $message = null;
protected $statusCode = null;
public __construct($errorType = '', $message = null, $statusCode = 500) {
$this->errorType = $errorType;
$this->message = $message;
$this->statusCode = statusCode ;
}
public getResponse() {
return response([
'success' => false,
'error_type' => $this->errorType,
'errors' => [],
'message' => $this->message,
], $this->statusCode);
}
}
Pourquoi devriez-vous ajouter les frais généraux que vous demanderez? Vous pouvez trouver dans le futur que vous souhaitez ajouter des détails à la réponse, par ex. un suivi de débogage d'une exception, etc. ou vous pouvez renvoyer la réponse d'une fonction: Situation typique: Votre contrôleur appelle une fonction API, la fonction API donne une erreur de bas niveau, mais le contrôleur doit y ajouter des détails . L'utilisation de la classe d'erreur de structure pour cela rendra votre API entière dépendante du framework, que vous devriez éviter autant que possible.
Vous pouvez utiliser le code maintenant de partout:
$error = new ErrorResponse('bad error', 'something went wrong!');
return $error->getResponse();