29
więc szukam sposobu, aby zasymulować błąd 404, to próbowałem:Jak mogę zasymulować błąd 404 w Symfony2?
throw $this->createNotFoundException();
i ten
ale żaden nie działa.
więc szukam sposobu, aby zasymulować błąd 404, to próbowałem:Jak mogę zasymulować błąd 404 w Symfony2?
throw $this->createNotFoundException();
i ten
ale żaden nie działa.
można znaleźć rozwiązania w dokumentacji Symfony2:
http://symfony.com/doc/2.0/book/controller.html
zarządzania błędami i 404 stron
public function indexAction()
{
// retrieve the object from database
$product = ...;
if (!$product) {
throw $this->createNotFoundException('The product does not exist');
}
return $this->render(...);
}
Jest krótka informacja w dokumentacji:
"Metoda createNotFoundException() tworzy specjalny NotFoundHttpException obiekt, który ostatecznie wyzwala 404 odpowiedź HTTP wewnątrz Symfony. "
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException
W moich skryptów Zrobiłem to tak:
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException
/**
* @Route("/{urlSlug}", name="test_member")
* @Template()
*/
public function showAction($urlSlug) {
$test = $this->getDoctrine()->.....
if(!$test) {
throw new NotFoundHttpException('Sorry not existing!');
}
return array(
'test' => $test
);
}
+1 bo 'throw' a nie' return' wyjątek. Uratował mi trochę kłopotów. – ferdynator
NIE! Nie zadziała z 'return', ponieważ nie jest to poprawny obiekt' Response'. rzuć go i żyj długo potem. – ferdynator