Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> PHP

PHP क्लास और ऑब्जेक्ट्स की मूल बातें


परिचय

क्लास PHP में एक यूजर-डिफाइंड डेटा टाइप है। एक नई क्लास को परिभाषित करने के लिए, PHP class कीवर्ड प्रदान करता है, जिसके बाद एक नाम आता है। PHP के नामकरण नियमों के अनुसार मान्य कोई भी लेबल (PHP के रिजर्व्ड शब्दों को छोड़कर) क्लास के नाम के रूप में उपयोग किया जा सकता है। क्लास के घटकों को क्लास के नाम के बाद आने वाले कर्ली ब्रैकेट में परिभाषित किया जाता है।

सिंटैक्स

class myclass {
    // क्लास बॉडी
}

क्लास में कॉन्स्टेंट्स, वेरिएबल्स या प्रॉपर्टीज़ और मेथड्स हो सकते हैं - जो फंक्शन्स के समान होते हैं।

क्लास का उदाहरण

<?php
class myclass {
    const MYCONSTANT = 100;
    public $var1 = "Hello";
    function dispvar() {
        echo $this->var1;
    }
}
?>

क्लास के अंदर परिभाषित फंक्शन को मेथड कहा जाता है। कॉलिंग ऑब्जेक्ट का कॉन्टेक्स्ट एक मेथड के अंदर $this छद्म-चर (pseudo-variable) के साथ उपलब्ध होता है। यदि मेथड को static परिभाषित किया गया है, तो इसे क्लास के नाम से एक्सेस किया जाता है। नॉन-स्टेटिक मेथड को स्टेटिकली कॉल करना PHP 7 में डिप्रिकेटेड है।

new ऑपरेटर दिए गए क्लास का एक नया ऑब्जेक्ट घोषित करता है। क्लास का नाम उसके बाद पैरेंथेसेस के साथ new कीवर्ड के सामने लिखा जाना चाहिए। यदि पैरेंथेसेस के अंदर कोई आर्गुमेंट नहीं हैं तो एक अनइनिशियलाइज़्ड ऑब्जेक्ट (या प्रॉपर्टीज़ के डिफ़ॉल्ट मानों के साथ) बनाया जाता है। यदि क्लास पैरामीटर्स के साथ कंस्ट्रक्टर की परिभाषा प्रदान करती है, तो मिलान करने वाले आर्गुमेंट्स की संख्या दी जानी चाहिए। इंस्टेंस (या ऑब्जेक्ट) बनाने से पहले क्लास को परिभाषित किया जाना चाहिए।

उदाहरण: ऑब्जेक्ट बनाना और मेथड कॉल करना

<?php
class myclass {
    const MYCONSTANT = 100;
    public $var1 = "Hello";
    function dispvar() {
        echo $this->var1;
    }
}

$obj = new myclass();
$obj->dispvar();
?>

आउटपुट

Hello

मुख्य अवधारणाएं

  • क्लास: ब्लूप्रिंट/टेम्पलेट
  • ऑब्जेक्ट/इंस्टेंस: क्लास का ठोस अवतार
  • प्रॉपर्टीज़: क्लास के अंदर वेरिएबल्स
  • मेथड्स: क्लास के अंदर फंक्शन्स
  • $this: वर्तमान ऑब्जेक्ट का संदर्भ
  • new: इंस्टेंसिएशन ऑपरेटर
  • :: (स्कोप रिजॉल्यूशन): स्टेटिक मेंबर्स और कॉन्स्टेंट्स के लिए

विजिबिलिटी

प्रॉपर्टीज़ और मेथड्स की विजिबिलिटी हो सकती है:

  • public - कहीं से भी एक्सेसिबल
  • protected - क्लास और चाइल्ड क्लासेज में एक्सेसिबल
  • private - केवल उसी क्लास में एक्सेसिबल
  1. - PHP में फाइनल क्लास और फाइनल मेथड समझाया गया

    फाइनल कीवर्ड PHP5 द्वारा ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग कॉन्सेप्ट से संबंधित पेश किया गया है। लेकिन इससे पहले कि हम फाइनल पर आगे बढ़ें, हमें यह सुनिश्चित करने की आवश्यकता है कि हमें इनहेरिटेंस कॉन्सेप्ट की अच्छी समझ है। इनहेरिटेंस में, हम एक क्लास को दूसरी क्लास से इनहेरिट कर सकते हैं। साथ ही, हम इ

  1. - PHP में is_a() फंक्शन

    PHP में is_a() फंक्शन जांचता है कि ऑब्जेक्ट इस क्लास का है या इसके माता-पिता में से एक है। यदि ऑब्जेक्ट इस क्लास का है या इसके माता-पिता में से एक है तो TRUE, अन्यथा FALSE लौटाता है। सिंटैक्स is_a(object, class) पैरामीटर्स object - परीक्षण किया जाने वाला ऑब्जेक्ट। class - क्लास का नाम। रिटर्न व

  1. - PHP में get_class() फंक्शन

    PHP में get_class() फंक्शन ऑब्जेक्ट की क्लास का नाम प्राप्त करता है। यदि ऑब्जेक्ट ऑब्जेक्ट नहीं है तो FALSE लौटाता है। यदि क्लास के अंदर ऑब्जेक्ट को बाहर रखा गया है, तो उस क्लास का नाम लौटाया जाता है। सिंटैक्स get_class(object) पैरामीटर्स object - परीक्षण किया जाने वाला ऑब्जेक्ट। आप क्लास के अंदर