2016-08-29 3 views
2

Пример:Что делает двойное двоеточие в Laravel означает

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

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

+1

Двойное двоеточие не имеет разное значение в Laravel. Вы получаете доступ к статическому методу 'guard' класса Auth и передаете ему параметр. –

+1

Если вы изучаете PHP, я предлагаю вам учиться и сохранять четкую разницу между самим PHP и каркасом. Рамочная структура, такая как Laravel, делает много вещей за сценами, которые вы пропустите (и смутите вас так), если вы попытаетесь изучить PHP, изучив фреймворк. – Parziphal

+0

@CharlotteDunois thsks для приятного ответа сэр, поэтому я обращаюсь к статическому методу ** guard ** из класса auth. и как насчет метода guest()? почему к нему можно обратиться из метода guard() sir? thnks снова перед – Jsnow

ответ

1

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

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

Reference

Auth :: охранник ($ охранник) -> гость(): В этой строке вы используете метод охранника() статический класс Auth. Чтобы использовать функцию статического класса, мы используем :: Scope Resolution Operator.

+0

Также называется «Paamayim Nekudotayim» и предпочитается парсером PHP (особенно для фатальных ошибок): P –

+0

в laravel, когда я открываю класс Auth, я вижу только метод getFacadeAccessor, возвращающий строку auth string sir. как метод guard() и guest() может быть связан с Auth-классом sir thnk you. – Jsnow

+0

@ Теперь знаешь, сэр, мы все на одном уровне. Проверьте это: https://laravel.com/api/5.1/Illuminate/Auth/Guard.html –

0

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

Например:

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

Foo::bar // access the bar method without instantiating the Foo class. 
Смежные вопросы