Ich benutze die Facebook-Bibliothek mit diesem Code:
class FacebookRestClient {
...
public function &users_hasAppPermission($ext_perm, $uid=null) {
return $this->call_method('facebook.users.hasAppPermission',
array('ext_perm' => $ext_perm, 'uid' => $uid));
}
...
}
Was bedeutet das & am Anfang der Funktionsdefinition und wie verwende ich eine solche Bibliothek (in einem einfachen Beispiel)?
Wie bereits erwähnt, wird eine Referenz zurückgegeben. In PHP 4 wurden Objekte wie jeder andere Wert nach Wert zugewiesen. Dies ist höchst unintuitiv und widerspricht der Funktionsweise der meisten anderen Sprachen.
Um das Problem zu umgehen, wurden Referenzen für Variablen verwendet, die auf Objekte zeigten. In PHP 5 werden Referenzen sehr selten verwendet. Ich vermute, dies ist Legacy-Code oder Code, der versucht, die Abwärtskompatibilität mit PHP 4 aufrechtzuerhalten.
quelle
Dies wird in PHP häufig als Rückgabereferenz oder Rückgabe nach Referenz bezeichnet .
PHP-Dokumentation zur Rückgabe der Referenz
Eine Referenz in PHP ist einfach ein anderer Name, der dem Inhalt einer Variablen zugewiesen wird. PHP-Referenzen sind keine Zeiger in der C-Programmierung , sie sind keine tatsächlichen Speicheradressen und können daher nicht für Zeigerarithmetik verwendet werden.
Das Konzept der Rückgabe von Referenzen kann insbesondere für Anfänger sehr verwirrend sein, daher ist ein Beispiel hilfreich.
Die
getPopulationCount()
mit einem Vorgänger definierte Funktion&
gibt den Verweis auf den Inhalt oder Wert von zurück$populationCount
. Inkrementieren also$countryPopulation
auch Inkrementieren$populationCount
.quelle