habanero / tailor
此包已被弃用且不再维护。未建议替代包。
关于此包最新版本(v0.1.1)的许可证信息不可用。
PHP的多模板处理
v0.1.1
2015-07-18 19:48 UTC
Requires
- php: >=5.3
- coffeescript/coffeescript: v1.3.1
- kylekatarnls/jade-php: ^1.3
- leafo/lessphp: v0.3.9
- leafo/scssphp: v0.0.5
- michelf/php-markdown: ^1.5
- mthaml/mthaml: v1.2.2
- twig/twig: v1.12.3
Requires (Dev)
- habanero/spectre: v0.2.4
This package is auto-updated.
Last update: 2020-01-29 20:55:46 UTC
README
提供通用模板渲染接口。
它自带对Twig、CoffeeScript、Jade、HAML、SCSS、LESS和Markdown的支持。使用Composer标准编写,PSR友好。
使用Composer
只需在composer.json文件中声明即可。
{
"require": {
"habanero/tailor": "dev-master"
}
}
然后执行Composer以下载和设置最新版本。
$ php composer.phar install
您可以使用Tailor与其他composer脚本一起使用。
<?php
require 'vendor/autoload.php';
# configure before
\Tailor\Config::set('cache_dir', '/tmp');
\Tailor\Config::set('views_dir', __DIR__);
# go ahead!
\Tailor\Base::initialize();
# raw rendering
$tpl = '%a{ :href => "#" } Link';
$out = \Tailor\Base::parse('haml', $tpl);
echo $out; // <a href="#">Link</a>
# using as helper
function partial($path, array $vars = array()) {
$tpl = \Tailor\Base::partial($path);
$out = \Tailor\Base::render($tpl, $vars);
return $out;
}
# full-view rendering
$out = partial('index.php', array('name' => 'Joe'));
echo $out; // Hello Joe!
如果您想使用HAML与上面的代码一起使用,您必须在指定的./views
目录中有一个名为index.php.haml
的文件。
= "Hello $name!"
模板评估顺序是从右到左的,如果文件名包含一个扩展名或扩展名不在任何注册的引擎中,则将停止。
index.php.haml => haml-engine … continue
index.php => php-engine … stop!
由于Tailor的partial()方法只会编译以保留从其第一个扩展名开始的原生性质,因此使用render()方法最终渲染模板是主要原因。
只需fork我!
当然,您欢迎fork并发送pull-request来添加更多引擎、修复或增强功能。;-)