toropyga/templates

用于处理 Toropyga 模板的库

v4.0.5 2023-06-28 12:38 UTC

This package is auto-updated.

Last update: 2024-09-28 15:13:37 UTC


README

模板处理类

License Version PHP

PHP 模板处理类的描述和用法示例

内容

概述

Templates 类用于处理和输出到屏幕上的 HTML 模板。要运行,需要 PHP 版本 4 或更高。

样式文件预期的文件结构

(ROOT_PATH)
|
| +-------------------------------+
|-| общая папка стилей (TMPL_DIR) |
| +-------------------------------+
|           |
|           | +----------------------------+
|           |-| папка стиля 1 (TMPL_STYLE) |
|           | +----------------------------+
|           |
|           | +----------------------------+
|           |-| папка стиля 2 (TMPL_STYLE) |
|             +----------------------------+
|
| +------------------------------+
|-| временные файлы (TMPL_CACHE) |
| +------------------------------+

安装

建议使用 Composer 安装 NetContent 库

composer require toropyga/templates

或者直接下载并保存库到相应的目录。

预定义常量

开始工作之前,可以预定义常量

ROOT_PATH - 到根目录的完整路径

TMPL_DIR - 到目录(文件夹)的路径(相对于根目录),其中包含样式目录(模板)

TMPL_STYLE - 默认模板所在的目录(文件夹)名称

TMPL_CACHE - 到目录的路径(相对于根目录),其中将保存处理过的模板

模板

所有模板都格式化为普通的 HTML 页面。

需要在变量值插入的地方,编写如下代码

{$变量名}, 如果需要从数组中选择值,则写 - {$数组名['数组键']} 等,

如果数组键是变量,则记录为 {$数组名[$变量名]}

如果需要从整个模板中只提取一小部分(块),则该部分用以下格式的注释标签包围

<!-- tmplblock: begin -->
сам блок
<!-- tmplblock: end -->

如果需要在模板中插入 PHP 代码,则将其放入以下格式的注释标签中

<!-- tmplphp: $a = 20; for ($i=1; $i <= $a; $i++) { -->
{$i}<br>
<!-- tmplphp: } -->

如果需要在模板中包含另一个模板,则编写以下代码

{tmplinclude: имя_подключаемого_файла}

如果包含未处理的 PHP 代码块,则用以下结构的构造包围它

##static_begin##
сам код
##static_end##

例如

<!-- tmplphp: $a = 1; $b = 2;  echo sum($a, $b); ##static_begin## function sum($a, $b) { return ($a+$b); } ##static_end## -->

在模板标签内插入 PHP 代码 - tmpltag="# 代码 #"

<input type="checkbox" id="remember" name="admin[remember]" tmpltag="#if ($remember) {#" checked tmpltag="#}#" value="1" class="non">

调用类

包含类文件

require_once("Templates.php");

或使用 composer

require_once("vendor/autoload.php");

初始化模板处理类

$TMPL = new FYN\Templates();

设置页面样式

$TMPL->setStyle($style_folder);

向模板传递变量值

$TMPL->assign($template_data);
$TMPL->assign(array('page'=>$PAGE));

将模板输出到屏幕

$TMPL->output($template_file);

变量

模板变量的名称应与关联数组的键相匹配,该数组的值是模板中的变量值。

例如。

模板(hello.html)

Hello, {$user_name}!

PHP 处理器

$template_file = "hello.html";
$template_data = array("user_name" => "Alex");
$TMPL = new FYN\Templates();
$TMPL->assign($template_data);
$TMPL->output($template_file);

结果

Hello, Alex!