Puja 是一个轻量级、灵活且易于使用的 PHP 模板引擎。灵感来自 django,Puja 也支持验证模板语法!

v1.1.0 2016-10-23 13:24 UTC

This package is not auto-updated.

Last update: 2024-09-18 20:33:32 UTC


README

Puja 是一个轻量级、灵活且易于使用的 PHP 模板引擎。灵感来自 django,Puja 也支持验证模板语法!

安装

  • Composer
composer require jinnguyen/puja
require 'vendor/autoload.php';
$puja = new Puja();
  • 旧式
require '/path/to/Autoload.php';
$puja = new Puja();

Puja 的部分功能:

  • 验证模板语法
  • 它非常快
  • 没有模板解析开销,只编译一次。
  • 它很智能,只重新编译已更改的模板文件。
  • 支持无限嵌套部分、条件等。
  • 内置模板输出缓存。

验证语法
Puja 支持在解析器运行编译器之前验证语法。这可以帮助您编写模板语法。

下载
GIT: git clone https://github.com/jinnguyen/puja.git
SVN: svn checkout https://github.com/jinnguyen/puja.git
源代码: https://github.com/jinnguyen/puja/zipball/master

错误列表: https://github.com/jinnguyen/puja/issues?page=1&state=open

示例:文件模板:index.tpl

{% extends master.tpl %}
{% block body %}
	Hello, {{ a }
	Welcome you go to Puja template examples
{% endblock %}

结果将是

Puja 只在 debug 模式开启时显示调试信息
** 我们建议您仅在应用处于开发阶段时启用 debug 模式。当应用进入生产阶段时,请禁用它。这将节省模板引擎解析器大量时间。

基本 API 使用方法:

  • 模板文件:index.tpl
Hello {{ username }},
Welcome you go to the very first exmplate of Puja template.
  • PHP 文件:index.php
  <?php
  require_once '/path/to/Autoload.php';
  $tpl = new Puja;
  $tpl->tpl_dir = '/path/to/template/folder/';
  $data = array(
  	'username'=>'Jin Nguyen',
  );
  $tpl->parse($template_file = 'index.tpl', $data);
  ?>

结果将显示

Hello Jin Nguyen,
Welcome you go to the very first exmplate of Puja template.

有关更多信息,请参阅 用户指南

模板继承:

  • master.tpl
==== Start Master ===
{% block body %}Master Body{% endblock body %}
{% block javascript %}Master javascript{% endblock javascript %}
==== End Master ====
  • index.tpl
{% block javascript %}Index javascript{% endblock javascript %}
{% block body %}Index Body{% endblock body %}

结果将是

==== Start Master ===
Index Body
Index javascript
==== End Master ====

更多细节 >>