amberovsky/zf2-twig

此包的最新版本(v1.1.3)没有可用的许可证信息。

Zend Framework 2 模块,提供 Twig 渲染策略和扩展,可以从模板中渲染操作或触发事件

v1.1.3 2015-04-15 22:14 UTC

This package is auto-updated.

Last update: 2024-09-05 23:37:59 UTC


README

ZfcTwig 是一个模块,它将 Twig 模板引擎与 Zend Framework 2 集成。

安装

  1. "amberovsky/zf2-twig": "dev-master" 添加到您的 composer.json 文件中,并运行 php composer.phar update
  2. ZfcTwig 添加到您的 config/application.config.php 文件中的 modules 键下。

配置

ZfcTwig 默认提供合理的默认设置,但通过 zfctwig 配置键提供可选配置。有关所有可用选项的详细信息,请参阅模块配置文件类。

文档

设置 Twig 扩展

可以通过将 FQCN 添加到 extensions 配置键中来在 Twig 中注册扩展,这与 ZfcTwig 扩展的注册方式相同。

// in module configuration or autoload override
return array(
    'zfctwig' => array(
        'extensions' => array(
            // an extension that uses no key
            'My\Custom\Extension',

            // an extension with a key so that you can remove it from another module
            'my_custom_extension' => 'My\Custom\Extension'
        )
    )
);

配置 Twig 加载器

默认情况下,ZfcTwig 使用 Twig_Loader_Chain,以便可以将加载器链接在一起。使用一个具有路径设置为 module/Application/view文件系统加载器 设置了一个方便的默认值,这对于大多数实例都应该可以正常工作。如果您希望将其他加载器添加到链中,可以通过将服务管理器别名添加到 loaders 配置键来注册它们。

// in module configuration or autoload override
return array(
    'zfctwig' => array(
        'loaders' => array(
            'MyTwigFilesystemLoader'
        )
    )
);

// in some module
public function getServiceConfiguration()
{
    return array(
        'factories' => array(
            'MyTwigFilesystemLoader' => function($sm) {
                return new \Twig_Loader_Filesystem('my/custom/twig/path');
            }
        )
    );
}

使用 ZF2 视图辅助函数

通过 ZfcTwig\Twig\FallbackFunction 函数支持使用 ZF2 视图辅助函数。

{# Simple view helper echo #}
{{ docType() }}

{# Echo with additional methods #}
{{ headTitle('My Company').setSeparator('-') }}

{# Using a view helper without an echo #}
{% do headTitle().setSeparator('-') %}

{# Combining view helpers #}
{% set url = ( url('my/custom/route') ) %}

示例

可以在 examples 文件夹中找到骨架应用的 .twig 文件示例。

注意事项

Zend Framework 2 并不支持通过视图辅助函数使用多个渲染器。作为解决方案,ZfcTwig 注册了其自己的 HelperPluginManager,它扩展了默认的 Zend\View\HelperPluginManager 并将其作为对等管理器添加。这允许 ZfcTwig 注册其自己的渲染器与需要它的视图辅助函数,并为不需要渲染器的视图辅助函数回退到默认管理器。

作为注意事项,您必须将需要渲染器的视图辅助函数注册到 ZfcTwig 中。可以在 config/module.config.php 中看到一个示例,其中将默认导航辅助函数的 HelperConfig 注册到 ZfcTwig。