2016-08-29 1 views
2

Beispiel:Was doppelten Doppelpunkt in Laravel tut bedeutet

Auth::guard($guard)->guest() 

ich nicht bekommen, was Doppelpunkt (: :) Notation bedeutet in Laravel Rahmen. von http://php.net/manual/en/language.oop5.paamayim-nekudotayim.php Ich lerne, dass es für Scope-Auflösung-Operator auf statische, konstante und überschriebene Eigenschaften oder Methoden einer Klasse zugreifen. aber von Laravel lerne ich, dass Auth den Alias ​​für die Klasse Fassade bedeutet, so brauche ich eine Erklärung des obigen Beispiels, vor allem guard(parameter)->guest() bedeutet.
Ich bin noch neu in PHP und lerne jetzt Laravel-Framework für mein Back-End.

+1

Der doppelte Doppelpunkt hat keine andere Bedeutung in Laravel. Sie greifen auf die statische Methode 'guard' der Klasse Auth zu und übergeben einen Parameter an sie. –

+1

Wenn Sie PHP lernen, empfehle ich Ihnen, einen klaren Unterschied zwischen PHP selbst und einem Framework zu machen. Ein Framework wie Laravel macht eine Menge Sachen hinter Szenen, die Sie vermissen werden (und Sie so verwirren), wenn Sie versuchen, PHP zu lernen, indem Sie ein Framework lernen. – Parziphal

+0

@CharlotteDunois thnks für nette Antwort, Herr, so bin ich Zugriff auf statische ** Guard ** -Methode von Auth-Klasse. und wie wäre es mit der Methode guest()? Warum kann es von der Wache() Methode Herr zugegriffen werden? thnks wieder vor – Jsnow

Antwort

1

:: Bereichsoperator

Dies als Bereichsauflösungsoperator genannt wird? Dieser Operator wird verwendet, um den Umfang eines Block- oder Programmkontexts wie Klassen, Objekte, Namespaces usw. anzugeben. Für diese Referenz wird ein Bezeichner mit diesem Operator verwendet, um auf den Code innerhalb dieses Bereichs zuzugreifen oder diesen zu reproduzieren.

Reference

Auth :: Wache ($ guard) -> Gast(): In dieser Zeile Sie die Wache() Methode der statischen Klasse Auth verwenden. Um die Funktion einer statischen Klasse zu verwenden, verwenden wir :: Scope Resolution Operator.

+0

Wird auch 'Paamayim Nekudotayim' genannt und wird vom PHP-Parser bevorzugt (besonders für fatale Fehler): P –

+0

in Laravel wenn ich die Auth-Klasse öffne, sehe ich nur die getFacadeAccessor-Methode, die die auth-Zeichenkette sir zurückgibt. wie guard() und guard() -Methode mit der Auth-Klasse verbunden werden können. – Jsnow

+0

@Jsnow jetzt ist einer hier, wir sind alle auf dem gleichen Niveau. Überprüfen Sie dies: https://laravel.com/api/5.1/Illuminate/Auth/Guard.html –

0

Sie finden dies wahrscheinlich als Möglichkeit, auf eine statische Methode oder Eigenschaft einer Klasse zuzugreifen.

Zum Beispiel:

class Foo 
{ 
    public static function bar() 
    { 
     return "bar"; 
    } 
} 

Foo::bar // access the bar method without instantiating the Foo class. 
Verwandte Themen