انتقل إلى المحتوى

CLI

إن ./vendor/bin/tailwindphp نسخة PHP من @tailwindcss/cli ولا يتطلب Node.js. يقبل خيارات الإنشاء نفسها باستثناء خرائط المصدر (--map)، لكنه يفحص المحتوى بطريقة مختلفة: راجع ما الذي يفحصه CLI. بعد composer require tailwindphp/tailwindphp، يُربط الملف التنفيذي بـvendor/bin/.

إذا كنت تحتاج فقط إلى CSS أثناء التشغيل من PHP، فاستخدم API بدلًا منه — فـCLI مخصص لسير عمل الإنشاء الذي يكتب ورقة أنماط على القرص.

البدء السريع

سطر الأوامر
# Build CSS from an input file
./vendor/bin/tailwindphp -i ./src/app.css -o ./dist/styles.css

# Watch for changes and rebuild
./vendor/bin/tailwindphp -i ./src/app.css -o ./dist/styles.css --watch

# Build minified for production
./vendor/bin/tailwindphp -i ./src/app.css -o ./dist/styles.css --minify

الخيارات

سطر الأوامر
tailwindphp [-i input.css] [-o output.css] [--watch] [options…]

حدّد قيمة الخيارات الطويلة باستخدام =: --input=./src/app.css و--output=./dist/styles.css و--cwd=/path/to/project. تُتجاهل حاليًا القيمة المفصولة بمسافة بعد خيار طويل (--input ./src/app.css) دون ظهور خطأ، ويعود الإنشاء إلى القيم الافتراضية (#13). تأخذ الخيارات القصيرة القيمة كوسيط تالٍ (-i ./src/app.css).

الخيار الوصف الافتراضي
-i, --input ملف إدخال CSS؛ يقرأه --input=- من stdin @import "tailwindcss"
-o, --output ملف الإخراج - (stdout)
-w, --watch مراقبة التغييرات وإعادة الإنشاء عند الحاجة —
-m, --minify تحسين المخرجات وتصغير حجمها —
--optimize موثق بأنه «يحسّن دون تصغير»؛ لكنه يصغّر حاليًا كما يفعل --minify (#9) —
--cwd دليل العمل الحالي .
-h, --help عرض معلومات الاستخدام —
-V, --version طباعة الإصدار —
-v, --verbose طباعة تتبّع المكدس عند فشل الإنشاء —

عندما تكون --output هي - (القيمة الافتراضية)، يُكتب CSS المترجم إلى stdout، كي تتمكن من تمريره إلى موضع آخر. وتُرسل رسائل التقدم (لافتة الإصدار وDone in …ms) إلى stderr.

على خلاف @tailwindcss/cli، لا يوجد خيار --map: لا ينشئ TailwindPHP خرائط مصدر.

ملف إدخال CSS

أنشئ app.css يتضمن استيراد Tailwind والسمة والتوجيهات:

CSS
@import "tailwindcss";

@theme {
    --color-brand: #3b82f6;
}

ما الذي يفحصه CLI

لا يتبع فحص المحتوى في CLI حاليًا @source بالطريقة التي يتبعها @tailwindcss/cli (#8). في الإصدار الحالي:

  • في غياب توجيه ملف @source ضمن ملف الإدخال CSS، يفحص CLI دليل العمل (--cwd) بشكل تكراري. ويشمل ذلك vendor/ وnode_modules/؛ ولا يُرجع إلى .gitignore.
  • عند وجود توجيه ملف @source واحد أو أكثر، يفحص CLI دليل ملف الإدخال بشكل تكراري. لا يُطبّق المسار أو النمط الشامل الوارد في التوجيه: إن وجود @source "../templates" بجوار src/app.css يجعل الفحص يشمل src/ لا templates/.
  • يُتجاوز التوجيه @source not "…"؛ فهو لا يستثني أي شيء.
  • تعمل التوجيهات @source inline("…") و@source not inline("…") كما هو موثق، لأن المترجم يتولى معالجتها بنفسه.

لا تُقرأ إلا الملفات ذات الامتدادات التالية: php وhtml وhtm وtwig وblade.php وvue وjsx وtsx وsvelte وastro وmdx. تُستخرج أسماء الأصناف من سمات class وclassName، كما في tw::extractCandidates()؛ لذا لا يُعثر على صنف لا يظهر إلا في سلسلة PHP أو JavaScript. أدرج هذه الأصناف قسرًا باستخدام @source inline("…").

إلى أن يُصلح ذلك، الإعداد الموثوق هو وضع ملف إدخال CSS في أعلى الدليل الذي تريد فحصه:

CSS
/* templates/app.css: scans templates/ recursively */
@import "tailwindcss";
@source "./";

راجع @source لصياغة التوجيه، بما فيها صيغ not وinline().

أمثلة

سطر الأوامر
# Build from an input file
tailwindphp -i ./src/app.css -o ./dist/styles.css

# Build minified for production
tailwindphp -i ./src/app.css -o ./dist/styles.css -m

# Watch mode with minification
tailwindphp -i ./src/app.css -o ./dist/styles.css -w -m

# Run against a different working directory
tailwindphp -i app.css -o dist/styles.css --cwd=/path/to/project

ينشئ CLI دليل المخرجات إن لم يكن موجودًا، ويخرج مع ظهور خطأ إذا كان ملف الإدخال مفقودًا أو تطابق مسارا الإدخال والإخراج. في وضع المراقبة، يفحص ملف الإدخال والملفات التي يجري مسحها كل 500 ms، ويعيد الإنشاء عند تغيير أحدها أو ظهور ملف جديد.

التثبيت العام

ثبّت tailwindphp على مستوى النظام لاستخدامه من أي مكان:

سطر الأوامر
composer global require tailwindphp/tailwindphp

# Now available globally
tailwindphp -i ./src/app.css -o ./dist/styles.css

راجع البدء لإعداد المشروع، وAPI لإنشاء CSS أثناء التشغيل من PHP.