나는 다음과 같이 내 자신의 404 오류 처리기 편집 laravel 4의 /app/start/global.php
파일을 만들 수 있습니다호출 응답 :: 만들기는 상태 코드를 표시
App::error(function(Exception $exception, $code)
{
Log::error($exception);
if (Config::get('app.debug')) {
return;
}
switch ($code)
{
case 403:
case 404:
case 500:
$view = App::make('PublicController')->callAction('error', array($code));
$response = Response::make($view, $code);
return $response;
break;
default:
return Response::view('errors.default', array(), $code);
break;
}
});
때문에 사용 템플릿 라이브러리, 내가 delagate해야 특정 컨트롤러에서 스타일을 볼 수 있습니다. 그래서,이 라인과 멋진 스타일을 얻을 : 때문에 응용 프로그램의
$view = App::make('PublicController')->callAction('error', array($code));
브라우저 요청에 대한 상태 코드를 필요로, 나는 응답의 내용으로 렌더링 된 HTML보기를 사용
Response::make
으로 구축하고, 반환 :$response = Response::make($view, $code); return $response;
워크 플로는 정말 좋은 스레드를 다음과 404 HTML보기는 404 개 상태도 좋은 설정 레이아웃에 따라 제대로 보여 주었다된다. 하지만, 여기서 뭐가 문제 야? 잘 .. 어떤 이유로, HTML 출력에서 "에코"가 다음과 같은 :
HTTP/1.0 200 OK :
HTTP/1.0 200 OK Cache-Control: no-cache Date: Tue, 08 Apr 2014 18:21:44 GMT <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> ...
당신이주의 경우는, 처음에 메시지가 캐시 제어 : 노 캐시 날짜 : 내가 할 경우 때문에
Response::make
기능, 내echo
을 가지고 같은 4월 8일 (화) 2014 그리니치 표준시 18시 21분 44초
가 보이는 :
$view = App::make('PublicController')->callAction('error', array($code));
return $view;
... 메시지가 사라지지만 상태 코드를 설정하려면 Response
클래스를 사용해야하므로이 대답이 마음에 들지 않습니다. 이 문제를 어떻게 처리 할 수 있습니까?
사용자 정의 404의 경우 'App :: missing' 메소드를 사용하지 않는 이유는 무엇입니까? – Aristona
더 자세한 정보를 찾도록하겠습니다. – manix