Laravel 和 Lumen ACL 与共享代码库
Posted
技术标签:
【中文标题】Laravel 和 Lumen ACL 与共享代码库【英文标题】:Laravel and Lumen ACL with Shared Codebase 【发布时间】:2017-07-11 05:21:40 【问题描述】:我有两个独立的项目:
-
管理员 (Laravel 5.4)
API(流明 5.4)
使用共享代码库(数据库、模型...)
在我的管理项目中,我使用spatie/laravel-permission
,但这个包不适用于 Lumen,即当我尝试在我的 Lumen 项目 (API) 中安装包时,我收到了这个错误:
致命错误:未捕获的 ReflectionException:/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php:681 中不存在类 path.storage 堆栈跟踪:#0 /var/www /html/vendor/laravel/framework/src/Illuminate/Container/Container.php(681): ReflectionClass->__construct('path.storage') #1 /var/www/html/vendor/laravel/framework/src/ Illuminate/Container/Container.php(565): Illuminate\Container\Container->build('path.storage') #2 /var/www/html/vendor/laravel/lumen-framework/src/Application.php(208 ): Illuminate\Container\Container->make('path.storage') #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(105): Laravel\Lumen\Application ->make('path.storage') #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(800): app('path.storage') #5 /var /www/html/vendor/laravel/lumen-framework/config/view.php(31): storage_path('framework/views') #6 /var/www/html/vendor/laravel/lumen-framework/src/Application .php(575):需要('/var/www/html/v...') #7 /var/www/html/ in /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php 第 681 行
致命错误:未捕获 Symfony\Component\Debug\Exception\FatalErrorException:未捕获 ReflectionException:/var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php 中不存在类 path.storage :681 堆栈跟踪:#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(681): ReflectionClass->__construct('path.storage') #1 /var/www /html/vendor/laravel/framework/src/Illuminate/Container/Container.php(565): Illuminate\Container\Container->build('path.storage') #2 /var/www/html/vendor/laravel/ lumen-framework/src/Application.php(208): Illuminate\Container\Container->make('path.storage') #3 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/helpers .php(105): Laravel\Lumen\Application->make('path.storage') #4 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(800): 应用('path.storage') #5 /var/www/html/vendor/laravel/lumen-framework/config/view.php(31): storage_path('framework/views') #6 /var/www/html/ vendor/laravel/lumen-framework/src/Appli 在 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php 第 681 行
问题出在哪里?我可以在 Lumen 中使用这个包吗? 或者你能建议我在 Laravel 和 Lumen 中的角色和权限工作的其他包。
【问题讨论】:
我能问你,如果你共享代码库,为什么你有 2 个单独的项目? 因为 Lumen 对 API 有更好的性能,而且我会有很多用户会使用 API。其他部分是管理仪表板。 【参考方案1】:我看到 spatie/laravel-permission 仓库不支持 Lumen
试试看这是否适合你 http://www.laraveldoctrine.org/docs/1.2/acl
【讨论】:
以上是关于Laravel 和 Lumen ACL 与共享代码库的主要内容,如果未能解决你的问题,请参考以下文章