무엇 다음과 같은 경우에 예외를 던지는 가장 좋은 방법입니다 :젠드 프레임 워크
내 URL 구조는 다음과 같습니다 /기사 /보기/ID/1
내 컨트롤러 : AticlesController Application_Model_Mapper_Articles 나는 모든 종류의 데이터를 집계이 모델에서
:
는 그리고이 컨트롤러는 매퍼 모델을로드합니다. 이 모델에서 404 오류를 던지거나 기사를 표시할지 결정하기위한 몇 가지 기준을 확인합니다.
오류가 발생하기로 결정한 경우. 어떻게해야합니까?
내 첫 번째 추측은 모델 내에서 던졌습니다. 그러나 기본 'Model_Exception'클래스가없고 'Zend_Controller_Action_Exception'이 있습니다. 모델 내에서이 예외를 throw해야합니까? 또는 모델에서 컨트롤러로 오류 메시지를 다시 전달한 다음 오류를 던져야합니까?
도움 주셔서 감사합니다. 컨트롤러에서 오류를 던질 것입니다. 내 기사 모델은 매우 복잡합니다. 더 간단한 모델을 위해 무엇을해야합니까? 콘텐츠가 삭제되었을 때만 오류가 발생할 수있는 모델입니다. 특별한 예외 클래스를 만들 가치는 없습니다. 또는 모델에서 isValid() 종류의 함수를 만들어야합니까? 그리고 모든 것을로드하려고하는 모든 컨트롤러/액션에이를 포함시킵니다. 여분의 코드가 많은 것 같아요 ... – Erik
새로운 예외 클래스를 생성하는 것은 당신에게 달려 있습니다. :) 그러나 기존 젠드 예외 인 SPL Exceptions (http://www.php.net/manual/en)를 살펴보십시오. /spl.exceptions.php) 아니면 일반적인 예외를 throw 할 수 있습니다. 유효성 검사는 일반적으로 모델 내에 예외를 throw 할 수 있지만 try-catch 블록 내에서 예외를 throw하는 메서드가 실행되는지 확인해야합니다. 자바는 메서드가 더 좋게 정렬되어 있으므로 결과가 예외 일 수 있으므로 'throw My_Kind_Of_Exception'으로 선언해야합니다. – usoban