shapecode/twig-template-event-bundle 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

shapecode/twig-template-event-bundle

Composer 安装命令:

composer require shapecode/twig-template-event-bundle

包简介

Possibility to add code in a twig template dynamically

README 文档

README

paypal

PHP Version Latest Stable Version Latest Unstable Version Total Downloads Monthly Downloads Daily Downloads License

Give you the possibility to add code in a twig template dynamically.

Install instructions

First you need to add shapecode/twig-template-event-bundle to composer.json:

composer require shapecode/twig-template-event-bundle

... or ...

{
   "require": {
        "shapecode/twig-template-event-bundle": "~5.0"
    }
}

If you dont use Symfony Flex you have to add ShapecodeTwigTemplateEventBundle to your bundles.php:

<?php
// config/bundles.php

return [
    // ...
    Shapecode\Bundle\TwigTemplateEventBundle\ShapecodeTwigTemplateEventBundle::class => ['all' => true],
];

Now you can set events in twig templates:

{{ event('test') }}

And listen to them with an event listener:

services:
    # twig events
    Shapecode\Bundle\TwigTemplateEventBundle\EventListener\TestTwigEventListener: ~
<?php

namespace Shapecode\Bundle\TwigTemplateEventBundle\EventListener;

use Shapecode\Bundle\TwigTemplateEventBundle\Event\Code\TwigEventString;
use Shapecode\Bundle\TwigTemplateEventBundle\Event\Code\TwigEventInclude;
use Shapecode\Bundle\TwigTemplateEventBundle\Event\TwigTemplateEvent;
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;

#[AsEventListener]
class TestTwigEventListener
{
    public function __invoke(TwigTemplateEvent $event): void
    {
        if ($event->getEventName() == 'foo') {
        
            // to add a string
            $event->addCode(
                new TwigEventString(
                    'hello {{ world }}', 
                    [
                        'world' => 'World'
                    ],
                    10 // default is 0. The higher the number the later the code will be executed. The lower the number the earlier the code will be executed.
                )
            );
        }
        
        if ($event->getEventName() == 'bar') {
        
            // to include a twig template
            $event->addCode(
                new TwigEventInclude(
                    '@App/Layout/Header/_search.html.twig', 
                    [
                        'world' => 'World'
                    ],
                )
            );
        }
    }
}

shapecode/twig-template-event-bundle 适用场景与选型建议

shapecode/twig-template-event-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 10.67k 次下载、GitHub Stars 达 10, 最近一次更新时间为 2015 年 01 月 10 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「twig」 「event」 「template」 「bundle」 「dispatcher」 「injection」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 shapecode/twig-template-event-bundle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 shapecode/twig-template-event-bundle 我们能提供哪些服务?
定制开发 / 二次开发

基于 shapecode/twig-template-event-bundle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 10.67k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 10
  • 点击次数: 16
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 10
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-01-10