Что означает двойное двоеточие в laravel
Пример:
Auth::guard($guard)->guest()
Я не понимаю, что означает обозначение с двойным двоеточием (::) в рамках laravel. из http://php.net/manual/en/language.oop5.paamayim-nekudotayim.php Я узнал, что это означает, что оператор разрешения области для доступа к статическим, постоянным и переопределенным свойствам или методам класса. но из laravel я узнал, что Auth
означает псевдоним для фасада класса, поэтому мне нужно объяснение приведенного выше примера, особенно guard(parameter)->guest()
означает.
Я все еще новичок в php, и теперь изучение фреймворка laravel для моего бэк-энда.
2 answers
::
Оператор разрешения области действия
Это называется scope resolution operator
. Этот оператор используется для обозначения области действия некоторого контекста блока или программы, такого как классы, объекты, пространство имен и т. Д. Для этой ссылки идентификатор используется с этим оператором для доступа или воспроизведения кода внутри этой области.
Auth::guard($guard)->guest()
: В этой строке вы используете метод guard() статического класса Auth
. Для использования функции статического класса мы используем область ::
Оператор разрешения.
Вероятно, вы сталкиваетесь с этим как с способом доступа к статическому методу или свойству класса.
Например:
class Foo
{
public static function bar()
{
return "bar";
}
}
Foo::bar // access the bar method without instantiating the Foo class.