Php Zizaco/Trust在刀片服务器中抛出@permission错误

Php Zizaco/Trust在刀片服务器中抛出@permission错误,php,laravel,rbac,Php,Laravel,Rbac,我正在使用一个包Zizaco/trust进行角色库访问控制(RBAC) 用户角色使用@权限检查视图,如wise @permission('role-create') <a class="btn btn-success" href="{{ route('roles.create') }}"> Create New Role</a> @endpermission @权限('role-create') @结束许可 等于 <?php if (\Entrust::

我正在使用一个包
Zizaco/trust
进行角色库访问控制(RBAC)

用户角色使用
@权限检查视图,如wise

@permission('role-create')
    <a class="btn btn-success" href="{{ route('roles.create') }}"> Create New Role</a>
@endpermission
@权限('role-create')
@结束许可
等于

<?php if (\Entrust::can'role-create') : ?>
    <a class="btn btn-success" href="<?php echo route('roles.create'); ?>"> Create New Role</a>
<?php endif; // Entrust::can ?>

但它会抛出以下错误:


Parse error:syntax error,意外的“role-create”(T_CONSTANT_ENCAPSED_STRING)(View:/var/www/rbac/resources/views/roles/index.blade.php)
这是程序包中的一个错误,但您可以在项目中修复它 转到供应商目录,在那里找到一个委托目录,然后从那里转到src/authorites/authoritServiceProvider.php

在这里,您可以找到如下所示的刀片指令代码

\Blade::directive('permission', function($expression) {
    return "<?php if (\\Entrust::can({$expression}) : ?>";
 });
\Blade::directive('permission', function($expression) {
     return "<?php if (\\Entrust::can({$expression})) : ?>";
 });
\Blade::指令('permission',函数($expression){

return“只需将解决我的问题的权限名称上的小括号加倍即可

@权限(('role-create'))
@结束许可

这是程序包中的一个错误,如果向下滚动到生成
权限
指令的位置,您会看到有人忘记了
)。已存在此转储的pull请求。编写器然后检查编写器转储自动加载
解析错误:语法错误,意外“:”(视图:/var/www/rbac/resources/views/roles/index.blade.php)
该文件中存在多个损坏的内容。您需要检查并修复它们。将位于的文件内容复制到您刚刚修改的
TruditServiceProvider.php
文件中。就像user3158900提到的那样,从该链接复制代码并替换为您的文件,然后检查iTUpdate我的答案现在检查之前的内容e端支架缺失,现在我补充说,请现在检查,然后让我知道
@permission(('role-create'))
    <a class="btn btn-success" href="{{ route('roles.create') }}"> Create New       Role</a>
@endpermission