Laravel 5.8 将推出自动策略解析功能
发布时间:作者: Paul Redmond
从 Laravel 5.8 开始,只要策略和模型位于传统位置,您就不需要在 `AuthServiceProvider` 类中注册它们。
在 Laravel 5.8 中,只要您的策略和模型位于传统位置,您就不需要在 AuthServiceProvider 中注册策略……
— Taylor Otwell (@taylorotwell) 2019 年 2 月 18 日
如果您在非传统位置保存模型或策略,您可以自定义用于通过 Gate “查找”策略的策略猜测逻辑。
Gate::guessPolicyNamesUsing(function ($class) { // Do stuff return $policyClass;});
Laravel 5.7 从 `AuthServiceProvider` 中的配置数组中确定策略,该数组以模型为键,映射到关联的策略。
protected $policies = [ 'App\Model' => 'App\Policies\ModelPolicy'];
您可以在 Laravel 5.8 中继续使用 `$policies` 数组来手动定义策略,但是,如果您使用模型和策略的典型类路径约定创建新策略,则不必担心将其他策略添加到配置中。
如果您对使此功能成为可能的代码感兴趣,这里有一些您可能想要查看的提交