функция друга в php?

Поддерживает ли функция поддержки php, например, как поддерживает c ++?

Вы, скорее всего, ссылаетесь на область класса / переменной. В php у вас есть:

  • общественности
  • частный
  • защищенный

Но не friend видимость. protected хотя используется, когда члены объекта должны быть видимыми только для других расширяющихся / наследующих объектов.

Больше информации:

Нет. Вы должны объявить это публичным.

PHP не поддерживает никаких дружественных деклараций. Можно имитировать это с помощью методов PHP5 __get и __set и проверять обратную трассировку только для разрешенных классов друзей, хотя код для этого является довольно неуклюжим.

Вот пример кода и обсуждение темы на сайте PHP:

class HasFriends {private $ __ friends = array ('MyFriend', 'OtherFriend');

 public function __get($key) { $trace = debug_backtrace(); if(isset($trace[1]['class']) && in_array($trace[1]['class'], $this->__friends)) { return $this->$key; } // normal __get() code 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 here trigger_error('Cannot access private property ' . __CLASS__ . '::$' . $key, E_USER_ERROR); } 

}