2013-10-08 3 views

답변

1

할 수 있습니다. 프로그래밍 언어 또는 스크립팅 언어 워크 플로, 렉싱 및 컴파일의 워크 플로에는 두 가지 주요 부분이 있습니다. 컴파일 부분에서 Twig는 토큰 트리를 만든 다음 HTML (Twig internals)으로 컴파일합니다.

이 모두는 Symfony에서 서비스로 사용되는 Twig_Environment 클래스 내부에서 호출됩니다. 그래서 당신이 할 수있는 일은 Twig_Environment tokenize 메소드를 덮어 쓰고 거기에 필요한 모든 토큰을 얻는 것입니다. 자체 수정 된 확장을 사용하여 override the original service 수 있습니다.

이렇게하면 모든 토큰 이름을 반환 할 수 있습니다. 당신은 당신의 필요에 맞게 이것을 적용 할 수 있습니다. 토큰 트리 자체가 필요하면 render 및/또는 parse 메서드를 재정의하거나 템플릿 자체에서 호출 할 수있는보다 복잡한 추가 기능을 작성할 수 있습니다. 가능성은 무한합니다. 코드를 원래의 Twig 구현과 분리하여 (재정의를 사용하여)보다 쉽게 ​​업데이트 할 수 있습니다.