jaypha / j-plate
包含基于 PHP 模板引擎的层次化组件
Requires
- php: ^5.4 || ^7
Requires (Dev)
- phpunit/phpunit: ^6
README
由 Jason den Dulk 编写
简单而强大的模板引擎。
特性
-
使用 PHP 自身作为模板引擎,无需重新发明轮子或使用臃肿的解析器和解释器,或学习另一种语言。
-
您可以创建自定义组件类,这些类允许您有额外的特定于组件的业务逻辑,这些逻辑可以保持不在模板中,或处理您不想在每一个模板文件中重复的样板代码。
-
指定模板为字符串或文件。
-
直接输出。直接显示内容到输出以实现更快的渲染。通过
__toString输出到字符串也受支持。 -
层次化。组件可以添加到其他组件中,以创建任意复杂性的输出。无需部分、布局或助手,因为
Component可以用于所有这些角色。
要求
PHP v5.4.0 或更高版本。
安装
composer require jaypha/j-plate
API
class Component
__construct($template, $initialData)
Component 类的构造函数。
$template - 要使用的模板文件。
$initialData - 关联数组,用于使用值。如果没有提供模板,可能不是关联数组。
void setTemplate(string $template = null) 设置模板文件
void setVars(array $values) 设置所有值。
void set(string $name, mixed $value) 设置单个值
void remove(string $name) 删除存储在 $name 下的值。
void add(mixed $value) 添加一个无名称的值。当不使用模板时很有用。
void clear() 删除所有值。
void display() 将内容输出到输出上下文。
string __toString() 返回内容作为字符串。
trait TextComponentTrait
一个特性,允许直接提供模板,而不是通过文件。
class TextComponent
TextComponent 的行为与 Component 相同,除了模板直接提供而不是通过文件。
如何使用模板
此项目利用 PHP 在文本文件中嵌入 PHP 代码的能力。只需将您的代码用 <?php 和 ?> 或 <?= 和 ?> 包围即可。
所有值都加载到上下文中,可以直接访问。例如,使用名称 viewName 设置的值,可以用 <?=$viewName?> 打印。
许可证
版权(C)2017 Jaypha。
根据 Boost 软件许可证,版本 1.0 分发。
见 https://boost.ac.cn/LICENSE_1_0.txt