shapecode/twig-template-event-bundle
Composer 安装命令:
composer require shapecode/twig-template-event-bundle
包简介
Possibility to add code in a twig template dynamically
README 文档
README
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 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 shapecode/twig-template-event-bundle 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Shoot aims to make providing data to your templates more manageable
This Symfony bundle integrates PhpSpreadsheet into Symfony using Twig.
A Twig extension to insert css as inline styles with a tag
Caching and compression for Twig assets (JavaScript and CSS).
Twig extensions for Tracy Debugger
Symfony bundle for broadway/broadway.
统计信息
- 总下载量: 10.67k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 10
- 点击次数: 16
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-01-10