Composer क्या है और इसकी आवश्यकता क्यों है?
Composer PHP प्रोग्रामिंग भाषा के लिए एक डिपेंडेंसी मैनेजर है। अगर आपने JavaScript के लिए npm या Python के लिए pip का उपयोग किया है, तो Composer का काम करने का तरीका आपको परिचित लगेगा। यह आपको अपने प्रोजेक्ट पर निर्भर लाइब्रेरीज़ को घोषित करने और उनकी इंस्टॉलेशन, अपडेट और हटाने को स्वचालित रूप से प्रबंधित करने की अनुमति देता है।
Composer की आवश्यकता क्यों है? आधुनिक PHP डेवलपमेंट में शायद ही कोई सब कुछ शुरू से लिखता है। आमतौर पर, डेटाबेस (Doctrine, Eloquent), HTTP रिक्वेस्ट (Guzzle), टेम्पलेट इंजन (Twig), लॉगिंग (Monolog) आदि के लिए तैयार लाइब्रेरीज़ का उपयोग किया जाता है। पहले, डेवलपर्स ZIP फ़ाइलें डाउनलोड करते थे, मैन्युअल रूप से फ़ाइलें कॉपी करते थे और उन्हें require के माध्यम से जोड़ते थे। यह असुविधाजनक था, वर्जन को बनाए रखना और डिपेंडेंसी को अपडेट करना मुश्किल था। Composer इन सभी समस्याओं को हल करता है:
- ऑटोमैटिक लोडिंग (autoloading): Composer एक ऑटोलोड फ़ाइल जनरेट करता है जो सभी आवश्यक क्लासेज़ को स्वचालित रूप से जोड़ता है। आपको दर्जनों
require_onceलिखने की आवश्यकता नहीं है। - वर्जन मैनेजमेंट: आप लाइब्रेरीज़ के सटीक वर्जन (या रेंज) निर्दिष्ट करते हैं, और Composer सुनिश्चित करता है कि वे आपस में संघर्ष न करें।
- केंद्रीकृत रिपॉजिटरी: सभी लाइब्रेरीज़ Packagist.org पर संग्रहीत हैं - Composer की आधिकारिक रिपॉजिटरी।
- पुनरुत्पादन क्षमता:
composer.lockफ़ाइल सभी इंस्टॉल किए गए पैकेजों के सटीक वर्जन को रिकॉर्ड करती है, जो सभी मशीनों (डेवलपर, टेस्ट, प्रोडक्शन) पर समान वातावरण सुनिश्चित करती है।
Composer की स्थापना (Installation)
Linux / macOS पर स्थापना
सबसे आसान तरीका आधिकारिक इंस्टॉलेशन स्क्रिप्ट का उपयोग करना है। टर्मिनल खोलें और निम्नलिखित चलाएँ:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
इसके बाद आपको composer.phar फ़ाइल मिलेगी। composer कमांड को ग्लोबल बनाने के लिए, इसे इस प्रकार ले जाएँ:
sudo mv composer.phar /usr/local/bin/composer
Windows पर स्थापना
आधिकारिक वेबसाइट से इंस्टॉलर डाउनलोड करें और चलाएँ। यह स्वचालित रूप से Composer को सिस्टम PATH वेरिएबल में जोड़ देगा।
स्थापना की जाँच
स्थापना के बाद, टर्मिनल में चलाएँ:
composer --version
आपको कुछ इस तरह दिखना चाहिए: Composer version 2.7.1 2024-03-11 16:15:07.
कोड उदाहरण के साथ त्वरित शुरुआत
एक नया प्रोजेक्ट बनाएँ और तारीखों के साथ काम करने के लिए nesbot/carbon लाइब्रेरी स्थापित करें।
- प्रोजेक्ट डायरेक्टरी बनाएँ:
mkdir my_project cd my_project - Composer को इनिशियलाइज़ करें:
composer initआपसे प्रोजेक्ट का नाम, विवरण, लेखक आदि पूछा जाएगा। आप डिफ़ॉल्ट मानों से सहमत होने के लिए केवल Enter दबा सकते हैं। अंत में,
composer.jsonफ़ाइल बनाई जाएगी। - Carbon लाइब्रेरी स्थापित करें:
composer require nesbot/carbonComposer लाइब्रेरी और उसकी सभी डिपेंडेंसी को
vendor/फ़ोल्डर में डाउनलोड करेगा, साथ हीcomposer.lockफ़ाइल बनाएगा औरcomposer.jsonको अपडेट करेगा। index.phpफ़ाइल बनाएँ:<?php require_once __DIR__ . '/vendor/autoload.php'; use Carbon\Carbon; echo "अभी: " . Carbon::now() . "<br>"; echo "कल: " . Carbon::tomorrow() . "<br>"; echo "पिछला महीना: " . Carbon::now()->subMonth() . "<br>"; ?>- प्रोजेक्ट चलाएँ:
php index.phpआपको वर्तमान तिथि, कल की तिथि और पिछले महीने की तिथि दिखाई देगी।
बस इतना ही! आपने Composer का उपयोग करके अपने प्रोजेक्ट में पहली लाइब्रेरी सफलतापूर्वक स्थापित कर ली है।