PHP में OOP का परिचय
अब हम PHP में OOP का अध्ययन करेंगे। आइए जीवन का एक उदाहरण लेते हैं, और फिर इसे PHP में स्थानांतरित करते हैं।
एक उदाहरण के रूप में कार लेते हैं। इसके पास पहिए, रंग, बॉडी का प्रकार, इंजन की क्षमता आदि होते हैं। इसके अलावा, ड्राइवर इसे आदेश दे सकता है: चलो, रुको, दाएं मुड़ो, बाएं मुड़ो, आदि।
हम कह सकते हैं कि कारों का एक विशेष वर्ग मौजूद है, जिसमें सामान्य गुण होते हैं (सभी के पास पहिए होते हैं और सभी को आदेश दिए जा सकते हैं)।
सड़क पर खड़ी एक विशिष्ट कार - इस वर्ग का एक प्रतिनिधि है, या, दूसरे शब्दों में, इस वर्ग का एक ऑब्जेक्ट। इस वर्ग के सभी ऑब्जेक्ट्स के गुण होते हैं: पहियों की संख्या, रंग, बॉडी का प्रकार और मेथड्स: चलो, रुको, दाएं मुड़ो, बाएं मुड़ो।
दूसरे शब्दों में, वर्ग स्वयं एक ब्लूप्रिंट है, जिसके अनुसार कारखाने में कारें बनाई जाती हैं। ऑब्जेक्ट स्वयं वह मशीन है, जो इन ब्लूप्रिंट्स के अनुसार बनाई गई है।
PHP में वर्ग कीवर्ड
class का उपयोग करके बनाया जाता है,
जिसके बाद इस वर्ग का नाम आता है।
आइए वर्ग Car बनाते हैं:
<?php
class Car
{
// यहाँ कोड, यानी PHP में कार का ब्लूप्रिंट
}
?>
अब अपने ब्लूप्रिंट में निर्दिष्ट करते हैं कि इस ब्लूप्रिंट के अनुसार बनाई गई कोई भी कार के पास रंग के लिए एक गुण और ईंधन की मात्रा के लिए एक गुण होगा।
इसके लिए वर्ग के अंदर गुण
$color और गुण $fuel लिखते हैं:
<?php
class Car
{
// गुण परिभाषित करते हैं (मूल रूप से वर्ग के चर):
public $color; // कार का रंग
public $fuel; // ईंधन की मात्रा
}
?>
अब अपने वर्ग के मेथड्स बनाते हैं।
PHP में मेथड्स, सामान्य फ़ंक्शंस की तरह,
कीवर्ड function का उपयोग करके घोषित किए जाते हैं,
जिससे पहले कीवर्ड
public लिखा जाता है।
जैसा कि पहले उल्लेख किया गया है, हमारी कार चल सकती है, मुड़ सकती है, रुक सकती है। आइए अपने वर्ग में संबंधित मेथड्स बनाते हैं:
<?php
class Car
{
public $color; // कार का रंग
public $fuel; // ईंधन की मात्रा
// चलने का आदेश:
public function go()
{
// कुछ PHP कोड
}
// मुड़ने का आदेश:
public function turn()
{
// कुछ PHP कोड
}
// रुकने का आदेश:
public function stop()
{
// कुछ PHP कोड
}
}
?>
हमने आपके साथ अपनी कार का ब्लूप्रिंट बना लिया है। अब कारखाने में जाने और इस वर्ग का ऑब्जेक्ट बनाने (यानी एक विशिष्ट कार) की जरूरत है।
PHP में यह कीवर्ड
new का उपयोग करके किया जाता है, जिसके बाद वर्ग का नाम लिखा जाता है:
<?php
new Car;
?>
हालाँकि, केवल वर्ग का ऑब्जेक्ट बनाना - किसी चीज का नेतृत्व नहीं करेगा (यह ऐसा ही है, जैसे, उदाहरण के लिए, एक ऐरे घोषित करना और इसे कहीं नहीं लिखना)। हमें इस ऑब्जेक्ट को संग्रहीत करने के लिए एक वेरिएबल की आवश्यकता है।
मान लें कि इस वेरिएबल का नाम $myCar है
- इसमें हमारे द्वारा बनाया गया ऑब्जेक्ट लिखते हैं:
<?php
$myCar = new Car;
?>
कार बनाने के बाद इसके गुणों को एक्सेस किया जा सकता है।
उन्हें एक्सेस करना
ऐरो -> के माध्यम से होता है। आइए अपने ऑब्जेक्ट के
गुण सेट करते हैं:
<?php
$myCar = new Car; // कारखाने को कार बनाने का आदेश देते हैं
// ऑब्जेक्ट के गुण सेट करते हैं:
$myCar->color = 'red'; // लाल रंग में रंगते हैं
$myCar->fuel = 50; // ईंधन भरते हैं
?>
बस, हमारी कार बन गई, रंग गई और ईंधन भर गया। अब हम इस कार के मेथड्स के माध्यम से इसे आदेश दे सकते हैं।
मेथड्स को एक्सेस करना भी ऐरो के माध्यम से होता है, लेकिन, गुण के विपरीत, मेथड के नाम के बाद राउंड ब्रैकेट्स लिखे जाते हैं। आइए अपने ऑब्जेक्ट को आदेश देते हैं:
<?php
$myCar->go();
$myCar->turn();
$myCar->stop();
?>