amberovsky / zf2-twig
Zend Framework 2 模块,提供 Twig 渲染策略和扩展,可以从模板中渲染操作或触发事件
Requires
- php: >=5.3.3
- twig/twig: ~1.13
Requires (Dev)
README
ZfcTwig 是一个模块,它将 Twig 模板引擎与 Zend Framework 2 集成。
安装
- 将
"amberovsky/zf2-twig": "dev-master"
添加到您的composer.json
文件中,并运行php composer.phar update
。 - 将
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。