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

पीएचपी कमजोर संदर्भ वर्ग

परिचय

कमजोर संदर्भों के साथ, किसी वस्तु के संदर्भ को बनाए रखना संभव है जो वस्तु को नष्ट होने से नहीं रोकता है। कैश जैसी संरचनाओं को लागू करना कमजोर संदर्भ द्वारा किया जा सकता है।

एक कमजोर संदर्भ एक सामान्य संदर्भ के समान है, सिवाय इसके कि यह कचरा संग्रहकर्ता को वस्तु एकत्र करने से नहीं रोकता है। यदि उस वस्तु के मजबूत संदर्भ नहीं मिलते हैं, तो उसे तुरंत स्मृति से हटा दिया जाएगा। इस तरह कैशे के अधिकांश लाभों को बिना किसी स्मृति समस्या के कार्यान्वित करना संभव है।

कमजोर संदर्भ कक्षा को PHP 7.4 में पेश किया गया है। इस संस्करण से पहले, कमजोर . द्वारा समान प्रभाव प्राप्त किया जाता था विस्तार। कमजोर संदर्भ वर्ग में निम्नलिखित संरचना है

सिंटैक्स

WeakReference {
   /* Methods */
   public __construct ( void )
   public static create ( object $referent ) : WeakReference
   public get ( void ) : ?object
}

तरीके

सार्वजनिक कमजोर संदर्भ::__निर्माण (शून्य) -WeakReference वर्ग की तात्कालिकता को अस्वीकार करें। इसे फ़ैक्टरी विधि WeakReference::create() से इंस्टेंट किया जा सकता है।

सार्वजनिक स्थैतिक WeakReference::create (वस्तु $referent ) :WeakReference — एक नया कमजोर संदर्भ बनाता है।

सार्वजनिक कमजोर संदर्भ::प्राप्त करें (शून्य):?वस्तु - कमजोर संदर्भित वस्तु प्राप्त करें। यदि वस्तु पहले ही नष्ट हो चुकी है, तो NULL वापस आ जाता है।

जनरेटर उदाहरण

निम्नलिखित उदाहरण में myclass की वस्तु है। कमजोर संदर्भ इसकी वस्तु के लिए एक संदर्भ दिखाता है। ऑब्जेक्ट तब अनसेट होता है। अब WeakReference लौटाता है NULL

उदाहरण

<?php
class myclass{
   function Hello(){
      echo "Hello";
   }
}
$obj = new myclass();
$ref = WeakReference::create($obj);
var_dump($ref->get());
unset($obj);
var_dump($ref->get());
?>

आउटपुट

उपरोक्त प्रोग्राम निम्न आउटपुट दिखाता है

object(myclass)#1 (0) {
}
NULL

  1. सी # में ऑर्डर्ड डिक्शनरी क्लास

    OrderedDictionary वर्ग कुंजी/मान युग्मों के संग्रह का प्रतिनिधित्व करता है जो कुंजी या अनुक्रमणिका द्वारा पहुंच योग्य होते हैं। ऑर्डर्ड डिक्शनरी क्लास के गुण निम्नलिखित हैं - Sr.no संपत्ति और विवरण 1 गिनें ऑर्डर किए गए डिक्शनरी संग्रह में निहित कुंजी/मान जोड़े की संख्या प्राप्त करें। 2 केवल प

  1. सी # में ऑब्जेक्ट क्लास

    ऑब्जेक्ट क्लास सी # में सभी वर्गों का आधार वर्ग है। C# पर इसकी निम्नलिखित विधियाँ हैं। Sr.No विधि और विवरण 1 बराबर(वस्तु) निर्धारित करता है कि निर्दिष्ट वस्तु वर्तमान वस्तु के बराबर है या नहीं। 2 बराबर (वस्तु, वस्तु, निर्धारित करता है कि निर्दिष्ट ऑब्जेक्ट इंस्टेंस को समान माना जाता है या नही

  1. सी # में स्टैक क्लास

    स्टैक क्लास ऑब्जेक्ट के लास्ट-इन, फर्स्ट आउट संग्रह का प्रतिनिधित्व करता है। इसका उपयोग तब किया जाता है जब आपको वस्तुओं की अंतिम-इन, पहली-आउट पहुंच की आवश्यकता होती है। निम्नलिखित स्टैक वर्ग की संपत्ति है - गणना − स्टैक में तत्वों की संख्या प्राप्त करें। स्टैक क्लास की विधियाँ निम्नलिखित हैं