компилируется...
Перейти к основному содержанию
Рекомендовать во Вконтакте Рекомендовать в Фейсбуке Рекомендовать в Твиттере

Новые вспомогательные методы контроллёра в Symfony 2.6

Symfony2 поставляется с очень удобным базовым классом контроллёра, который содержит решения для наиболее используемых задач контроллёров. Если ваш контроллёр наследуется от класса Symfony\Bundle\FrameworkBundle\Controller\Controller, то вы получаете несколько полезных методов, таких так redirect(), getUser(), createNotFoundException().

Эти методы насколько полезны, что разработчики решили включить четыре новых метода помощника, для повышения вашей продуктивности.

redirectToRoute() - возвращает объект перенаправления (redirect), основываясь на имени роута:

<?php

// Symfony 2.6
return $this->redirectToRoute('homepage');

return $this->redirectToRoute('product_show', array('id' => 12), 301);

// Предыдущие версии Symfony
return $this->redirect($this->generateUrl('homepage'));

return $this->redirect($this->generateUrl('product_show', array('id' => 12)), 301);

addFlash() - позволяет добавить флеш сообщение необходимого типа:

<?php

// Symfony 2.6
$this->addFlash('info', 'The item was created successfully.');

// Предыдущие версии Symfony
$this->get('session')->getFlashBag()->add('info', 'The item was created successfully.');

isGranted() - проверяет принадлежит ли роль или другие права, текущему авторизационному токену:

<?php

// Symfony 2.6
if ($this->isGranted('ROLE_ADMIN')) {
    // ...
}

// Предыдущие версии Symfony
if ($this->get('security.context')->isGranted('ROLE_ADMIN')) {
    // ...
}

denyAccessUnlessGranted() - выкидывает исключение если объект (например, ользователь) не имеет необходимых прав доступа:

<?php

// Symfony 2.6
$this->denyAccessUnlessGranted('ROLE_EDIT', $item, 'You cannot edit this item.');

// Предыдущие версии Symfony
if (false === $this->get('security.context')->isGranted('ROLE_EDIT', $item)) {
    throw $this->createAccessDeniedException('You cannot edit this item.');
}

Комментарии

Пока что нет комментариев, вы можете быть первым.
Войти или Регистрация , чтобы оставлять комментарии.
Наш сайт использует куки. Узнайте больше о нашем использовании куки: политика в отношении файлов cookie
Наш сайт существует только благодаря показу онлайн-рекламы нашим посетителям.
Пожалуйста, поддержите нас, отключив блокировку рекламы.