首页 > 解决方案 > netbeans 设置版本 php 7.2.12 i

问题描述

我尝试使用 spatie/permission,在将代码放入 User 类后,出现类似
语法错误、意外 '$role' (T_VARIABLE)、期望函数 (T_FUNCTION) 或 const (T_CONST) 之类的错误

我将在编辑器(netbeans)中添加,我将 php 的版本设置为 7.0,笔记本电脑上安装的版本是 7.2.12。netbeans 中作曲家的路径是 C:\ProgramData\ComposerSetup\bin\composer.bat

这样看起来就像我的班级用户

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Spatie\Permission\Traits\HasRoles;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;


class User extends Authenticatable
{
    use  HasRoles;

    $role = Role::create(['name' => 'writer']);
    $permission = Permission::create(['name' => 'edit articles']);
}

标签: phplaravel

解决方案


问题不在于您的 PHP 版本问题是您无法调用方法来为 PHP 中的变量设置默认值。

这两行应该在控制器或控制台中使用:

     $role = Role::create(['name' => 'writer']);
     $permission = Permission::create(['name' => 'edit articles']);

本教程解释了你应该做什么patie Laravel 权限包教程


推荐阅读