Към съдържанието

Разширено

TailwindPHP е 1:1 порт на TailwindCSS 4.x към чист PHP. Водещият принцип е вярност: кодовата база следва оригиналния проект TypeScript файл по файл — със същите имена на файловете и същата организация — така че всяко поведение в TailwindCSS да има очевидно съответствие в PHP и промените в upstream проекта да могат да се проследяват без догадки.

Всичко, което не е част от порта на TailwindCSS, се намира на едно ясно обозначено място: src/_tailwindphp/. Тази директория съдържа помощните средства, специфични за PHP — повторна реализация на трансформациите Rust lightningcss (LightningCss.php), минификатора CSS (CssMinifier.php) и пренесените съпътстващи библиотеки (lib/: clsx, tailwind-merge, CVA) в пространството от имена TailwindPHP\Lib\*. Всеки друг файл в src/ съответства на файл в TailwindCSS.

Коректността се проверява спрямо собствения набор от тестове на Tailwind. Тестовите случаи се извличат директно от файловете .test.ts на TailwindCSS и се изпълняват спрямо изхода на PHP, така че всяко отклонение от оригиналното поведение се открива веднага. Резултатът е 4,427 преминали теста (издание 1.7.0, спрямо TailwindCSS v4.3.3), които обхващат помощните класове, вариантите, директивите, добавките, CLI и съпътстващите библиотеки.

Страници

  • Архитектура — конвейерът за компилиране (анализ → сканиране → компилиране → оптимизиране → минификация), подредбата на изходния код, еквивалентът на lightningcss и конвенцията за маркерите @port-deviation.
  • Кеширане и минификация — файловият кеш на изхода (cache, cacheTtl, clearCache()), кешът на състоянието на компилатора (stateCacheFile) и работата на минификатора CSS.
  • Производителност и тестване — оптимизациите, специфични за PHP, проверката на съответствието с TailwindCSS и проверката за качество на кода.
  • Съвместимост и надграждане — изискванията, следваната версия на TailwindCSS, известните разлики спрямо TailwindCSS и бележките за надграждане за всяко издание.