개요
PHP 7.3 버전부터 CompileError 예외(exception)가 새롭게 도입되었습니다. 이 클래스는 Error 클래스를 상속하며, 기존에는 치명적인 오류(fatal error)로 프로그램이 중단되던 일부 오류 상황이 이제는 CompileError 예외로 처리됩니다. 특히 token_get_all() 함수에서 발생할 가능성이 높은 컴파일 오류에 이 변경 사항이 적용됩니다.
token_get_all() 함수는 Zend 어휘 분석기(lexical scanner)를 활용하여 주어진 문자열을 PHP 언어의 토큰 단위로 파싱하는 역할을 합니다.
문법(Syntax)
token_get_all ( string $source [, int $flags = 0 ] ) : array
매개변수(Parameters)
| 번호 | 매개변수 및 설명 |
|---|---|
| 1 | source 파싱하고자 하는 PHP 소스 코드입니다. |
| 2 | flags TOKEN_PARSE - 특정 문맥(context)에서 예약어(reserved words)의 사용 가능 여부를 인식하도록 설정합니다. |
주요 특징
CompileError 예외를 정상적으로 발생시키려면 반드시 TOKEN_PARSE 모드로 함수를 호출해야 합니다. 이 모드를 사용하지 않으면 구문 오류가 발생해도 예외 대신 다른 방식으로 처리될 수 있으므로, 코드 분석 시 안정적인 오류 처리를 위해서는 TOKEN_PARSE 플래그를 함께 사용하는 것이 권장됩니다.