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