>本文探讨了树枝过滤器,Symfony模板内的数据转换的强大工具。 我们将使用PHPUNIT使用测试驱动的开发(TDD)来介绍创建自定义过滤器,将其集成到您的Symfony应用程序中,并解决常见问题。
>>让我们创建一个过滤器,以更易于理解的是/times的格式化日期(例如,“刚才”,“几个小时前”)。我们将遵循TDD方法:
设置期望(测试):
timeUtilTest.php
><?php namespace AppBundle\Tests\Twig; use AppBundle\Twig\AppExtension; class timeUtilTest extends \PHPUnit_Framework_TestCase { // ... (test methods and data provider as shown in the original input) ... }
AppExtension.php
tssFilter
<?php namespace AppBundle\Twig; class AppExtension extends \Twig_Extension { // ... (getFilters and getName methods as shown in the original input) ... public function tssFilter(\DateTime $timestamp) { // ... (tssFilter implementation as shown in the original input) ... } }
> symfony Integration:phpunit -c app/
将过滤器注册为您的tssFilter
>中的服务:
>services.yml
>模板用法:
services: app.twig_extension: class: AppBundle\Twig\AppExtension tags: - { name: twig.extension }
{{ post.author|capitalize }} posted "{{ post.title|capitalize }}" (posted {{ post.creation|tss }})
>常见问题:
>原始输入的FAQ部分提供了有关自定义树枝过滤器各个方面的全面答案,包括它们在Symfony,创建过程,测试方法,调试技术和性能优化中的重要性。 这些要点覆盖了,在这里不需要进一步阐述。>
以上是构建定制的树枝过滤器TDD方式的详细内容。更多信息请关注PHP中文网其他相关文章!