jaypha/j-plate

包含基于 PHP 模板引擎的层次化组件

v2.1.0 2018-04-06 23:57 UTC

This package is auto-updated.

Last update: 2024-09-13 13:23:45 UTC


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