1

サイトへのユーザー アクセスを処理するために、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 の Web サイトから取得した通常のコードです。もちろん、このコードを変更して、オブジェクトがオブジェクトであるかどうかを確認できますが、これが正常かどうか疑問に思っていましたか? 有権者が非オブジェクトで呼び出されないことを望んでいたでしょう。

編集: 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);
}
4

1 に答える 1