내 응용 프로그램 행복하게 개발의 오류, 모두 오류 및 예외를 처리합니다. 프로덕션 환경으로 전환하면 구성이 오류를 표시하지 않도록 설정된대로 빈 페이지가 반환됩니다. ZF에는 빈 페이지가 나타나지 않도록 애플리케이션에서 레이아웃을 사용하여 멋지게 포맷 된 '페이지를 찾을 수 없음'으로 방문자를 보내기위한 표준 방법이 있습니까? 미리 감사드립니다.젠드 프레임 워크 핸들 예외 정상적으로 생산 환경에서
답변
을 당신은 이미 당신이 요청하는 일을 할 수있을 것입니다 젠드 프로젝트를 생성하기 위해 CLI를 사용하는 보통합니다. 스크립트/view/errors/error.phtml이 phtml 파일이 될 경우 사용할보기를 만드는 데 사용할 수 있습니다.
당신이 젠드 프로젝트 울부 짖는 소리를 만들 CLI를 사용하지 않은 경우 생성 된 ErrorController이
<?php
class ErrorController extends Nanaly_Controller
{
public function errorAction()
{
$errors = $this->_getParam('error_handler');
switch ($errors->type) {
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ROUTE:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
// 404 error -- controller or action not found
$this->getResponse()->setHttpResponseCode(404);
$this->view->message = 'Page not found';
break;
default:
// application error
$this->getResponse()->setHttpResponseCode(500);
$this->view->message = 'Application error';
break;
}
// Log exception, if logger available
if ($log = $this->getLog()) {
$log->crit($this->view->message, $errors->exception);
}
// conditionally display exceptions
if ($this->getInvokeArg('displayExceptions') == true) {
$this->view->exception = $errors->exception;
}
$this->view->request = $errors->request;
}
public function getLog()
{
$bootstrap = $this->getInvokeArg('bootstrap');
if (!$bootstrap->hasPluginResource('Log')) {
return false;
}
$log = $bootstrap->getResource('Log');
return $log;
}
}
주 사용하지만 : 1.10.0
을 젠드 버전을 사용하여이 컨트롤러가 생성 및보기가해야 앞에서 언급 한 것과 동일한 위치에 배치하십시오.
는 사용자 지정 ErrorController, 예와 함께이 작업을 수행 할 수 있습니다
http://www.talkincode.com/a-useful-error-controller-class-for-zend-framework-applications-729.html
감사합니다. 모양을 알려 드리겠습니다. – ed103
좋은 클래스이지만 myurl/foo와 같은 ACL 목록에 지정되지 않은 url을 호출하면 동일한 문제가있는 것 같습니다. 치명적 오류 : 캐치되지 않은 예외 'Zend_Acl_Exception'메시지와 함께 'Resource 'foo'not found '/Users/marchampson/Sites/heavenlycakes/trunk/library/Zend/Acl.php:347 스택 추적 : # 0 ... 조금 더 있지만 주석 상자의 문자 수가 부족합니다. – ed103
수정되었지만 누군가가 약간의 빛을 비출 수 있기를 바라면서이 일을 하루 더 열어 둡니다. 컨트롤러가 작동하는 것처럼 보입니다.하지만 ... 출구를 두어야했습니다. 명령은 내 error.phtml보기 파일의 끝에 있습니다. 거기서 멈추지 않으면 위의 치명적인 오류가 발생합니다. 어떤 아이디어? – ed103
- 1. 젠드 프레임 워크 문서, 예외
- 2. 젠드 프레임 워크
- 3. 젠드 프레임 워크 : 맞춤 비누 예외 잡기
- 4. 젠드 프레임 워크 자동 스위치 생산 스테이징 테스트 .. 등
- 5. 젠드 스튜디오 + 젠드 프레임 워크
- 6. 젠드 프레임 워크/CSS (IE)가 정상적으로 적용되지 않습니다!
- 7. 젠드 프레임 워크 쿼리
- 8. 젠드 프레임 워크 : headTitle() -
- 9. 젠드 프레임 워크 학습
- 10. 젠드 프레임 워크 오류
- 11. 젠드 프레임 워크 쿼리
- 12. 젠드 프레임 워크 leftJoin
- 13. 젠드 프레임 워크 - 정규식
- 14. 젠드 프레임 워크 경로
- 15. 젠드 프레임 워크 쿼리
- 16. 젠드 프레임 워크 모델링
- 17. 젠드 프레임 워크 내비게이션
- 18. 젠드 프레임 워크
- 19. 방법 젠드 프레임 워크
- 20. 젠드 프레임 워크 코드
- 21. 젠드 프레임 워크 배포
- 22. 젠드 프레임 워크 위키
- 23. Vista의 젠드 프레임 워크
- 24. 젠드 프레임 워크 라우팅
- 25. VPS에서 젠드 프레임 워크?
- 26. 모듈은 젠드 프레임 워크
- 27. 젠드 프레임 워크 기술
- 28. 젠드 프레임 워크 문제는
- 29. 젠드 프레임 워크 : 레이아웃
- 30. 젠드 프레임 워크 그룹 by
감사. 나는 CLI를 사용했고 모두 작동했다. error.phtml 파일을 편집하여 html 스타일을 추가하여 사이트의 나머지 부분과 동일한 모양과 느낌을 갖도록했다. 이것을 생산에서 작동하려면 나가야했습니다. error.phtml의 끝에. 건배, 마크 – ed103