PHP में CLI यूटिलिटीज़: शुरुआत से कंसोल टूल बनाएं

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PHP में CLI यूटिलिटीज़: आपने अभी तक अपना कंसोल टूल क्यों नहीं बनाया?

\n\n

सोचिए: आप टर्मिनल में बैठे हैं, एक कमांड चलाते हैं — और एक सेकंड में आपकी रिपोर्ट तैयार है, सारी तस्वीरें कन्वर्ट हो गई हैं, या नए सर्वर पर प्रोजेक्ट सेटअप हो गया है। बिना ब्राउज़र, बिना माउस, बिना किसी अतिरिक्त झंझट के। यह जादू लगता है? नहीं, यह सिर्फ PHP में CLI यूटिलिटीज़ हैं।

\n\n

कई डेवलपर्स PHP को सिर्फ "वेब लैंग्वेज" मानते हैं। लेकिन असल में, PHP कंसोल एप्लीकेशन बनाने के लिए भी बहुत अच्छा है। इसमें इनपुट-आउटपुट स्ट्रीम के साथ काम करने की बिल्ट-इन सुविधा है, आर्गुमेंट्स को आसानी से हैंडल कर सकते हैं, और निश्चित रूप से Symfony Console जैसी शक्तिशाली लाइब्रेरीज़ भी हैं। इस आर्टिकल में, हम सीखेंगे कि PHP में कंसोल स्क्रिप्ट कैसे बनाई जाती है — एक साधारण echo से लेकर कलर्स और प्रोग्रेस-बार वाले पूर्ण टूल तक।

\n\n

अगर आप मैन्युअल रूप से एक जैसे काम करते-करते थक गए हैं, अगर आप अपने रूटीन को ऑटोमेट करना चाहते हैं और एक असली हैकर जैसा महसूस करना चाहते हैं — तो आप सही जगह पर हैं। चलिए शुरू करते हैं!

\n\n

CLI यूटिलिटी क्या है और इसकी ज़रूरत क्यों है?

\n\n

CLI (कमांड लाइन इंटरफ़ेस) एक प्रोग्राम है जो कमांड लाइन पर काम करता है। यह आर्गुमेंट्स लेता है, कार्य करता है और परिणाम दिखाता है। वेब एप्लीकेशन के विपरीत, इसमें कोई HTML, CSS या JavaScript नहीं होता। सिर्फ साफ कोड और टर्मिनल।

\n\n

PHP में CLI यूटिलिटीज़ क्यों लिखें? यहाँ कुछ परिदृश्य हैं:

\n\n
    \n
  • डेटा माइग्रेशन — CSV से डेटाबेस में डेटा ट्रांसफर करना।
  • \n
  • रिपोर्ट जनरेशन — स्टैटिस्टिक्स इकट्ठा करके PDF या Excel बनाना।
  • \n
  • डिप्लॉयमेंट ऑटोमेशन — एक कमांड से सर्वर पर प्रोजेक्ट डिप्लॉय करना।
  • \n
  • फ़ाइल पार्सिंग और प्रोसेसिंग — कन्वर्ट करना, कंप्रेस करना, रीनेम करना।
  • \n
  • CRON जॉब्स — नियमित अंतराल पर चलने वाले ऑपरेशन।
  • \n
\n\n

और सबसे अच्छी बात — PHP में कंसोल टूल डेवलपमेंट के लिए किसी जटिल इंफ्रास्ट्रक्चर की ज़रूरत नहीं है। बस एक फ़ाइल और कोड की कुछ लाइनें काफी हैं।

\n\n

शुरुआत: PHP में न्यूनतम CLI स्क्रिप्ट

\n\n

टर्मिनल खोलें, hello.php फ़ाइल बनाएं और यह लिखें:

\n\n
<?php\necho "नमस्ते, टर्मिनल!\\n";\n
\n\n

इसे चलाएं:

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

आप देखेंगे:

\n\n
नमस्ते, टर्मिनल!
\n\n

बधाई हो! आपने अभी-अभी अपनी पहली PHP CLI यूटिलिटी लिखी है। लेकिन चलिए इसे और उपयोगी बनाते हैं। इसमें कमांड लाइन आर्गुमेंट्स को हैंडल करना जोड़ते हैं।

\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: PHP CLI यूटिलिटीज़ के लिए शक्तिशाली आधार

\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

अब हम एक पूर्ण PHP CLI यूटिलिटी बनाएंगे — एक पासवर्ड जनरेटर।

\n\n

पासवर्ड जनरेशन के लिए कमांड लिखना

\n\n

प्रोजेक्ट स्ट्रक्चर

ब्लॉग

पुस्तक अनुशंसाएँ