Я использую библиотеку Facebook с таким кодом:
class FacebookRestClient {
...
public function &users_hasAppPermission($ext_perm, $uid=null) {
return $this->call_method('facebook.users.hasAppPermission',
array('ext_perm' => $ext_perm, 'uid' => $uid));
}
...
}
Что означает символ & в начале определения функции и как мне использовать такую библиотеку (в простом примере)
Как уже упоминалось, он возвращает ссылку. В PHP 4 объекты присваивались по значению, как и любое другое значение. Это очень неинтуитивно и противоречит тому, как работает большинство других языков.
Чтобы обойти проблему, ссылки использовались для переменных, указывающих на объекты. В PHP 5 ссылки используются очень редко. Я предполагаю, что это устаревший код или код, пытающийся сохранить обратную совместимость с PHP 4.
источник
Это часто известно в PHP как возврат по ссылке или возврат по ссылке .
Документация PHP по возвращаемому справочнику
Ссылки в PHP это просто другое название , присвоенное содержание переменной. Ссылки PHP не похожи на указатели в программировании на C , они не являются фактическими адресами памяти, поэтому их нельзя использовать для арифметики указателей.
Концепция возврата ссылок может сбивать с толку, особенно новичков, поэтому пример будет полезен.
Функция,
getPopulationCount()
определенная с предыдущим&
, возвращает ссылку на содержимое или значение$populationCount
. Итак, увеличивая$countryPopulation
, также увеличивается$populationCount
.источник