silex 超载 class 用户
silex overload class User
我希望项目需要覆盖 Silex 2.0 中的 class 用户:
Symfony\Component\Security\Core\User;
我完全看不出如何。
我的最终目标是重载方法:
final class User implements AdvancedUserInterface
{
/**
* {@inheritdoc}
*/
public function getRoles()
{
return unserialize($this->roles[0]); // work (overload)
return $this->roles; // Not work (delete)
}
}
你知道怎么做吗?
谢谢!
决赛classUser
is only defined for the InMemoryUserProvider
.
要从 Silex 读取此数据库,您必须编写自己的 UserProvider
和 configure it。
可以在构造函数中设置 $roles
的正确值,而不是扩展 User
class。
如果您采用文档示例,则应替换此行:
return new User($user['username'], $user['password'], explode(',', $user['roles']), true, true, true, true);
由此:
return new User($user['username'], $user['password'], unserialize($user['roles']), true, true, true, true);
否则,最佳做法是创建自己的用户 class。
/**
* User is the user implementation used by the in-memory user provider.
*
* This should not be used for anything else.
*/
我希望项目需要覆盖 Silex 2.0 中的 class 用户:
Symfony\Component\Security\Core\User;
我完全看不出如何。 我的最终目标是重载方法:
final class User implements AdvancedUserInterface
{
/**
* {@inheritdoc}
*/
public function getRoles()
{
return unserialize($this->roles[0]); // work (overload)
return $this->roles; // Not work (delete)
}
}
你知道怎么做吗?
谢谢!
决赛classUser
is only defined for the InMemoryUserProvider
.
要从 Silex 读取此数据库,您必须编写自己的 UserProvider
和 configure it。
可以在构造函数中设置 $roles
的正确值,而不是扩展 User
class。
如果您采用文档示例,则应替换此行:
return new User($user['username'], $user['password'], explode(',', $user['roles']), true, true, true, true);
由此:
return new User($user['username'], $user['password'], unserialize($user['roles']), true, true, true, true);
否则,最佳做法是创建自己的用户 class。
/**
* User is the user implementation used by the in-memory user provider.
*
* This should not be used for anything else.
*/