laravel中的双重结肠是什么意思

时间:2016-08-29 04:08:54

标签: php laravel-5.2

示例:

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

我在laravel框架中没有得到双冒号(::)符号的含义。来自http://php.net/manual/en/language.oop5.paamayim-nekudotayim.php我了解到它代表范围解析运算符来访问类的静态,常量和重写属性或方法。但是从laravel我知道Auth表示类外观的别名所以我需要对上面的例子进行解释,尤其是guard(parameter)->guest()的意思。
我还是php的新手,现在正在为我的后端学习laravel框架。

3 个答案:

答案 0 :(得分:2)

::范围解析运算符

这被称为scope resolution operator。此运算符用于引用某些块或程序上下文的范围,如类,对象,命名空间等。对于此引用,此运算符使用标识符来访问或重现该范围内的代码。

Reference

Auth::guard($guard)->guest():在这一行中,您使用的是静态类Auth guard()方法。要使用静态类的功能,我们使用::范围解析运算符。

答案 1 :(得分:1)

您可能会遇到这种方法来访问类的静态方法或属性。

例如:

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

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

答案 2 :(得分:0)

基本上知道

Scope resolution operator (::)

只是令牌,它允许访问类方法的静态,常量和覆盖属性

示例-在laravel中,我们称这样的模型

User::select('name')->get()->toArray();