Rumah > pembangunan bahagian belakang > tutorial php > Membina penapis ranting tersuai dengan cara TDD

Membina penapis ranting tersuai dengan cara TDD

尊渡假赌尊渡假赌尊渡假赌
Lepaskan: 2025-02-17 12:44:11
asal
1018 orang telah melayarinya

penapis ranting: Meningkatkan templat simfoni dengan penukaran tersuai

Artikel ini meneroka penapis Twig, alat yang berkuasa untuk transformasi data dalam templat simfoni. Kami akan meliputi penciptaan penapis tersuai menggunakan pembangunan yang didorong oleh ujian (TDD) dengan PHPUnit, mengintegrasikannya ke dalam aplikasi Symfony anda, dan menangani soalan-soalan biasa.

Kelebihan utama penapis ranting:

  • Kod Bersih: Penapis mengekalkan pemisahan yang jelas mengenai kebimbangan dalam seni bina MVC anda, menyimpan manipulasi data dalam lapisan paparan dan pengawal yang difokuskan pada logik.
  • kebolehgunaan semula: Penapis tunggal boleh digunakan di pelbagai templat dan sumber data, mempromosikan kecekapan kod.
  • kebolehbacaan: Penapis membuat templat lebih ringkas dan mudah difahami, meningkatkan penyelenggaraan.

Membina penapis tersuai dengan TDD:

Mari buat penapis untuk memformat tarikh penerbitan/kali lebih dibaca (mis., "Sekarang," "beberapa jam yang lalu"). Kami akan mengikuti pendekatan TDD:

  1. Tetapkan jangkaan (ujian): Tentukan kes ujian menggunakan PHPUNIT, menggariskan output yang diharapkan untuk pelbagai perbezaan masa. Contoh ini menggambarkan ini: 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) ...
}
Salin selepas log masuk
  1. Melaksanakan penapis: Buat fail , yang mengandungi fungsi AppExtension.php untuk memenuhi jangkaan ujian: 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) ...
    }
}
Salin selepas log masuk
  1. Run Tests: Jalankan phpUnit () untuk mengesahkan fungsi penapis. Semua ujian harus lulus selepas melaksanakan . phpunit -c app/ tssFilter

  2. Integrasi Symfony:

    Daftar penapis sebagai perkhidmatan di anda: services.yml

services:
    app.twig_extension:
        class: AppBundle\Twig\AppExtension
        tags:
            - { name: twig.extension }
Salin selepas log masuk
    Penggunaan templat:
  1. Sekarang anda boleh menggunakan penapis dalam templat ranting anda:
{{ post.author|capitalize }} posted "{{ post.title|capitalize }}" (posted {{ post.creation|tss }})
Salin selepas log masuk
Imej:

Building a Custom Twig Filter the TDD Way Soalan -soalan yang sering ditanya:

Seksyen FAQ input asal memberikan jawapan yang komprehensif mengenai pelbagai aspek penapis Twig Custom, termasuk kepentingan mereka dalam simfoni, proses penciptaan, metodologi ujian, teknik debugging, dan pengoptimuman prestasi. Titik-titik ini dilindungi dengan baik dan tidak memerlukan penjelasan lanjut di sini.

Atas ialah kandungan terperinci Membina penapis ranting tersuai dengan cara TDD. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan