Laravel 5.2 升级到 Laravel 5.3 后的 权限问题

老项目从5.2 升级到5.3后,老项目中使用了文件AuthServiceProvider.php中的"boot(GateContract $gate)"方法;

Laravel 5.2项目中(老项目)
文件名:AuthServiceProvider.php

  public function boot(GateContract $gate)
        {
            parent::registerPolicies($gate);
            foreach ($this->getPermissions() as $permission) {
                $gate->define($permission['slug'], function (User $user) use ($permission) {
                    return $user->hasPermission($permission['slug']);
                });
            }
        }
        private function getPermissions()
        {
            return Permission::select(['id', 'parent_id', 'name', 'slug', 'url', 'ico', 'sort', 'level'])->orderBy('parent_id')->orderBy('sort')->get();
        }

升级到Laravel 5.3后,AuthServiceProvider文件中的boot方法没有接受参数了,如下:

  public function boot()
        {
            parent::registerPolicies();
        }

请问:如何兼容老项目中的写法?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案
$gate = app(GateContract::class);
4年前 评论
讨论数量: 1
$gate = app(GateContract::class);
4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!