I'm always excited to take on new projects and collaborate with innovative minds.

Phone

+20 115 052 9992

Website

https://ibrahimahmed.online/

Social Links

إزاي تعمل CLI Tools احترافية وتسهل حياتك مع Laravel Prompts

إزاي تعمل CLI Tools احترافية وتسهل حياتك مع Laravel Prompts أكيد مريت بالموقف ده: بتبني مشروع كبير، وبتحتاج تعمل سكريبتات أتمتة (Automation Scripts) عشان تريح ن

إزاي تعمل CLI Tools احترافية وتسهل حياتك مع Laravel Prompts
Reading Count: 3

إزاي تعمل CLI Tools احترافية وتسهل حياتك مع Laravel Prompts

أكيد مريت بالموقف ده: بتبني مشروع كبير، وبتحتاج تعمل سكريبتات أتمتة (Automation Scripts) عشان تريح نفسك من المهام المتكررة زي ترحيل البيانات (Data Migration)، أو إنشاء ملفات إعدادات، أو حتى تنظيف الكاش. بتفتح التيرمينال (Terminal)، بتكتب أمر طويل وعريض، أو بتضطر تستخدم (Input) بدائية جداً بتخلي التعامل مع السكريبت كابوس.

المشكلة إننا كمبرمجين بنهمل واجهة المستخدم للتطبيقات اللي بتشتغل في الـ (Command Line Interface)، مع إنها الواجهة اللي بنقضي فيها أغلب وقتنا! هنا بيجي دور Laravel Prompts، المكتبة اللي غيرت قواعد اللعبة وخلت بناء أدوات الـ (CLI) تجربة ممتعة وسهلة وشكلها يشرف.

يعني إيه Laravel Prompts وليه لازم تستخدمها؟

مكتبة Laravel Prompts هي إضافة قوية جداً بتخليك تبني واجهات تفاعلية داخل التيرمينال. بدال ما تعتمد على (arguments) صعبة الحفظ أو (input) عادي، تقدر تعمل (Searchable selects)، (Multi-select)، (Progress bars)، وحتى (Spinners) عشان توضح للمستخدم إن فيه حاجة بتحصل في الخلفية.

المميز فيها إنها بتشتغل مع أي مشروع (PHP) مش بس (Laravel)، وده بيديها مرونة رهيبة في أي (Backend) بتطوره.

إزاي تبدأ وتثبت Laravel Prompts

الموضوع بسيط جداً، كل اللي محتاجه هو إنك تشغل أمر الـ (Composer) في فولدر المشروع بتاعك:

composer require laravel/prompts

بمجرد التثبيت، تقدر تستدعي الوظائف اللي محتاجها مباشرة في أي ملف (PHP) أو (Command) خاص بـ (Laravel). خلونا نشوف مثال عملي سريع.

بناء أول سكريبت تفاعلي (Interactive CLI)

تخيل إنك عايز تعمل سكريبت بيطلب من المطور يختار البيئة اللي عايز يرفع عليها الكود، ويحدد نوع العملية. بدل ما تستخدم (Ask) التقليدية، ممكن نعمل حاجة زي كده:

use function Laravel\Prompts\select;
use function Laravel\Prompts\text;

$environment = select(
    label: 'اختار البيئة اللي عايز تشتغل عليها',
    options: ['staging', 'production', 'local']
);

$version = text(
    label: 'اكتب رقم الإصدار الجديد',
    placeholder: 'مثلاً: v1.0.1',
    required: true
);

هتلاقي التيرمينال فجأة قلب (UI) محترم، تقدر تتنقل فيه بالأسهم، وتختار اللي عايزه بكل سهولة. ده بيحول السكريبت العادي لأداة احترافية (Professional Tool) يقدر أي حد في الفريق يستخدمها من غير ما يغلط.

استخدام Spinner و Progress Bar لأتمتة المهام

من أكتر الحاجات اللي بتضايق المستخدم هي "السكوت" بتاع التيرمينال لما السكريبت بياخد وقت. عشان كده Laravel Prompts وفرت (Spinners):

use function Laravel\Prompts\spin;

spin(function () {
    // كود بيأخذ وقت طويل، زي استعلام قاعدة بيانات أو رفع ملف
    sleep(2);
}, 'جاري معالجة البيانات...');

ده بيخلي تجربة المستخدم (User Experience) في الـ (CLI) أحسن بكتير، وبيحسسه إن السكريبت "صاحي" وشغال، مش مهنج.

نصيحة من أخ لمبرمج زميل

يا صديقي، قوة المبرمج مش بس في الكود اللي بيكتبه، لكن في الأدوات اللي بيصممها عشان يسهل يومه ويوم زمايله. لما تستثمر وقتك في بناء (CLI Tools) احترافية، أنت مش بس بتعمل كود، أنت بتعمل (Developer Experience - DX) مريحة لكل اللي هيستخدم أدواتك.

ابدأ بمشروع صغير، حول سكريبت قديم بتستخدمه بانتظام وخليه تفاعلي باستخدام الـ (Prompts). هتتفاجئ بالفرق في الإنتاجية والاحترافية اللي هتحس بيها. ولو عندك أي استفسار، التوثيق (Documentation) الخاص بـ لارافيل غني جداً بالأمثلة، ومتخافش تجرب وتغلط!


Share

Related posts

Jun 12, 2026 • 1 min read
Reading Count: 2
إزاي تبني أدوات تيرمينال احترافية باستخدام Laravel Prompts

إزاي تبني أدوات تيرمينال احترافية باستخدام Laravel Prompts أكيد مريت بالموقف ده: بتبني سكريبت أتمتة...

Jun 12, 2026 • 1 min read
Reading Count: 9
أسرار رفع أداء Laravel Pulse: إزاي تراقب سيرفراتك تحت الضغط العالي من غير ما تستهلك الميموري؟

أسرار رفع أداء Laravel Pulse: إزاي تراقب سيرفراتك تحت الضغط العالي من غير ما تستهلك الميموري؟ أكيد م...

Jun 12, 2026 • 1 min read
Reading Count: 10
تطوير تطبيقات سطح المكتب (Desktop Apps) باستخدام PHP: هل ده حقيقة؟

تطوير تطبيقات سطح المكتب (Desktop Apps) باستخدام PHP: هل ده حقيقة؟ لو إنت مبرمج PHP وبتشتغل بـ Larav...