티스토리 뷰
사전지식
Flight 에러 제어
// 1. 오류 발생시 \ErrorException 예외를 호출하도록 설정
Flight::set('flight.handle_errors', true);
// 2. 모든 예외 및 오류 발생시 웹 서버의 에러 로그로 전송
Flight::set('flight.log_errors', true);
// 3. 모든 예외 및 오류 발생시 클로져 함수 실행
Flight::map('error', function ($e) {
get_class($e) // Exception
$e->getMessage(); // Invalid callback specified.
$e->getFile(); // /var/www/html/hello-flight/vendor/mikecao/flight/flight/core/Dispatcher.php
$e->getLine(); // 146
}
// 4. 예외 및 오류 발생시 \HelloFlight\Controllers\ErrorController->handle($e) 로 라우트
Flight::map('error', array(new \HelloFlight\Controllers\ErrorController(), 'handle');
// 5. 라우팅 시작
Flight::start();
Flight는
flight.handle_errors
옵션을 제공한다. 활성화할 경우Fatal Error
오류 발생시\ErrorException
을 발생시켜 오류에 대한 예외 처리를 수행할 수 있다. 또한,flight.log_error
옵션을 활성화하면 발생한 예외 및 오류를 웹 서버의 에러 로그에 전송한다.Flight::start()로 시작되는 라이프 사이클 중 발생하는 모든 예외 및 오류는 try, catch 구문을 사용하지 않아도
Filght::map()
로 우아하게 제어할 수 있다. 첫번째 파라메터로error
를 전달하고 두번째 파라메터로 HTTP 응답 및 에러 로깅 등의 처리 로직을 클로져 함수로 작성한다. 특정 클래스의 메써드로 라우팅하는 것도 가능하다.
참고 글
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Spring Boot
- graylog
- Kendo UI Web Grid
- jstl
- 자전거
- Docker
- 로드바이크
- chrome
- JHipster
- 평속
- kotlin
- DynamoDB
- bootstrap
- node.js
- Kendo UI
- jsp
- spring
- Eclipse
- MySQL
- 구동계
- 태그를 입력해 주세요.
- Tomcat
- 알뜰폰
- maven
- CentOS
- java
- jpa
- Spring MVC 3
- JavaScript
- 로드 바이크
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함