TailwindPHP
Το TailwindPHP είναι υλοποίηση 1:1 του TailwindCSS 4.x σε PHP. Αναλύει το CSS σας, σαρώνει τη σήμανση για ονόματα κλάσεων και δημιουργεί το utility CSS που παράγει το TailwindCSS v4.3.3 — εξ ολοκλήρου σε PHP, χωρίς Node.js και χωρίς βήμα δημιουργίας.
- Καθαρό PHP — διατίθεται ως πακέτο Composer και εκτελείται σε PHP 8.2+ με τις τυπικές επεκτάσεις
ctypeκαιmbstring. Χωρίςexec, FFI ή εγγενή εργαλεία δημιουργίας. - Ελεγμένο έναντι του TailwindCSS — utilities, παραλλαγές, οδηγίες και συναρτήσεις CSS ακολουθούν το TailwindCSS v4.3.3. Η έξοδος επαληθεύεται με τις ίδιες τις σουίτες δοκιμών του Tailwind, που εξάγονται από τον πηγαίο κώδικα TypeScript και εκτελούνται ξανά σε κάθε push (πάνω από 4,400 δοκιμές). Οι γνωστές διαφορές (ορισμένες λεπτομέρειες σειριοποίησης χωρίς επίδραση στην αλληλουχία καταρράκτη, καθώς και ανοικτά ζητήματα) αναφέρονται στην ενότητα Συμβατότητα και αναβάθμιση.
- Πλήρες σύνολο δυνατοτήτων — το πλήρες σύνολο utilities TailwindCSS v4.3.3 (συμπεριλαμβανομένων των
container, των utilities γραμμών κύλισης, τουzoom-*και τουtab-*), όλες οι παραλλαγές (hover, focus, προσαρμοστική διάταξη, σκοτεινή λειτουργία, ερωτήματα κοντέινερ, αυθαίρετες τιμές) και όλες οι οδηγίες:@import,@theme,@apply,@utility,@variant,@custom-variant,@layer,@pluginκαι@source. - Όλα έτοιμα — τα
cn(),merge(),join()καιvariants()περιλαμβάνουν υλοποιήσεις PHP των clsx, tailwind-merge και CVA, ώστε οι συνοδευτικές βιβλιοθήκες που χρειάζεται κάθε έργο Tailwind να είναι ήδη διαθέσιμες. - Πρόσθετα — τα
@tailwindcss/typographyκαι@tailwindcss/formsέχουν υλοποιηθεί πλήρως και ένα PHP πρόσθετο API σάς επιτρέπει να γράψετε τα δικά σας.
Γιατί υπάρχει το TailwindPHP
Το TailwindCSS είναι γραμμένο σε TypeScript και εκτελείται στο Node.js. Αυτό αποτελεί απαραίτητη προϋπόθεση για κάθε έργο PHP που θέλει Tailwind: δεύτερο περιβάλλον εκτέλεσης, εγκατάσταση npm και βήμα δημιουργίας στο CI και το Docker. Για πολλές εφαρμογές PHP, αυτή είναι επιβάρυνση που θα προτιμούσαν να αποφύγουν.
Το TailwindPHP καταργεί αυτή την ανάγκη. Ο κώδικας PHP σας μεταγλωττίζεται απευθείας σε Tailwind CSS, χρησιμοποιώντας μόνο την τυπική βιβλιοθήκη. Έτσι γίνονται εφικτά πράγματα που είναι δύσκολα ή αδύνατα με την αλυσίδα εργαλείων JavaScript:
- Πλαίσια WordPress και PHP — διαθέστε θέματα και πρόσθετα με βάση το Tailwind χωρίς να ζητάτε από τους χρήστες να εγκαταστήσουν Node.js ή να εκτελέσουν διαδικασία δημιουργίας. Αρκεί να
composer requireκαι είστε έτοιμοι. Δείτε το TailwindWP, ένα παράδειγμα πρόσθετου WordPress που δημιουργεί CSS του επεξεργαστή μπλοκ με το TailwindPHP. - CSS κατά την εκτέλεση — δημιουργήστε utilities CSS δυναμικά από είσοδο χρήστη, περιεχόμενο βάσης δεδομένων ή μεταβλητές προτύπων, αντί κατά τη δημιουργία.
- Απλούστερη διάθεση — χωρίς Node.js στην παραγωγή, βήμα δημιουργίας στο CI ή npm στην εικόνα Docker σας.
Είναι η ίδια ιδέα που έφερε το scssphp στο SCSS — ολόκληρος ο μεταγλωττιστής, σε PHP.
Τι κάνει
- Μεταγλωττίζει το σύνολο βοηθητικών κλάσεων TailwindCSS v4.3.3, τις παραλλαγές και τις αυθαίρετες τιμές από τα ονόματα κλάσεων που εντοπίζει στο περιεχόμενό σας.
- Επιλύει όλες τις οδηγίες:
@import(συμπεριλαμβανομένων εικονικών μονάδων όπωςtailwindcssκαιtailwindcss/utilities, καθώς και εισαγωγώνreference),@theme,@apply,@utility,@variant,@custom-variant,@layer,@pluginκαι@source. - Υλοποιεί τις συναρτήσεις CSS του Tailwind —
theme(),--theme(),--spacing()και--alpha()— καθώς και τη μετατροπήcolor-mix()→oklab()και τους μετασχηματισμούς CSS που αναθέτει στο LightningCSS το TailwindCSS. - Επιλύει το
@importαπό το σύστημα αρχείων με ένθετες εισαγωγές, αποδιπλοποίηση και προσαρμοσμένους επιλυτές ή από ενσωματωμένες συμβολοσειρές CSS. - Περιλαμβάνει το Preflight (τη βασική επαναφορά του Tailwind), υποστήριξη προθεμάτων, εναλλακτικές τιμές
@property, προσθήκη προθεμάτων προμηθευτών και ανύψωση keyframe. - Περιλαμβάνει τα
cn(),merge(),join()καιvariants()/compose()για τη δημιουργία ονομάτων κλάσεων, την επίλυση συγκρούσεων και τις παραλλαγές στοιχείων. - Περιλαμβάνει τα πρόσθετα τυπογραφίας και φορμών, καθώς και ένα πρόσθετο API (
addUtilities,matchUtilities,addComponents,addVariant,theme, …) για προσαρμοσμένα πρόσθετα. - Παρέχει ένα CLI (
bin/tailwindphp) με τις επιλογές μεταγλώττισης@tailwindcss/cli, καθώς και προσωρινή αποθήκευση εξόδου βάσει αρχείων, μόνιμη προσωρινή αποθήκευση κατάστασης μεταγλωττιστή και έναν ελαχιστοποιητή CSS για την παραγωγή.
Τι δεν είναι
Το TailwindPHP είναι μεταγλωττιστής CSS, όχι εργαλείο επεξεργασίας. Σκόπιμα παραλείπει τα στοιχεία του οικοσυστήματος Tailwind που απευθύνονται σε IDE — IntelliSense, αυτόματη συμπλήρωση, ταξινόμηση κλάσεων και χάρτες πηγαίου κώδικα — επειδή αυτά είναι λειτουργίες του επεξεργαστή και όχι μέρος της δημιουργίας CSS. Ό,τι παράγει CSS περιλαμβάνεται στο πεδίο εφαρμογής· ό,τι υποστηρίζει τον επεξεργαστή σας όχι.
Από πού να ξεκινήσετε
- Ξεκινώντας — εγκαταστήστε το πακέτο και δημιουργήστε το πρώτο σας φύλλο στυλ.
- Χρήση — σαρώστε περιεχόμενο, προσαρμόστε το θέμα και χρησιμοποιήστε τις οδηγίες του Tailwind.
- Βοηθητικές κλάσεις —
cn(),merge(),join()καιvariants(). - Πρόσθετα — τυπογραφία, φόρμες και δημιουργία δικών σας πρόσθετων.
- API — όλες οι οδηγίες
twκαι η παρουσίαTailwindCompiler. - CLI —
bin/tailwindphpγια μεταγλωττίσεις βάσει αρχείων και λειτουργία παρακολούθησης. - Για προχωρημένους — αρχιτεκτονική, προσωρινή αποθήκευση, επιδόσεις και σημειώσεις συμβατότητας.