我正在使用 symfony 投票来处理我网站上的用户访问。当用户未通过身份验证时,我收到错误:
Warning: get_class() expects parameter 1 to be object, string given
当用户访问调用选民的页面时。引发问题的选民中的代码是:
public function vote(TokenInterface $token, $object, array $attributes)
{
if (!$object || !$this->supportsClass(get_class($object))) {
return self::ACCESS_ABSTAIN;
}
...}
当对象 = 'anon.' 这是取自 symfony 网站的常规代码。我当然可以修改此代码以检查对象是否为对象,但我想知道这是否正常?我本来希望选民不会被非对象召集。
编辑: SuportsClass 和 SupportsAttribute 也是默认的:
protected function getSupportedClasses()
{
return array(
'AppBundle\Entity\User\Associate',
);
}
protected function getSupportedAttributes()
{
return array(self::SELECT_ASSOCIATES, self::GRANT_RIGHTS, self::REMOVE_RIGHT, self::DISPLAY_RIGHTS);
}