Классы избирателей в Симфони 4 - PullRequest
0 голосов
/ 29 декабря 2018

Я беру чей-то код и ничего не понимаю в голосовании.

Вот класс PhotosController:

class PhotosController extends Controller
{
    /**
     * @Route("/dashboard/photos/{id}/view", name="dashboard_photos_view")
     * @Security("is_granted('view.photo', photo)")
     * @param Photo $photo
     * @param PhotoRepository $photoRepository
     */
    public function index(Photo $photo, PhotoRepository $photoRepository)
    {
        $obj = $photoRepository->getFileObjectFromS3($photo);
        header("Content-Type: {$obj['ContentType']}");
        echo $obj['Body'];
        exit;
    }

Вот класс избирателей:

class PhotoVoter extends Voter
{
    const VIEW        = 'view.photo';
    protected function supports($attribute, $subject)
    {
        if (!$subject instanceof Photo) {
            return false;
        }
        if (!in_array($attribute, array(self::VIEW))) {
            return false;
        }
        return true;
    }

    protected function voteOnAttribute($attribute, $subject, TokenInterface    $token)
    {
        return $subject->getUser()->getId() === $token->getUser()->getId();
    }
}

Я не понимаю, что такое

, фотография

предназначена для класса PhotosController.И в PhpStorm я получаю «не могу найти объявление», когда пытаюсь перейти к объявлению «is_granted».

...