Что означает двойное двоеточие в laravel


Пример:

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

Я не понимаю, что означает обозначение с двойным двоеточием (::) в рамках laravel. из http://php.net/manual/en/language.oop5.paamayim-nekudotayim.php Я узнал, что это означает, что оператор разрешения области для доступа к статическим, постоянным и переопределенным свойствам или методам класса. но из laravel я узнал, что Auth означает псевдоним для фасада класса, поэтому мне нужно объяснение приведенного выше примера, особенно guard(parameter)->guest() означает.
Я все еще новичок в php, и теперь изучение фреймворка laravel для моего бэк-энда.

Author: DanielBarbarian, 2016-08-29

2 answers

:: Оператор разрешения области действия

Это называется scope resolution operator. Этот оператор используется для обозначения области действия некоторого контекста блока или программы, такого как классы, объекты, пространство имен и т. Д. Для этой ссылки идентификатор используется с этим оператором для доступа или воспроизведения кода внутри этой области.

Ссылка

Auth::guard($guard)->guest() : В этой строке вы используете метод guard() статического класса Auth. Для использования функции статического класса мы используем область :: Оператор разрешения.

 2
Author: Mayank Pandeyz, 2018-05-30 05:52:44

Вероятно, вы сталкиваетесь с этим как с способом доступа к статическому методу или свойству класса.

Например:

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

Foo::bar // access the bar method without instantiating the Foo class.
 1
Author: Brad, 2017-03-13 09:13:12