jinnguyen / puja
Puja 是一个轻量级、灵活且易于使用的 PHP 模板引擎。灵感来自 django,Puja 也支持验证模板语法!
v1.1.0
2016-10-23 13:24 UTC
Requires (Dev)
- codeception/aspect-mock: 0.5.3
- phpunit/phpunit: ^4.8
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 ====