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

PHP मित्र या आंतरिक के समकक्ष

PHP मित्र-जैसी घोषणाओं का समर्थन नहीं करता है। इसे PHP5 में __get और __set विधियों का उपयोग करके और अनुमत मित्र वर्गों के लिए बैकट्रेस का निरीक्षण करके अनुकरण किया जा सकता है। लेकिन इस प्रकार की कोडिंग प्रथा को अनाड़ी माना जाता है -

class sample_friend {
   private $__friends = array('My_Friend', 'Other_Friend');
   public function __get($key)    {
      $trace = debug_backtrace();
      if(isset($trace[1]['class']) && in_array($trace[1]['class'], $this->__friends)) {
         return $this->$key;
      }
      // __get() code goes here
      trigger_error('Cannot access private property ' . __CLASS__ . '::$' . $key, E_USER_ERROR);
   }
   public function __set($key, $value) {
      $trace = debug_backtrace();
      if(isset($trace[1]['class']) && in_array($trace[1]['class'], $this->__friends)) {
         return $this->$key = $value;
      }
      // normal __set() code goes here
      trigger_error('Cannot access private property ' . __CLASS__ . '::$' . $key, E_USER_ERROR);
   }
}

  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 को कॉल करना है या न

  1. C++ फ्रेंड कीवर्ड का C# समतुल्य क्या है?

    C# में दोस्त किसी वर्ग के मित्र कार्य को उस वर्ग के दायरे से बाहर परिभाषित किया गया है लेकिन उसे कक्षा के सभी निजी और संरक्षित सदस्यों तक पहुंचने का अधिकार है। भले ही फ्रेंड फंक्शन के प्रोटोटाइप क्लास डेफिनिशन में दिखाई देते हैं, फ्रेंड्स मेंबर फंक्शन नहीं होते हैं। एक दोस्त एक फंक्शन, फंक्शन टेम्