zfegg/symfony-twig-factory

在 Mezzio 中使用 symfony/twig-bridge。例如:asset, workflow

0.4.0 2022-03-24 18:07 UTC

This package is auto-updated.

Last update: 2024-09-25 11:23:48 UTC


README

GitHub Actions: Run tests Coverage Status Latest Stable Version

在 Expressive 中使用 symfony/twig-bridge 的部分扩展 (例如:asset, workflow)

在 Mezzio (Zend Expressive) 中使用部分的 symfony/twig-bridge 提供的 twig 扩展 (如: asset,workflow)

安装 / 安装

composer require zfegg/symfony-twig-factory

待实现 factories / 需要实现的 twig 扩展

  • asset
  • code
  • dump
  • expression
  • \Symfony\Bridge\Twig\Extension\FormExtension
  • \Symfony\Bridge\Twig\Extension\TranslationExtension
  • \Symfony\Bridge\Twig\Extension\WorkflowExtension
  • \Symfony\Bridge\Twig\Extension\YamlExtension

使用 / 使用

基于 expressive。

将所有 symfony twig 扩展添加到 Expressive。

您可以添加所有扩展配置或自定义添加您想要的。

您可以添加全部扩展配置,或者自定义添加您想要的。

  • Zfegg\SymfonyTwigFactory\ConfigProvider 加载所有 twig 扩展的配置。/ 加载全部 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 扩展使用 / asset 扩展使用

1. 添加 symfony/asset 库。/ 添加 symfony/asset 扩展

composer require symfony/asset

2. 在项目的 config.php 中添加配置。/ 在项目中添加配置

如果您只想使用 AssetExtension,请将AssetConfigProvider添加到 config.php 配置文件中。

如果您只想要 AssetExtension,就添加AssetConfigProviderconfig.php 配置文件中。

$aggregator = new ConfigAggregator([
  // Only load `AssetExtension` configs.
  Zfegg\SymfonyTwigFactory\AssetConfigProvider::class,
]);

3. 在项目中添加配置。/ 在项目中添加配置

示例文件 config/autoload/template.global.php

举例文件 config/autoload/template.global.php

return [
    // asset component configs.
    // asset 配置结构详见以下链接
    // @See: https://symfony.com.cn/doc/current/reference/configuration/framework.html#assets
    'assets' => [
        'base_path' => '/'
        //Keys:
        // - base_path
        // - base_urls
        // - packages
        // - version
        // - version_format
        // - version_strategy
        // - json_manifest_path
    ],
];

Form 扩展使用 / form 扩展使用

1. 添加 symfony/form 库。/ 添加 symfony/form 扩展

composer require symfony/form

2. 在项目的 config.php 中添加配置。/ 在项目中添加配置

如果您只想使用 FormExtension,请将FormConfigProvider添加到 config.php 配置文件中。

如果您只想要 FormExtension,就添加FormConfigProviderconfig.php 配置文件中。

$aggregator = new ConfigAggregator([
  // Only load `FormExtension` configs.
  Zfegg\SymfonyTwigFactory\FormConfigProvider::class,
]);

3. 在项目中添加更多表单配置。/ 在项目中表单的配置

示例文件 config/autoload/template.global.php

举例文件 config/autoload/template.global.php

return [
    // form themes configs. / 表单主题(form_themes)配置结构详见以下链接
    // @See: https://symfony.com.cn/doc/current/form/form_themes.html

    // Add form themes.
    // 'twig' => [ 
    //     'form_themes' => [
    //         'form/layout.html.twig'
    //     ],
    // ],
];

运行示例。/ 运行示例

example/index.php