ThinkPhp6으로 개발할 때는 종종 다양한 런타임 예외를 만듭니다. 기본적으로 프레임 워크에서 제공하는 예외 페이지는 비교적 간단하며 디버깅 경험이 이상적이지 않습니다. 이를 향상시키기 위해 우수한 오류 처리 라이브러리 인 Whoops를 사용하여 개발 프로세스에보다 직관적 인 예외 디스플레이 인터페이스를 제공 할 수 있습니다.
Whoops는 PHP 응용 프로그램을 위해 특별히 설계된 오픈 소스 예외 처리 라이브러리입니다. 오류 정보를 자세히 표시 할뿐만 아니라 스택 추적, 오류 파일 위치 및 기타 내용을보다 아름다운 방식으로 표시합니다. Whoops를 통합함으로써 개발자는 문제를 더 빨리 찾아서 해결할 수 있습니다.
작곡가 도구를 통해 Whoops를 쉽게 소개하고 다음 명령을 실행하여 설치할 수 있습니다.
composer require filp/whoops
먼저 프로젝트의 앱 디렉토리에서 새 미들웨어 파일 WhoopsFilter.php를 작성하면 코드는 다음과 같습니다.
namespace app\middleware;
use think\facade\Config;
use think\exception\Handle;
class WhoopsFilter extends Handle
{
public function render($request, \Throwable $e)
{
if (Config::get('app.app_debug')) {
$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
$whoops->register();
}
return parent::render($request, $e);
}
}
다음으로 App/Middleware.php 파일을 열고 위의 미들웨어를 리턴 배열에 추가하십시오.
return [
// ...
\app\middleware\WhoopsFilter::class,
// ...
];
Whoops가 제대로 작동하려면 프로젝트가 디버그 모드에 있는지 확인하십시오. config/app.php 구성 파일에서 다음 구성 항목을 찾아 수정하십시오.
'app_debug' => true,
위 구성이 완료되면 Whoops의 디버그 페이지를 경험할 수 있습니다. 오류 출력을 시뮬레이션하기위한 간단한 컨트롤러 방법은 다음과 같습니다.
public function index()
{
$undefinedVariable = 'Hello, Whoops!';
echo $undefinedVariable;
}
이 메소드에 액세스 한 후에는 자세한 스택 정보, 가변 컨텍스트 및 오류 코드 위치를 포함하여 그래픽 및 대화식 오류 페이지가 표시되어 디버깅 효율성을 크게 향상시킵니다.
Whoops를 ThinkPhP6 프로젝트에 통합함으로써 기본 예외 디스플레이 방법을 효과적으로 교체하여 디버깅 프로세스를보다 효율적이고 친숙하게 만들 수 있습니다. 특히 개발 단계에서 개발자가 문제를 더 빠르게 발견하고 권장되는 디버깅 도구입니다.