xervice / twig
3.0.0
2018-08-27 11:18 UTC
Requires
- php: >=7.1.0
- symfony/finder: ^4.1.0
- twig/twig: ^2.4.8
- xervice/core: ^4.0.0
- xervice/data-provider: ^2.0.0
- xervice/kernel: ^2.0.0
Requires (Dev)
README
Xervice: Twig
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 栈,并在控制器中使用。该服务提供相同的注册方法。