Tokenizer
Tokenizer
PHP 소스를 분석하거나 변환하는 도구를 직접 만들어 보고 싶다면, 텍스트 구문(lexical) 수준에서 언어를 다루는 일은 꽤 번거로워요. Tokenizer 확장은 Zend 엔진에 내장된 PHP 토크나이저에 접근하는 인터페이스를 제공해서, 그런 도구를 더 쉽게 만들 수 있게 해 줘요.
출처: Tokenizer
본문
토크나이저 함수들은 Zend 엔진에 내장된 PHP 토크나이저에 대한 인터페이스를 제공해요. 이 함수들을 쓰면 언어 사양을 어휘(lexical) 수준에서 직접 다루지 않고도, 직접 만든 PHP 소스 분석·변경 도구를 작성할 수 있어요. 토큰에 대한 부록(토큰 목록)도 함께 참고할 수 있어요.
설치·설정(Installing/Configuring)
- 설치(Installation)
- 사전 정의 상수(Predefined Constants)
- 예제(Examples)
PhpToken 클래스
PhpToken— PhpToken 클래스PhpToken::__construct— 새 PhpToken 객체를 반환해요(Returns a new PhpToken object).PhpToken::getTokenName— 토큰의 이름을 반환해요(Returns the name of the token).PhpToken::is— 토큰이 주어진 종류인지 알려줘요(Tells whether the token is of given kind).PhpToken::isIgnorable— 토큰이 PHP 파서에 의해 무시될 토큰인지 알려줘요(Tells whether the token would be ignored by the PHP parser).PhpToken::__toString— 토큰의 텍스트 콘텐츠를 반환해요(Returns the textual content of the token).PhpToken::tokenize— 주어진 소스를 PhpToken 객체로 표현된 PHP 토큰으로 나눠요(Splits given source into PHP tokens, represented by PhpToken objects).
Tokenizer 함수(Tokenizer Functions)
token_get_all— 주어진 소스를 PHP 토큰으로 나눠요(Split given source into PHP tokens).token_name— 주어진 PHP 토큰의 기호 이름을 가져와요(Get the symbolic name of a given PHP token).
더 알아보기
token_get_all()은 소스를 배열 형태의 토큰 목록으로 바꿔 주는데, 코드 스타일 검사기나 문법 하이라이터를 직접 만들 때 시작점으로 좋아요.- 토큰 상수(예:
T_STRING,T_VARIABLE)와 함께 보면 반환값이 훨씬 명확해져요.