phalette/platte

Phalcon的Nette Latte模板适配器

支持包维护!
f3l1x

0.2 2015-09-15 11:04 UTC

This package is auto-updated.

Last update: 2024-09-08 06:47:14 UTC


README

Phalconist Build Status Code coverage Downloads this Month Latest stable HHVM Status

结合了最好的模板引擎之一Latte和相当快速的框架Phalcon。

安装

$ composer require phalette/platte:dev-master

依赖项

配置

将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过滤器

更多信息请参见官方文档

您自己的特性

编写宏

  1. 定义宏
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(...);
    }
}
  1. 注册到LatteFatory
$factory = new LatteFactory();
$factory->addMacro(new MyUltraMacros);

编写过滤器

  1. 定义过滤器
final class MyUltraFilters
{
    public static function hi($name) 
    {
        return "Hi $name";
    }
}
  1. 注册到LatteFatory
$factory = new LatteFactory();
$factory->addFilter('sayhi', ['MyUltraFilters', 'hi']);