현재 위치: > 최신 기사 목록> ThinkPhp6 예외 처리를보다 우아하게 만들기 : Whoops를 통합하여 아름다운 디버깅 페이지를 달성하십시오.

ThinkPhp6 예외 처리를보다 우아하게 만들기 : Whoops를 통합하여 아름다운 디버깅 페이지를 달성하십시오.

gitbox 2025-06-26

소개

ThinkPhp6으로 개발할 때는 종종 다양한 런타임 예외를 만듭니다. 기본적으로 프레임 워크에서 제공하는 예외 페이지는 비교적 간단하며 디버깅 경험이 이상적이지 않습니다. 이를 향상시키기 위해 우수한 오류 처리 라이브러리 인 Whoops를 사용하여 개발 프로세스에보다 직관적 인 예외 디스플레이 인터페이스를 제공 할 수 있습니다.

Whoops는 무엇입니까?

Whoops는 PHP 응용 프로그램을 위해 특별히 설계된 오픈 소스 예외 처리 라이브러리입니다. 오류 정보를 자세히 표시 할뿐만 아니라 스택 추적, 오류 파일 위치 및 기타 내용을보다 아름다운 방식으로 표시합니다. Whoops를 통합함으로써 개발자는 문제를 더 빨리 찾아서 해결할 수 있습니다.

Whoops 라이브러리를 설치하십시오

작곡가 도구를 통해 Whoops를 쉽게 소개하고 다음 명령을 실행하여 설치할 수 있습니다.

 composer require filp/whoops

ThinkPhp6에서 whops 구성

미들웨어를 만듭니다

먼저 프로젝트의 디렉토리에서 새 미들웨어 파일 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 프로젝트에 통합함으로써 기본 예외 디스플레이 방법을 효과적으로 교체하여 디버깅 프로세스를보다 효율적이고 친숙하게 만들 수 있습니다. 특히 개발 단계에서 개발자가 문제를 더 빠르게 발견하고 권장되는 디버깅 도구입니다.