ocubom / twig-html-extension
一组用于HTML操作的Twig过滤器
v2.1.0
2023-12-06 10:48 UTC
Requires
- php: >=7.4
- twig/twig: ^2.7|^3.0
- wyrihaximus/html-compress: ^4.0
Requires (Dev)
- friendsofphp/php-cs-fixer: *
- symfony/phpunit-bridge: ^4.4.9|^5.0.9|^6.0|^7.0
README
Ocubom Twig HTML 扩展
一组用于HTML操作的Twig过滤器
关于TwigHtmlExtension
TwigHtmlExtension 是一组用于HTML操作的 Twig过滤器。
这个套件最初是基于 nochso/html-compress-twig 的内部类,用于允许使用 wyrihaximus/html-compress 与Twig 3.0。这个类曾经嵌入到几个项目中。随着时间的推移,每个项目都对其版本做了轻微的调整,导致开发碎片化和维护困难。因此,开发被统一在这个扩展中,以便在它对其他项目有用时公开。
入门
安装
只需使用 composer 添加依赖项
composer require ocubom/twig-html-extension
或者手动添加依赖项
-
使用以下行更新
composer.json
文件{ "require": { "ocubom/twig-html-extension": "^1.0.0" } }
-
然后更新依赖项
composer update "ocubom/twig-html-extension"
使用
只需注册Twig扩展
$twig = new \Twig\Environment(); $twig->addExtension(new \Ocubom\Twig\Extension\HtmlExtension()); $thig->addRuntimeLoader(use Twig\RuntimeLoader\FactoryRuntimeLoader([ \Ocubom\Twig\Extension\HtmlAttributesRuntime::class => function() { return new \Ocubom\Twig\Extension\HtmlAttributesRuntime(); }, \Ocubom\Twig\Extension\HtmlCompressRuntime::class => function() { return new \Ocubom\Twig\Extension\HtmlCompressRuntime(); }, ])); // You can also dynamically create a RuntimeLoader $twig->addRuntimeLoader(new class() implements RuntimeLoaderInterface { public function load($class) { if (\Ocubom\Twig\Extension\HtmlAttributesRuntime::class === $class) { return new \Ocubom\Twig\Extension\HtmlAttributesRuntime(); } if (\Ocubom\Twig\Extension\HtmlCompressRuntime::class === $class) { return new \Ocubom\Twig\Extension\HtmlCompressRuntime(); } return null; } });
有关更多示例,请参阅文档。
路线图
有关建议功能(和已知问题的完整列表)的详细信息,请参阅开放问题。
贡献
贡献使得开源社区成为一个如此美妙的学习、灵感和创造的地方。您做出的任何贡献都将被 高度重视。
如果您有改进此项目的建议,请 fork 存储库并创建一个拉取请求。您也可以简单地通过标签 "enhancement" 打开一个问题。
- 分支项目。
- 创建您的功能分支(
git checkout -b feature/your-feature
)。 - 提交您的更改(
git commit -m 'Add your-feature'
)。 - 将分支推送到远程仓库(
git push origin feature/your-feature
)。 - 打开一个拉取请求。
作者
- Oscar Cubo Medina — https://ocubom.github.io
请参阅参与此项目的贡献者列表。
许可协议
在MIT许可下分发。有关更多信息,请参阅LICENSE。