【发布时间】:2016-08-29 04:08:54
【问题描述】:
例子:
Auth::guard($guard)->guest()
我不明白双冒号 (::) 符号在 laravel 框架中的含义。从http://php.net/manual/en/language.oop5.paamayim-nekudotayim.php 我了解到它代表作用域解析运算符来访问类的静态、常量和重写属性或方法。但是从 laravel 我了解到 Auth 表示类外观的别名,所以我需要对上面的示例进行解释,尤其是 guard(parameter)->guest() 的意思。
我还是 php 新手,现在正在为我的后端学习 laravel 框架。
【问题讨论】:
-
双冒号在 Laravel 中没有不同的含义。您正在访问 Auth 类的静态方法
guard并向其传递参数。 -
如果您正在学习 PHP,我建议您学习并清楚区分 PHP 本身和框架。如果您尝试通过学习框架来学习 PHP,那么像 Laravel 这样的框架会在幕后做很多事情,您会错过(并且像这样让您感到困惑)。
-
@CharlotteDunois 非常感谢先生的好回答,所以我正在从 auth 类访问静态 guard 方法。 guest() 方法呢?为什么可以从 guard() 方法先生访问它?再次感谢
-
静态方法
guard返回一个类实例,我不知道是哪个类,但是您可以通过阅读文档或转储guard的返回值轻松找到它(通过使用 @ 987654328@(Laravel 的辅助函数)。
标签: php laravel-5.2