wj008 / sdopx
sdopx Embedded php templates
4.0.5
2025-11-21 19:10 UTC
Requires
- php: >=8.0
- dev-master
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.0.20
- 3.0.19
- 3.0.18
- 3.0.14
- 3.0.13
- 3.0.12
- 3.0.11
- 3.0.10
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.1.13
- 2.1.12
- 2.1.11
- 2.1.10
- 2.1.9
- 2.1.8
- 2.1.7
- 2.1.6
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.36
- 2.0.35
- 2.0.34
- 2.0.33
- 2.0.32
- 2.0.31
- 2.0.30
- 2.0.28
- 2.0.27
- 2.0.26
- 2.0.25
- 2.0.24
- 2.0.23
- 2.0.22
- 2.0.21
- 2.0.20
- 2.0.19
- 2.0.18
- 2.0.17
- 2.0.16
- 2.0.15
- 2.0.14
- 2.0.13
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.9
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- dev-sdopx-2.x
- dev-sdopx-1.x
This package is auto-updated.
Last update: 2025-11-21 19:13:19 UTC
README
Sdopx 是一个基于 PHP 的高性能模板引擎,提供灵活的模板编译和渲染功能,适用于 Web 开发中的视图层处理。
特性
- 模板继承:支持模板继承机制,便于构建可复用的页面结构。
- 编译优化:将模板编译为原生 PHP 代码,提升执行效率。
- 插件系统:提供丰富的插件支持,如变量修饰符、自定义标签等。
- 多资源支持:支持从文件、字符串、Base64 等多种资源加载模板。
- 调试功能:内置调试支持,便于开发过程中排查问题。
安装
使用 Composer 安装 Sdopx:
composer require wj008/sdopx
使用示例
基本用法
use sdopx\Sdopx;
// 初始化模板引擎
$sdopx = new Sdopx();
// 设置模板目录
$sdopx->setTemplateDir(__DIR__ . '/templates');
// 分配变量
$sdopx->assign('name', 'Sdopx');
// 渲染模板
$sdopx->display('index.tpl');
模板语法示例
{* index.tpl *}
Hello, {$name}!
其他语法请查阅 http://sdopx.wj008.net
Sdopx 4.0.4 以上新语法特点
4.0.4 版本优化了代码结构,修正错误输出的提示内容,以及定位错误代码位置
- 左分界符号右侧如有空格及换行将被视为HTML代码不被解析为模板
<style> body { color: red; } .css1 { color: red; } </style> <script> function abc() { alert('ceshide'); } abc(); </script>- 以上代码将会原样输出
- 新增模板内直接变量赋值及添加变量链接修饰器
|cat{$name = 'sdopx'} {$temp = $name|cat:' ok?'} - 支持PHP内置的字符串处理函数以修饰器的形式调用 如:
{$temp|strlen} {$temp|trim} {$temp|ucfirst} {$temp|substr:1:3} {$temp|base64_encode} {'world'|str_replace:'sdopx':$temp} ...
插件扩展
Sdopx 提供多种内置插件,同时也支持自定义插件扩展。
修饰符插件
cat: 拼接字符串default: 设置默认值lower: 转换为小写upper: 转换为大写truncate: 截断字符串nl2br: 将换行符转换为<br>标签
自定义标签插件
volist: 遍历数组输出cycle: 循环输出不同值extends: 模板继承block: 定义可重写区块
资源类型
Sdopx 支持多种资源类型加载模板:
- FileResource:从文件系统加载模板
- StringResource:从字符串加载模板
- Base64Resource:从 Base64 编码字符串加载模板
- ExtendsResource:支持模板继承的资源类型
调试支持
启用调试模式后,Sdopx 会在模板渲染出错时提供详细的错误上下文信息,帮助开发者快速定位问题。
Sdopx::$debug = true;
贡献指南
欢迎贡献代码和改进文档。请遵循以下步骤:
- Fork 项目
- 创建新分支 (
git checkout -b feature/new-feature) - 提交更改 (
git commit -am 'Add new feature') - 推送分支 (
git push origin feature/new-feature) - 创建 Pull Request
许可证
本项目采用 MIT 许可证。详见 LICENSE 文件。