请问注册授权策略时,Gate::guessPolicyNamesUsing 引起的报错解决及分析:求大佬指点
namespace App\Providers;
.
.
.
class AuthServiceProvider extends ServiceProvider
{
.
.
.
public function boot()
{
$this->registerPolicies();
// 修改策略自动发现的逻辑
Gate::guessPolicyNamesUsing(function ($modelClass) {
// 动态返回模型对应的策略名称,如:// 'App\Model\User' => 'App\Policies\UserPolicy',
return 'App\Policies\\'.class_basename($modelClass).'Policy';
});
}
}
以上代码中的这行:
Gate::guessPolicyNamesUsing()
其中,Gate这个类我class在上面用use引入了门面,但是这个静态调用的方法我没找到在哪啊?请指教
补充:此处不引入门面会报错。
//也就是加上这句:
use Illuminate\Support\Facades\Gate;
但是依然不清楚这个门面是怎么找到对应的方法的,也就是一楼找到的方法,直接use到一楼的那个类,会报错(已在一楼说明)。
问题补充:
Gate::guessPolicyNamesUsing()
这里的Gate为什么没有use引入就直接用了?
这个类应该不属于公共命名空间才对啊?
推荐文章: