xervice/twig

3.0.0 2018-08-27 11:18 UTC

This package is auto-updated.

Last update: 2024-09-29 04:49:00 UTC


README

Xervice: Twig

Scrutinizer Code Quality Code Coverage

xervice 的 Twig 模板引擎实现。

安装

composer require xervice/twig

配置

为了定义 twig 路径,即搜索模板的位置,你可以共享一个 PathProvider

<?php

namespace App\Application\Communication\Plugin\Twig;

use Xervice\Twig\Business\Model\Loader\XerviceLoaderInterface;
use Xervice\Twig\Business\Dependency\Path\PathProviderInterface;

class PathLoader implements PathProviderInterface
{
    /**
     * @param \Xervice\Twig\Business\Loader\XerviceLoaderInterface $loader
     *
     * @throws \Twig_Error_Loader
     */
    public function privideTwigPaths(XerviceLoaderInterface $loader): void
    {
        $loader->addPath('path/to/my/twig-templates', 'Application');
    }
}

你可以在 TwigDependencyProvider 中注册你的 PathLoader

<?php

namespace App\Twig;

use App\Application\Communication\Plugin\Twig\PathLoader;
use Xervice\Twig\TwigDependencyProvider as XerviceTwigDependencyProvider;

class TwigDependencyProvider extends XerviceTwigDependencyProvider
{
    /**
     * @return \Xervice\Twig\Business\Dependency\Path\PathProviderInterface[]
     */
    protected function getPathProviderList(): array
    {
        return [
            new PathLoader()
        ];
    }
}

使用方法

你可以使用 TwigFacade 来渲染模板

$params = [];
$twigFacade->render('mytemplate.twig', $params);

你也可以将 TwigService 提供给你的 Kernel 栈,并在控制器中使用。该服务提供相同的注册方法。