Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未定义的类常数';角色默认值';当注册新用户SYMFONY 4时_Php_Symfony_Authentication_Entity_Symfony4 - Fatal编程技术网

Php 未定义的类常数';角色默认值';当注册新用户SYMFONY 4时

Php 未定义的类常数';角色默认值';当注册新用户SYMFONY 4时,php,symfony,authentication,entity,symfony4,Php,Symfony,Authentication,Entity,Symfony4,我试图为用户构建一个登录/注册控制器,但在注册新用户时,我得到了一个未定义的类常量“ROLE\u DEFAULT” 在我的UserController中,我具有注册新用户的功能: //src/Controller/UserController 当“$user->addRole(“ROLE_DEFAULT”);”出现错误,这是屏幕截图: //src/实体/用户: 以及security.yml文件 //config/packages/security.yml 我想知道我做错了什么,或者在哪里可以找

我试图为用户构建一个登录/注册控制器,但在注册新用户时,我得到了一个未定义的类常量“ROLE\u DEFAULT”

在我的UserController中,我具有注册新用户的功能:

//src/Controller/UserController

当“$user->addRole(“ROLE_DEFAULT”);”出现错误,这是屏幕截图:

//src/实体/用户:

以及security.yml文件

//config/packages/security.yml

我想知道我做错了什么,或者在哪里可以找到在SYMFONY 4中构建登录/注册系统的好指南


谢谢。

我注意到的第一件事是使用
static
来(大概)获得常量。如果这是目的,那就不对了

请参阅PHP constatnt官方文档的以下评论,了解可能出现的问题:

但是,无论如何,我看不到的是
User
类中定义的常量本身,我看到它属于您的名称空间

因此,为了使用它,请将其定义为:

class User
{
    const ROLE_DEFAULT = "ROLE_DEFAULT";

    // ....
    // The rest of your code 
}
if ($role === self::ROLE_DEFAULT) {
    return $this;
}
然后像这样使用它:

class User
{
    const ROLE_DEFAULT = "ROLE_DEFAULT";

    // ....
    // The rest of your code 
}
if ($role === self::ROLE_DEFAULT) {
    return $this;
}
虽然,我不知道你为什么要尝试在你的控制器中添加这个角色,但是,我留给你来决定


希望这有点帮助…

问题实际上出在User::getRoles()$roles[]=static::ROLE\u DEFAULT;复制粘贴时不定义类常量。
if ($role === self::ROLE_DEFAULT) {
    return $this;
}