Carbon PHP: पूर्ण गाइड उदाहरणों के साथ

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

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

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

Carbon क्या है और इसकी आवश्यकता क्यों है?

Carbon PHP के लिए एक शक्तिशाली और सुंदर लाइब्रेरी है जो बिल्ट-इन DateTime क्लास को विस्तारित करती है। अगर आपने कभी PHP में नेटिव तरीके से तारीखों के साथ काम किया है, तो आप जानते हैं कि मानक DateTime और DateTimeImmutable बुनियादी कार्यक्षमता प्रदान करते हैं, लेकिन उनका API अक्सर भारी और गैर-सहज होता है। Carbon इस समस्या को हल करता है, तारीखों और समय के साथ काम करने के लिए एक साफ, पढ़ने योग्य और अभिव्यंजक सिंटैक्स प्रदान करता है।

Carbon का उपयोग क्यों करें? कल्पना करें कि आपको चाहिए:

  • वर्तमान तारीख में 3 दिन जोड़ना: $date->add(new DateInterval('P3D')) (नेटिव PHP) vs $date->addDays(3) (Carbon)।
  • दो तारीखों के बीच दिनों का अंतर प्राप्त करना: भारी DateTime::diff() और फिर फ़ॉर्मेटिंग vs $date1->diffInDays($date2)।
  • जांचना कि क्या तारीख सप्ताहांत है: अपनी खुद की लॉजिक लिखना vs $date->isWeekend()।

Carbon कोड को न केवल छोटा बनाता है, बल्कि काफी समझने योग्य भी बनाता है। इसका व्यापक रूप से आधुनिक PHP फ्रेमवर्क जैसे Laravel (जहां यह मानक है), Symfony, Yii और अन्य में उपयोग किया जाता है। यह लाइब्रेरी नेटिव DateTime के साथ पूरी तरह से संगत है, जिसका अर्थ है कि आप Carbon का उपयोग वहां कर सकते हैं जहां DateTime की अपेक्षा की जाती है।

Carbon के मुख्य लाभ:

  • अभिव्यंजक सिंटैक्स: विधियों के नाम ऐसे हैं कि उनका उद्देश्य बिना टिप्पणी के समझ में आता है (startOfDay(), endOfMonth(), isFuture())।
  • अपरिवर्तनीयता (Immutable): बिना साइड इफेक्ट के तारीखों के साथ सुरक्षित काम करने के लिए CarbonImmutable का समर्थन।
  • स्थानीयकरण: विभिन्न भाषाओं में तारीखों को फ़ॉर्मेट करने के लिए अंतर्निहित समर्थन।
  • समृद्ध API: तारीखों में हेरफेर, तुलना, फ़ॉर्मेटिंग और गणना के लिए सैकड़ों विधियाँ।
  • सहज तुलना: isBefore(), isAfter(), isSameDay() जैसी विधियाँ।

Carbon की स्थापना (Installation)

Carbon को Composer के माध्यम से स्थापित किया जाता है - PHP के लिए मानक पैकेज मैनेजर। अगर आपके पास अभी तक Composer नहीं है, तो इसे स्थापित करना आवश्यक है (देखें getcomposer.org)।

अपने प्रोजेक्ट की रूट डायरेक्टरी में टर्मिनल खोलें और निम्न कमांड चलाएँ:

composer require nesbot/carbon

सफल स्थापना के बाद, आपके प्रोजेक्ट में vendor/ फ़ोल्डर और composer.json फ़ाइल जिसमें निर्भरता जोड़ी गई है, दिखाई देगी। अपने कोड में Carbon का उपयोग करने के लिए, Composer ऑटोलोडर को शामिल करना आवश्यक है:

<?php
require_once 'vendor/autoload.php';

use Carbon\Carbon;

// अब Carbon का उपयोग किया जा सकता है
echo Carbon::now(); // 2025-04-03 15:30:00
?>

महत्वपूर्ण: Carbon को PHP संस्करण 8.0 या उससे ऊपर की आवश्यकता है (नवीनतम संस्करणों के लिए)। PHP 8.1+ का उपयोग करने की अनुशंसा की जाती है।

कोड उदाहरण के साथ त्वरित शुरुआत

चलिए सीधे अभ्यास पर आते हैं। यहाँ कुछ सरल उदाहरण हैं जो Carbon की शक्ति को प्रदर्शित करते हैं:

<?php
require_once 'vendor/autoload.php';
use Carbon\Carbon;

// वर्तमान तारीख और समय
$now = Carbon::now();
echo "अभी: " . $now . "\n"; // 2025-04-03 15:30:00

// स्ट्रिंग से तारीख बनाना
$birthday = Carbon::createFromDate(1990, 5, 15);
echo "जन्मदिन: " . $birthday->format('d.m.Y') . "\n"; // 15.05.1990

// तारीखों में हेरफेर
$tomorrow = Carbon::tomorrow();
echo "कल: " . $tomorrow . "\n";

$nextWeek = Carbon::now()->addWeek();
echo "एक सप्ताह बाद: " . $nextWeek . "\n";

// तारीखों के बीच अंतर
$age = $birthday->diffInYears(Carbon::now());
echo "आयु: $age वर्ष\n"; // 34 या 35

// शर्तों की जाँच
$date = Carbon::parse('2025-12-25');
if ($date->isChristmas()) {
    echo "यह क्रिसमस है!\n";
}

// मानव-पठनीय अंतर प्रदर्शन
echo Carbon::now()->subDays(5)->diffForHumans                    

अनुशंसाएँ