controllerでは、次のように簡単に実行できます。
public function someAction()
{
// ...
// Tested, and the user does not have permissions
throw $this->createAccessDeniedException("You don't have access to this page!");
// or tested and didn't found the product
throw $this->createNotFoundException('The product does not exist');
// ...
}
この場合、先頭に を含める必要はありませんuse Symfony\Component\HttpKernel\Exception\HttpNotFoundException;
。その理由は、コンストラクターを使用するように、クラスを直接使用していないためです。
controller の外側では、クラスが見つかる場所を示し、通常どおりに例外をスローする必要があります。このような:
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
// ...
// Something is missing
throw new HttpNotFoundException('The product does not exist');
また
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
// ...
// Permissions were denied
throw new AccessDeniedException("You don't have access to this page!");