템플릿


HTML은 웹브라우저를 통하여 컨텐츠를 출력하기 위한 좋은 마크업 문법입니다. 또한 HTML은 고정된 컨덴츠를 출력하게 됩니다.

만일 동적인 내용을 화면으로 출력을 해야하는 경우가 많이 발생합니다. 동적으로 화면의 내용을 구성하기 위해서는 HTML 코드안에 PHP코드를 같이 삽입을 해야 합니다. HTML과 PHP코드가 썩여서 작성을 하게 되면 여러가지 문제점이 발생됩니다.

이를 해결하기 위해서 전용 템플릿 문법들이 등장합니다. 템플릿 문법은 HTML코드외에 전용 템플릿 파서를 통하여 동적인 HTML 코드를 생성할 수 있습니다.

템플릿 엔진


템플릿 엔진은 지정된 템플릿의 문법을 분석하고, 이를 적용하여 HTML을 생성하는 역활을 합니다. 템플릿 엔진 제어을 통하여 실행동작 여부를 제어할 수 도 있고, 다른 템플릿 문법으로도 변환을 할 수도 있습니다.

기본 템플릿


지니PHP는 기본적으로 Liquid 문법을 사용합니다. 라라벨과 같은 언어의 경우 Blade문법을 사용하기도 합니다. 하지만 Liquid 문법은 깃허브와 같이 연동하여 사용할 수도 있고, 지킬과 같은 범용 정적 페이지 생성기와도 호환성을 유지할 수 있습니다.

Liquid를 기본으로 선택한 이유는 다양한 개발자들이 새롭운 탬플릿 언어를 학습해야 하는 진입 장벽을 줄이기 위함입니다.

향후 계획


현재는 Liquid 템플릿 한개만 적용을 하고 있지만, 더 다양한 템플릿을 지원할 얘정입니다.

  • carpet
  • Liquid
  • Blade

템플릿 엔진들은 디자인패턴을 적용하여 확장이 가능하도록 설계가 되어 있습니다.