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

पीएचपी बेनामी वर्ग

परिचय

जैसा कि नाम से पता चलता है, अनाम वर्ग वह है जिसका नाम नहीं है। यह एक बार उपयोग के लिए है, और यदि किसी को मक्खी पर एक वर्ग को परिभाषित करने की आवश्यकता है। अनाम वर्ग की सुविधा PHP 7 संस्करण के बाद से पेश की गई है।

अनाम वर्ग की परिभाषा एक अभिव्यक्ति के अंदर निहित है जिसका परिणाम उस वर्ग की वस्तु है। इसे नए वर्ग . के साथ परिभाषित किया गया है सिंटैक्स निम्नानुसार है

सिंटैक्स

<?php
$obj=new class {
   public function sayhello(){
      echo "Hello World";
   }
};
$obj->sayhello();
?>

बेनामी वर्ग वह सब कुछ कर सकता है जो एक सामान्य कर सकता है यानी दूसरे वर्ग का विस्तार कर सकता है, इंटरफ़ेस लागू कर सकता है या विशेषता का उपयोग कर सकता है

निम्नलिखित कोड में, एक अनाम वर्ग पेरेंटक्लास का विस्तार करता है और पेरेंटइंटरफेस लागू करता है

उदाहरण

<?php
class parentclass{
   public function test1(){
      echo "test1 method in parent class\n";
   }
}
interface parentinterface{
   public function test2();
}
$obj=new class() extends parentclass implements parentinterface {
   public function test2(){
      echo "implements test2 method from interface";
   }
};
$obj->test1();
$obj->test2();
?>

आउटपुट

आउटपुट नीचे जैसा है -

test1 method in parent class
implements test2 method from interface

नेस्टेड अनाम वर्ग

बेनामी क्लास को अन्य क्लास मेथड के बॉडी के अंदर नेस्ट किया जा सकता है। हालांकि, इसके ऑब्जेक्ट की बाहरी वर्ग के निजी या संरक्षित सदस्यों तक पहुंच नहीं है

उदाहरण

<?php
class testclass{
   public function test1(){
      return new class(){
         public function test2(){
            echo "test2 method of nested anonymous class";
         }
      };
   }
}
$obj2=new testclass();
$obj2->test1()->test2();
?>

आउटपुट

उपरोक्त कोड निम्नलिखित परिणाम उत्पन्न करता है -

test2 method of nested anonymous class

अनाम वर्ग का आंतरिक नाम

PHP पार्सर आंतरिक उपयोग के लिए अनाम वर्ग को एक अनूठा नाम देता है

उदाहरण

<?php
var_dump(get_class(new class() {} ));
?>

आउटपुट

यह निम्न के समान आउटपुट देगा -

string(60) "class@anonymous/home/cg/root/1569997/main.php0x7f1ba68da026"

  1. PHP में एब्स्ट्रैक्ट क्लास को समझाइए।

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

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

    get_class_methods() फ़ंक्शन को वर्ग विधियों के नाम मिलते हैं। यह name_of_class द्वारा निर्दिष्ट वर्ग के लिए परिभाषित विधि नामों की एक सरणी देता है। त्रुटि के मामले में, यह NULL देता है। सिंटैक्स get_class_methods(class) पैरामीटर name_of_class - वर्ग का नाम। आवश्यक! वापसी get_class_methods() फ

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

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