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

PHP ग्लोबल क्लासेज एक्सेस करना: बिल्ट-इन क्लासेज का उपयोग


परिचय

जब PHP पार्सर किसी अनक्वालिफाइड पहचानकर्ता जैसे क्लास या फंक्शन नाम का सामना करता है, तो यह वर्तमान नेमस्पेस को रिज़ॉल्व करता है। इसलिए, PHP की पूर्वनिर्धारित क्लासेज तक पहुंचने के लिए, उन्हें \ प्रीफिक्स करके उनके पूरी तरह से क्वालिफाइड नाम से संदर्भित किया जाना चाहिए।

बिल्ट-इन क्लास का उपयोग

निम्न उदाहरण में, एक नई क्लास पूर्वनिर्धारित stdClass को बेस क्लास के रूप में उपयोग करती है। हम इसे ग्लोबल क्लास निर्दिष्ट करने के लिए \ प्रीफिक्स करके संदर्भित करते हैं:

<?php
namespace testspace;
class testclass extends \stdClass {
    // 
}
$obj = new testclass();
$obj->name = "Raju";
echo $obj->name;
?>

इंक्लूडेड फाइलें डिफ़ॉल्ट रूप से ग्लोबल नेमस्पेस में डिफ़ॉल्ट होती हैं। इसलिए, इंक्लूडेड फाइल से किसी क्लास को संदर्भित करने के लिए, इसे \ से प्रीफिक्स करना होगा।

उदाहरण: इंक्लूडेड फाइल से क्लास एक्सेस

test1.php

<?php
class myclass {
    function hello() { echo "Hello World\n"; }
}
?>

test2.php (अन्य नेमस्पेस में शामिल)

<?php
include 'test1.php';
class testclass extends \myclass {
    function hello() {
        echo "Hello PHP\n";
    }
}
$obj1 = new \myclass();
$obj1->hello();
$obj2 = new testclass();
$obj2->hello();
?>

आउटपुट

Hello World
Hello PHP

मुख्य बिंदु

  • नेमस्पेस के अंदर, अनक्वालिफाइड क्लास नाम वर्तमान नेमस्पेस को संदर्भित करते हैं।
  • ग्लोबल/बिल्ट-इन क्लासेज (जैसे stdClass, DateTime, Exception) तक पहुंचने के लिए अग्रणी बैकस्लैश \ का उपयोग करें।
  • इंक्लूडेड फाइलें ग्लोबल नेमस्पेस में चलती हैं, इसलिए उनकी क्लासेज ग्लोबल होती हैं।
  • use स्टेटमेंट के साथ भी ग्लोबल क्लासेज इम्पोर्ट की जा सकती हैं: use \DateTime;
  1. - PHP में एब्स्ट्रैक्ट क्लास समझाया गया

    PHP5 अपने साथ ऑब्जेक्ट-ओरिएंटेड मॉडल लाता है, ऑब्जेक्ट-ओरिएंटेड मॉडल की कुछ अवधारणाएं हैं: क्लास, ऑब्जेक्ट, एनकैप्सुलेशन, पॉलीमॉर्फिज्म, एब्स्ट्रैक्ट और फाइनल क्लासेज, और मेथड्स, इंटरफेसेस और इनहेरिटेंस, आदि... इस लेख में, हम एब्स्ट्रैक्ट क्लास और PHP में ऑब्जेक्ट-ओरिएंटेड तकनीकों से संबंधित इसकी व

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

    PHP में get_class_methods() फंक्शन क्लास मेथड्स के नाम प्राप्त करता है। यह name_of_class द्वारा निर्दिष्ट क्लास के लिए परिभाषित मेथड नामों की सरणी लौटाता है। त्रुटि की स्थिति में NULL लौटाता है। सिंटैक्स get_class_methods(class) पैरामीटर्स name_of_class - क्लास नाम। आवश्यक! रिटर्न वैल्यू name_o

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

    PHP में class_exists() फंक्शन जांचता है कि क्लास परिभाषित की गई है या नहीं। यदि क्लास एक परिभाषित क्लास है तो TRUE लौटाता है, अन्यथा FALSE। सिंटैक्स class_exists(class, autoload) पैरामीटर्स class - क्लास का नाम। autoload - डिफ़ॉल्ट रूप से __autoload को कॉल करना है या नहीं। रिटर्न वैल्यू यदि क्ल