billitech/sly
Composer 安装命令:
composer require billitech/sly
包简介
php template engine
README 文档
README
The sly template engine is a very powerful template engine for PHP, it is very fast both at compile and run time.
The template engine syntax by default is a bit similar to ASP.NET razor.
The sly component is independent from the Billi tech framework which means it can be used on any project.
Installing on separate project
The recommended way to install sly is via Composer:
composer require "billitech/sly:~0.1"
Basic Usage
//place at the top of your script use Billitech\Sly\Sly; use Billitech\Sly\FileLoader; $loader = new FileLoader(['/path/to/your/templates']); $sly = new Sly($loader, '/path/to/store/compiled_files'); echo $sly->render('index.sly', ['title' => 'Sly Template Ingine']);
Then Create a file with the name index.sly in the path you specify when creating the FileLoader instance and put the following code in it :
@( title )
When creating the FileLoader instance you can specify a array of paths where your templates are.
Disable caching
To disable caching do not specify compile path while creating sly instance, for example :
$sly = new Sly($loader);
Other configurations
$sly->setCharset('utf8'); // Set the character encoding of your templates. $sly->enableAutoEscape(); // Enable auto escape. $sly->disableAutoEscape(); // Disable auto escape. $sly->enableStrictVariables(); // Enable strict variable. $sly->disableStrictVariables(); // Disable strict variable.
Auto escape is on by default.
Syntax
The sly template engine uses th @ symbol to indicate start of a sly statement. @( is used to start a print statement and ) is used to close a print statement i.e @( abs(-1) ). while @ is used to start a control statement and ) is used to close a control statement i.e @if( true ).
Variable
Variable passes to the the template can be access within the the template by usin the name of the variable in an expression. for example : php file
$sly->render('users.sly', ['users' => ['foo', 'bar', 'barz'], 'title' => 'My Users']);
users.sly
<html> <head> <title>@( title )</title> </head> <body> <ul class="users"> @for( user in users ) <li>>@( user )</li> @end </ul> </body> </html>
Sly Expression
The sly template engine accept most valid php experessions with some few additional expressions.
Printing expression
By default the sly template use @( ) syntax to print an expression. for example @(1 + 1) will be printed as 2. everything within the curly bracket must be a valid php expression and by default the printed expression will be automatically escaped using php htmlspecialchars function if the expression returns a string or sting convertable value, or the value will be converted to JSON using php json_encode function.
Sly template unlike other pupuler template engines, u can use any php function within an expression
billitech/sly 适用场景与选型建议
billitech/sly 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 10 次下载、GitHub Stars 达 1, 最近一次更新时间为 2019 年 02 月 13 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 billitech/sly 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 billitech/sly 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 10
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 8
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-02-13