Comment envoyer l'en-tête 404 ?

Conseils Symfony2

Ce site ne sera plus alimenté de contenu après août 2014. Tous les nouveaux articles seront redigés pour www.waitingforcode.com
La détermination de l'en-tête 404 pour les pages qui n'existent pas est très facile sous Symfony2. L'un des moyens consiste à récupérer la page et renvoyer le code dans la réponse.

Pour ce faire, dans un premier temps il faut récupérer le template qui sera affichée sur l'écran. Dans un deuxième temps, il faut utiliser la méthode setStatusCode() de l'objet
\Symfony\Component\HttpFoundation\Response .

L'ensemble se présente ainsi :

public function deniedAccessAction(Request $request)
{
// get displayed template
$response = $this->render('SitesTestBundle:Errors:deniedAccess.html.php', array());
// set 404 status code
$response->setStatusCode(404);
// send all to the browser
return $response;
}
Bartosz KONIECZNY Conseils Symfony2