أدوات CLI بلغة PHP: إنشاء أدوات سطر الأوامر من الصفر

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

أدوات CLI بلغة PHP: لماذا لم تقم ببناء أداتك الخاصة لسطر الأوامر بعد؟

\n\n

تخيل: أنت جالس في الطرفية (Terminal)، تشغل أمراً واحداً — وبعد ثانية واحدة تحصل على تقرير جاهز، أو يتم تحويل جميع الصور، أو إعداد مشروع على خادم جديد. بدون متصفح، بدون فأرة، بدون حركات زائدة. يبدو كالسحر؟ لا، إنها مجرد أدوات CLI بلغة PHP.

\n\n

كثير من المطورين يعتبرون PHP مجرد "لغة ويب". لكن في الحقيقة، PHP أداة ممتازة لإنشاء تطبيقات سطر الأوامر. فهي تمتلك معالجة مدمجة لتيارات الإدخال والإخراج، ومعالجة سهلة للوسائط، وبالطبع مكتبات قوية مثل Symfony Console. في هذا المقال، سنشرح كيفية إنشاء سكريبت سطر أوامر بلغة PHP من الصفر — من مجرد echo بسيط إلى أداة متكاملة بالألوان وشريط التقدم.

\n\n

إذا كنت قد مللت من تكرار المهام يدوياً، وإذا كنت ترغب في أتمتة الروتين وتشعر وكأنك هاكر حقيقي — فأنت في المكان الصحيح. هيا بنا!

\n\n

ما هي أداة CLI وما فائدتها؟

\n\n

CLI (واجهة سطر الأوامر) — هي برنامج يعمل في سطر الأوامر. يستقبل الوسائط، وينفذ الإجراءات، ويعرض النتيجة. على عكس تطبيقات الويب، لا يوجد هنا HTML أو CSS أو JavaScript. فقط كود نقي وطرفية.

\n\n

لماذا كتابة أدوات CLI بلغة PHP؟ إليك بعض السيناريوهات:

\n\n
    \n
  • ترحيل البيانات — نقل المعلومات من CSV إلى قاعدة البيانات.
  • \n
  • إنشاء التقارير — جمع الإحصائيات وتوليد PDF أو Excel.
  • \n
  • أتمتة النشر — نشر المشروع على الخادم بأمر واحد.
  • \n
  • تحليل ومعالجة الملفات — تحويل، ضغط، إعادة تسمية.
  • \n
  • مهام CRON — عمليات دورية تُنفذ وفق جدول زمني.
  • \n
\n\n

والأهم — تطوير أدوات سطر الأوامر بلغة PHP لا يتطلب بنية تحتية معقدة. يكفي ملف واحد وبضعة أسطر من الكود.

\n\n

البداية: الحد الأدنى لسكريبت CLI بلغة PHP

\n\n

افتح الطرفية، وأنشئ ملفاً باسم hello.php واكتب:

\n\n
<?php\necho "مرحباً أيتها الطرفية!\\n";\n
\n\n

قم بتشغيله:

\n\n
php hello.php\n
\n\n

سترى:

\n\n
مرحباً أيتها الطرفية!
\n\n

أهنئك! لقد كتبت للتو أول أداة CLI بلغة PHP لك. لكن دعنا نجعلها مفيدة. سنضيف معالجة وسائط سطر الأوامر.

\n\n

التعامل مع الوسائط: $argv و $argc

\n\n

توفر PHP مصفوفتين عموميتين للتعامل مع الطرفية: $argv (قائمة الوسائط) و $argc (عدد الوسائط). الوسيط الأول (الفهرس 0) هو اسم السكريبت نفسه.

\n\n

مثال:

\n\n
<?php\nif ($argc < 2) {\n    echo "الاستخدام: php hello.php [الاسم]\\n";\n    exit(1);\n}\n\n$name = $argv[1];\necho "مرحباً، $name!\\n";\n
\n\n

التشغيل:

\n\n
php hello.php أحمد\n
\n\n

النتيجة:

\n\n
مرحباً، أحمد!
\n\n

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

\n\n

Symfony Console: أساس قوي لأدوات CLI بلغة PHP

\n\n

Symfony Console — هو المعيار الفعلي لإنشاء تطبيقات سطر الأوامر بلغة PHP. باستخدامها، يمكنك بسهولة إضافة:

\n\n
    \n
  • الوسائط المسماة والخيارات
  • \n
  • الإخراج الملون
  • \n
  • أشرطة التقدم
  • \n
  • التحقق من صحة الإدخال
  • \n
  • التحميل التلقائي للأوامر
  • \n
\n\n

التثبيت عبر Composer:

\n\n
composer require symfony/console\n
\n\n

الآن سننشئ أداة CLI بلغة PHP كاملة — مولد كلمات مرور.

\n\n

كتابة أمر لتوليد كلمات المرور

\n\n

هيكل المشروع

المدونات

توصيات الكتب