toropyga / templates
用于处理 Toropyga 模板的库
v4.0.5
2023-06-28 12:38 UTC
Requires
- php: >=5.1.0
README
模板处理类
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!