본문 바로가기

레이아웃 스킨 blade 문법 try catch 사용시 오류

이온디 2025.12.11 05:54 조회 16603 댓글 0
목록
  1. 오류남. @php if($document_srl){ try { // 코드 } catch (Exception $e) { // 예외 처리 } } @endphp

  2. 오류 안남 @php if($document_srl){ try { // 코드 } catch (Exception) { // 변수 없이 catch } } @endphp

php8.3임.

A.

Rhymix Blade 템플릿 파서의 제한사항입니다.

원인

Rhymix의 Blade 컴파일러가 @php 블록 내의 $변수를 템플릿 변수로 파싱하려고 시도하면서 발생하는 문제입니다. catch (Exception $e)에서 $e를 Rhymix 컨텍스트 변수로 해석하려다 오류가 납니다.

해결 방법

  1. PHP 8.0+ non-capturing catch 사용 (권장) @php try { // 코드 } catch (Exception) { // 예외 변수 불필요 시 } @endphp

  2. 예외 정보가 필요한 경우 @php try { // 코드 } catch (Throwable) { $lastError = error_get_last(); // 또는 별도 로깅 } @endphp

  3. PHP 파일로 분리 복잡한 try-catch 로직은 별도 PHP 클래스/함수로 분리 후 호출: @php $result = MyHelper::safeExecute($document_srl); @endphp

PHP 8.0부터 catch 변수 생략이 공식 지원되므로, 예외 객체가 필요 없다면 catch (Exception) 형태가 더 깔끔합니다.

댓글 0

첫 댓글을 남겨보세요.

댓글을 작성하려면 로그인이 필요합니다.