춘절을 맞아 TP6에 익숙해지고, TP6 블로그 프로그램도 작성했는데, 시스템의 예외 페이지가 정말 골치 아프고, 어떤 코드가 문제를 일으키는지 알 수 없을 때가 많습니다. 문제.
그래서 저는 정말 whoops를 소개하고 싶었습니다. 일련의 조사 끝에 마침내 해결책을 찾았습니다.
1.composer를 통해 whoops를 설치하세요
composer require filp/whoops
다음 명령을 실행하세요. 가져온 파일에 문법 오류가 있는 경우 설치하기 전에 미리 문법 오류를 처리해야 합니다. 그렇지 않으면 오류가 항상 보고됩니다.
2. whoops를 사용하여 tp6의 예외 처리를 인계합니다.
/app/ExceptionHandle.php 파일의 render() 메서드에 다음 코드를 추가합니다.
// 添加自定义异常处理机制 if (ENV('APP_DEBUG')) { // 如果是HttpResponseException异常则原样输出 // JUMP插件里的success,error和result方法均返回的是HttpResponseException异常 if ($e instanceof HttpResponseException) { return $e->getResponse(); } // Whoops 接管请求异常 $whoops = new \Whoops\Run; $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler()); return Response::create( $whoops->handleException($e), 'html', 500 ); }
아래와 같이:
3. 결과를 보세요
블로그 홈페이지의 index 메소드에 존재하지 않는 함수를 썼습니다:
페이지를 새로고침하고 확인해보세요
좋아요. 가 돌아왔습니다.
4. Postscript
thinkphp6에서 whoops를 사용하기 위해 PHP7의 예외 메커니즘을 꼼꼼히 살펴보고 마지막으로 whoops를 소개했습니다.
예외 처리를 학습하는 과정에서 저도 발견했습니다. 비즈니스 처리에는 if()else() 대신 Try()catch()를 사용해야 합니다.
PHP7에서 예외를 연구한 경험에 대해서는 나중에 별도의 기사를 작성하겠습니다.
또한 계속 진행하시기 바랍니다. 내 블로그를 팔로우하려면 http://laoliu.pro
원본 링크: http://laoliu.pro/php/6.html