TailwindPHP
TailwindPHP هو نقل مطابق بنسبة 1:1 لـ TailwindCSS 4.x إلى PHP. يحلل CSS، ويفحص الترميز بحثًا عن أسماء الفئات، وينشئ أدوات CSS المساعدة التي ينتجها TailwindCSS v4.3.3، بالكامل في PHP دون Node.js أو خطوات بناء.
- PHP خالص — يأتي كحزمة Composer ويعمل على PHP 8.2+ مع إضافتي
ctypeوmbstringالقياسيتين. دونexecأو FFI أو أدوات إنشاء أصلية. - تم التحقق منه بمقارنته بـTailwindCSS — تواكب الأدوات والمتغيرات والتوجيهات والدوال CSS إصدار TailwindCSS v4.3.3. يجري التحقق من المخرجات باستخدام مجموعات اختبارات Tailwind نفسها، المستخرجة من المصدر TypeScript، وإعادة تشغيلها عند كل دفعة (أكثر من 4,400 اختبار). تُسرد الاختلافات المعروفة (بعض تفاصيل التسلسل التي لا تؤثر في التتالي، إضافة إلى مسائل مفتوحة) في التوافق والترقية.
- مجموعة الميزات كاملة — مجموعة أدوات TailwindCSS v4.3.3 المساعدة كاملة (بما فيها
containerوأدوات أشرطة التمرير وzoom-*وtab-*)، وكل المتغيرات (التحويم والتركيز والاستجابة والوضع الداكن واستعلامات الحاويات والقيم التعسفية)، وواجهة التوجيهات كاملة:@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 أثناء التشغيل — أنشئ الأدوات 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. - ينفذ دوال Tailwind CSS —
theme()و--theme()و--spacing()و--alpha()— بالإضافة إلى التحويل منcolor-mix()إلىoklab()وتحويلات CSS التي يفوضها TailwindCSS إلى LightningCSS. - يحل
@importمن نظام الملفات مع الاستيرادات المتداخلة وإزالة التكرارات ومحللات مخصصة، أو من سلاسل CSS مضمنة. - يتضمن Preflight (إعادة الضبط الأساسية لـ Tailwind)، ودعم البادئات، والبدائل الاحتياطية لـ
@property، وإضافة بادئات المورّد، ورفع الإطارات المفتاحية. - يضم
cn()وmerge()وjoin()وvariants()/compose()لإنشاء أسماء الفئات وحل التعارضات ومتغيرات المكونات. - يتضمن إضافتي typography وforms، بالإضافة إلى 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للبناء المعتمد على الملفات ووضع المراقبة. - متقدم — البنية والتخزين المؤقت والأداء وملاحظات التوافق.