PHP không hỗ trợ khai báo kiểu bạn bè. Nó có thể được mô phỏng trong PHP5 bằng cách sử dụng các phương thức __get và __set và bằng cách kiểm tra dấu vết cho các lớp bạn bè được phép. Nhưng kiểu thực hành mã hóa này được coi là vụng về -
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); } }