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); } }