Symfony twig bridge factories
, (*1)
Using symfony/twig-bridge
in Expressive. (e.g.: asset,workflow), (*2)
在 Mezzio (Zend Expressive) 中使用部分的 symfony/twig-bridge
提供的 twig 扩展 (如: asset
,workflow
), (*3)
Installation / 安装
composer require zfegg/symfony-twig-factory
TODO factories / 需实现的twig扩展
- [x]
asset
- [ ]
code
- [ ]
dump
- [x]
expression
- [x]
\Symfony\Bridge\Twig\Extension\FormExtension
- [x]
\Symfony\Bridge\Twig\Extension\TranslationExtension
- [x]
\Symfony\Bridge\Twig\Extension\WorkflowExtension
- [x]
\Symfony\Bridge\Twig\Extension\YamlExtension
Usage / 使用
Based on expressive., (*4)
Add all symfony twig extension in Expressive.
You can add all extension configs or customize add you want., (*5)
你可以添加全部扩展配置,或者自定义添加您想要的。, (*6)
-
Zfegg\SymfonyTwigFactory\ConfigProvider
Load all the configs of twig extensions. / 加载全部 twig 扩展配置.
-
Zfegg\SymfonyTwigFactory\AssetConfigProvider
Symfony\Bridge\Twig\Extension\AssetExtension
-
Zfegg\SymfonyTwigFactory\BaseConfigProvider
Symfony\Bridge\Twig\Extension\ExpressionExtension
Symfony\Bridge\Twig\Extension\YamlExtension
-
Zfegg\SymfonyTwigFactory\FormConfigProvider
Symfony\Bridge\Twig\Extension\FormExtension
-
Zfegg\SymfonyTwigFactory\TranslationConfigProvider
Symfony\Bridge\Twig\Extension\TranslationExtension
-
Zfegg\SymfonyTwigFactory\WorkflowConfigProvider
Symfony\Bridge\Twig\Extension\WorkflowExtension
Asset extension usage / asset 扩展使用
1. Add symfony/asset
library. / 添加 symfony/asset
扩展
composer require symfony/asset
2. Add config provider in project config.php
. / 在项目中添加配置
Add AssetConfigProvider
to config.php
file, if you just want to use AssetExtension
., (*7)
如果你只想要 AssetExtension
, 就添加AssetConfigProvider
到 config.php
配置文件中., (*8)
$aggregator = new ConfigAggregator([
// Only load `AssetExtension` configs.
Zfegg\SymfonyTwigFactory\AssetConfigProvider::class,
]);
3. Add config in project. / 在项目中添加配置
Example file config/autoload/template.global.php
., (*9)
举例文件 config/autoload/template.global.php
., (*10)
return [
// asset component configs.
// asset 配置结构详见以下链接
// @See: http://symfony.com/doc/current/reference/configuration/framework.html#assets
'assets' => [
'base_path' => '/'
//Keys:
// - base_path
// - base_urls
// - packages
// - version
// - version_format
// - version_strategy
// - json_manifest_path
],
];
composer require symfony/form
2. Add config provider in project config.php
. / 在项目中添加配置
Add FormConfigProvider
to config.php
file, if you just want to use FormExtension
., (*11)
如果你只想要 FormExtension
, 就添加FormConfigProvider
到 config.php
配置文件中., (*12)
$aggregator = new ConfigAggregator([
// Only load `FormExtension` configs.
Zfegg\SymfonyTwigFactory\FormConfigProvider::class,
]);
Example file config/autoload/template.global.php
., (*13)
举例文件 config/autoload/template.global.php
., (*14)
return [
// form themes configs. / 表单主题(form_themes)配置结构详见以下链接
// @See: https://symfony.com/doc/current/form/form_themes.html
// Add form themes.
// 'twig' => [
// 'form_themes' => [
// 'form/layout.html.twig'
// ],
// ],
];
Run the examples. / 运行示例
example/index.php, (*15)