Cet article vous apporte une explication détaillée (exemple de code) de la façon de configurer 404 et d'autres pages d'exception dans le framework laravel. Il a une certaine valeur de référence, j'espère. Cela vous aidera.
Toutes les exceptions dans Laravel sont gérées par la classe Handler, qui contient deux méthodes : report et render, où la méthode render restitue l'exception dans la réponse http. Emplacement du fichier de classe Handler de Laravel : app/Exceptions/Handler. Étant donné que l'exception temporelle de la méthode de rendu est rendue dans la réponse http, il suffit de modifier la méthode de rendu
De nombreuses méthodes sur Internet consistent à modifier la méthode de rendu pour :
public function render($request, Exception $exception) { if ($exception) { return response()->view('error.'.$exception->getStatusCode(), [],$exception->getStatusCode()); } return parent::render($request, $exception); }
Il se peut qu'il n'y ait aucun problème avec votre test pour le moment, mais si vous écrivez une méthode de connexion, si vous visitez une page qui nécessite une connexion, une erreur sera signalée à ce moment
En effet, si vous visitez une page sur laquelle vous devez vous connecter, vous entrerez dans la méthode de rendu app/Exceptions/Handler.php $exception->. ;getStatusCode() n'existe pas, et une erreur sera signalée à ce moment-là. Alors, comment la résoudre ?
À ce moment, nous trouvons la méthode parent::render :
À ce moment, nous constatons que le framework laravel a déjà converti notre Cette situation est incluse, alors nous pouvons changer la méthode ci-dessus en :
public function render($request, Exception $exception) { if (!($exception instanceof AuthenticationException)) { return response()->view('error.'.$exception->getStatusCode(), [],$exception->getStatusCode()); } return parent::render($request, $exception); }
Ce problème est parfaitement résolu à ce moment
Créez ensuite une nouvelle page d'erreur sous resources/view/error/ , la page d'erreur est nommée : {errorcode}..balde.php, où errorcode est le code d'erreur, tel que 404..balde.php
Une fois la configuration terminée, vous pouvez sauter lorsque vous accédez à un non- route existante Rendez-vous sur la page 404 que vous avez configurée
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!