phalette / platte
Phalcon的Nette Latte模板适配器
0.2
2015-09-15 11:04 UTC
Requires
- php: >= 5.6.0
- ext-phalcon: ~2.0.0
- latte/latte: ~2.3.0
Requires (Dev)
- janmarek/mockista: dev-master
- nette/tester: ~1.5
- phalcon/devtools: ~2.0.0
This package is auto-updated.
Last update: 2024-09-08 06:47:14 UTC
README
结合了最好的模板引擎之一Latte和相当快速的框架Phalcon。
安装
$ composer require phalette/platte:dev-master
依赖项
- PHP >= 5.5.0
- Latte >= 2.3.0
- Phalcon >= 2.0.0
配置
将Platte注册为您的下一个模板引擎
。
use Phalette\Platte\Latte\LatteFactory; use Phalette\Platte\LatteTemplateAdapter; $di->set('view', function () { $view = new View(); $view->registerEngines([ ".latte" => function ($view, $di) { $factory = new LatteFactory(); $factory->setTempDir(__DIR__ . '/cache'); return new LatteTemplateAdapter($view, $di, $factory); }, ]); return $view; });
Phalcon的特性
您可以在模板中访问变量。
在极端情况下,您可以访问$_di。但我真的不推荐这样做。
宏
Nette的特性
您可以使用Latte的所有优秀特性。
Latte模板引擎
更多信息请参见官方文档。
您可以使用宏和过滤器。
宏
经典宏
<ul> {foreach $users as $user} <li>{$user->name}</li> {/foreach} </ul>
N宏
<ul n:foreach="$users as $user"> <li>{$user->name}</li> </ul>
过滤器
{var $time => time()} It's {$time|date:'d.m.Y'} at {$time|date:'H:i:s'}
Latte宏
更多信息请参见官方文档。
Latte过滤器
更多信息请参见官方文档。
您自己的特性
编写宏
- 定义宏
use Latte\Compiler; use Latte\Macros\MacroSet; use Phalette\Platte\Latte\MacroInstaller; final class MyUltraMacros extends MacroSet implements MacroInstaller { public static function install(Compiler $compiler) { $me = new static($compiler); $me->addMacro(...); } }
- 注册到
LatteFatory
$factory = new LatteFactory(); $factory->addMacro(new MyUltraMacros);
编写过滤器
- 定义过滤器
final class MyUltraFilters { public static function hi($name) { return "Hi $name"; } }
- 注册到
LatteFatory
$factory = new LatteFactory(); $factory->addFilter('sayhi', ['MyUltraFilters', 'hi']);