webiik/view

视图提供了渲染模板的通用接口,无论您想使用哪种模板引擎。默认情况下,它支持Twig。

1.2 2020-06-08 16:45 UTC

This package is auto-updated.

Last update: 2024-09-09 02:27:13 UTC


README

视图

视图提供了渲染模板的通用接口,无论您想使用哪种模板引擎。默认情况下,它支持Twig模板引擎。

安装

composer require webiik/view

示例

$view = new \Webiik\View\View();

// Prepare Twig renderer factory
$renderer = function() {
    // Instantiate Twig template engine
    $loader = new Twig_Loader_Filesystem(__DIR__ . '/view');
    $environment = new Twig_Environment($loader, array(
        'cache' => __DIR__ . '/tmp/view'
    ));
    
    // Instantiate and return Twig renderer 
    return new \Webiik\View\Renderer\Twig($environment);
};

// Add renderer
$view->setRenderer($renderer);

// Render template
echo $view->render('test.twig', ['foo' => 'meow']);

配置

setRenderer

setRenderer(callable $factory):void

setRenderer() 添加一个渲染器 - 模板引擎的RendererInterface实现的工厂。

$view->setRenderer($renderer);

编写自定义渲染器

您可以编写自己的自定义渲染器。您需要做的只是实现 RendererInterface。查看 RendererInterface在Twig模板引擎上的实现,以获得更好的见解。

渲染

render

render(string $template, array $data = []): string

render() 将模板渲染为字符串。

参数

  • template 要渲染的模板名称
  • data 传递给模板的数据数组
echo $view->render('test.twig', ['foo' => 'meow']);

其他

getTemplateEngine

getTemplateEngine()

getTemplateEngine() 获取由渲染器使用的模板引擎的对象。

$view->getTemplateEngine(); // e.g. returns Twig_Environment

资源