2016-09-27 7 views
0

PHP 템플릿과 함께 symfony 2.8 버전을 사용하고 있습니다. PHP 템플릿을 사용하여 사용자 정의 된 오류 페이지를 만들 수 있습니까?Symfony PHP 템플릿 사용자 정의 오류 페이지

+0

물론을 ... 왜? – ceejayoz

+3

가능합니다. 그리고 그것을 성취하는 과정은 심포니 요리 책에 잘 설명되어 있습니다. –

답변

0

물론. services.yml에서

, 예외에 리스너를 추가

listener.exception: 
    class: Symfony\Component\HttpKernel\EventListener\ExceptionListener 
    arguments: ["MyWebsite\\Controller\\ExceptionController::exceptionAction"] 
    tags: 
     - {name: 'kernel.event_subscriber'} 

그런 다음 컨트롤러는 보통 하나입니다

<?php 

namespace MyWebsite\Controller; 

use Symfony\Component\Debug\Exception\FlattenException; 
use Symfony\Component\HttpFoundation\Response; 

class ExceptionController extends AbstractController 
{ 
    public function exceptionAction(FlattenException $exception) 
    { 
     $text = $exception->getMessage() ; 
     if (isset(Response::$statusTexts[$exception->getStatusCode()])) { 
      $text = Response::$statusTexts[$exception->getStatusCode()]; 
     } 
     $response = new Response(null); 
     $response->setStatusCode($exception->getStatusCode()); 
     return $this->render(
      'exception.html.twig', // Here your template 
      ['error' =>$text], 
      $response 
     ); 
    } 
} 
관련 문제