我正在使用Zend-framework 3开发一个需要用户角色管理的应用程序。我正在使用 zend-permission-rbac 组件执行此操作。
但是我一直出错:
文件: /home/myhost/ppvc/module/User/src/Service/RbacManager.php:77
消息: 找不到类“ Zend \ Permissions \ Rbac \ Rbac”
如果可以帮助,这是堆栈跟踪的一部分:
当我第一次将我的Rbac容器设置为空时,会弹出此错误:
public function init($forceCreate = false)
{
if ($this->rbac!=null && !$forceCreate) {
// Already initialized; do nothing.
return;
}
// If user wants us to reinit RBAC container, clear cache now.
if ($forceCreate) {
$this->cache->removeItem('rbac_container');
}
// Try to load Rbac container from cache.
$result = false;
$this->rbac = $this->cache->getItem('rbac_container', $result);
if (!$result)
{
// Create Rbac container.
$rbac = new Rbac();
$this->rbac = $rbac;
.....
我也在正确地调用我的Rbac类:
use Zend\Permissions\Rbac\Rbac;
我无法理解此错误的出处,看来该应用程序未“读取” vendor / zend-permissions-rbac文件夹。 我已经更新了 composer.json 和 composer.lock 文件并进行了检查,我的模块被正确称为(composer.json):
"zendframework/zend-permissions-rbac": "^3.0",
我正在关注本教程:Role-Based Access Control
欢迎任何帮助! (对不起,如果我犯了错误,英语不是我的语言)
编辑:我已经检查了我的PHP版本是否有返回类型声明(因为Rbac模块已装满它),但是我处于7.2,所以没问题。
马克西姆