Вы можете попытаться внедрить маршрутизатор в свой класс обслуживания:
use Symfony\Component\Routing\RouterInterface;
class MyService {private $ router;
public function __construct(RouterInterface $router)
{
$this->router = $router;
}
public function checkWhereaboutsExist()
{
// your code ...
return new RedirectResponse($this->router->generate('section_start'));
}
}
Те две книги довольно хороши, по-моему, и они помогли мне много
первый объясняет, как работают шаблоны. Вторая книга - больше приблизительно как для использования их. Я рекомендую Вам прочитать первую книгу прежде, чем запуститься с современного Дизайна C++, потому что это - тяжелый материал.
Возможно, немного ошеломляющий, если Вы просто учитесь, но после книг Вы упоминаете, можно хотеть считать Andrei Alexandrescu современный Дизайн C++, если только изучить то, что может быть выполнено через шаблоны. Кроме того, это обсуждает много усовершенствованных аспектов шаблонов замечательно.
И современный дизайн и C++ Шаблонное Метапрограммирование C++ очень хороши (и вполне усовершенствованный) книги по предмету. У меня есть сильное персональное предпочтение первого.
Шаблоны C++: полное руководство является Вашим лучшим выбором. Вы могли также узнать о Стандартная Библиотека , который в большой степени использует шаблоны.
Существует скрытое сокровище в шаблонах C++, о которых знают очень немного людей: Общепринятая истина C++: Существенное Промежуточное Программирование .
последние 15 глав той книги и преподает лучше и дополнения Шаблонное Метапрограммирование C++ в некотором отношении. Я настоятельно рекомендую любому, кто должен изучить шаблоны для чтения этой книги в первую очередь.
"Шаблоны C++: полное руководство (Vandevoorde & Josuttis)", превосходно для теории. Затем можно узнать еще больше о фактической практике шаблонной обработки путем взгляда на то, как шаблоны используются в библиотека Boost .