Lors de l'utilisation de doctrine2 et de la définition d'un nom d'entreprise unique, un message d'erreur apparaît lors de la nouvelle soumission. Comment redéfinir cette page d'erreur.
Doctrine 2 est une bibliothèque tierce indépendante qui encapsule PDO Lorsque PDO rencontre un conflit d'unicité, il lève une exception PDO.
Sous la configuration par défaut, la page d'erreur de l'environnement de développement intercepte cette PDOException et génère un message.
Il existe deux manières de redéfinir la page d'erreur de Symfony 2 :
(1) Créez un app/Resources/TwigBundle/views/Exception/error.html.twig et modifiez-le selon vos besoins.
Il y a du texte de statut, du code de statut et d'autres données disponibles dans le modèle.
(2) Ou utilisez simplement Event pour écouter l'événement kernel.exception :
use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
use Symfony\Component\HttpFoundation\Response;
public function onKernelException(GetResponseForExceptionEvent $event)
{
$exception = $event->getException();
// 你已经获得了Exception:可以针对性地写逻辑
$response = new Response();
$event->setResponse($response); // 如果你在event里设置了response,这个response就会返回给用户
// ...
}
Le modèle de The Book de Symfony a été écrit très clairement. Il faudra d'abord vérifier s'il existe un tel modèle sous app/Resources. Sinon, il ira dans le Bundle.
Le plus important est de vider le cache pour que ça marche
Doctrine 2 est une bibliothèque tierce indépendante qui encapsule PDO Lorsque PDO rencontre un conflit d'unicité, il lève une exception PDO.
Sous la configuration par défaut, la page d'erreur de l'environnement de développement intercepte cette PDOException et génère un message.
Il existe deux manières de redéfinir la page d'erreur de Symfony 2 :
(1) Créez un app/Resources/TwigBundle/views/Exception/error.html.twig et modifiez-le selon vos besoins.
Il y a du texte de statut, du code de statut et d'autres données disponibles dans le modèle.
(2) Ou utilisez simplement Event pour écouter l'événement kernel.exception :
http://symfony.com/doc/current/book/internals.html#kernel-kernel-exception
Le modèle de The Book de Symfony a été écrit très clairement. Il faudra d'abord vérifier s'il existe un tel modèle sous app/Resources. Sinon, il ira dans le Bundle. Le plus important est de vider le cache pour que ça marche