namespace ; #[Route('')] class extends AbstractController { use FormControllerTrait; protected const ENTITY = ::class; protected const TEMPLATE_PATH = '/'; protected const ROUTE_PREFIX = '_'; protected const FORM = ::class; public function __construct(private readonly EntityManagerInterface $entityManager) { } generateRouteForControllerMethod('/', sprintf('%s_index', $route_name), ['GET']) ?> public function index( $): Response { return $this->render('/index.html.twig', [ '' => $->findAll(), ]); } public function index(): Response { return $this->itemListView('', []); } generateRouteForControllerMethod('/new', sprintf('%s_new', $route_name), ['GET', 'POST']) ?> repositoryHasSaveAndRemoveMethods($repository_full_class_name)) { ?> public function new(Request $request, $): Response public function new(Request $request): Response { return $this->itemCreate($request, ''); } generateRouteForControllerMethod(sprintf('/{%s}', $entity_identifier), sprintf('%s_show', $route_name), ['GET']) ?> public function show( $): Response { return $this->itemView($, ''); } generateRouteForControllerMethod(sprintf('/{%s}/edit', $entity_identifier), sprintf('%s_edit', $route_name), ['GET', 'POST']) ?> repositoryHasSaveAndRemoveMethods($repository_full_class_name)) { ?> public function edit(Request $request, $, $): Response public function edit(Request $request, $): Response { return $this->itemUpdate($request, $, ''); } generateRouteForControllerMethod(sprintf('/{%s}', $entity_identifier), sprintf('%s_delete', $route_name), ['POST']) ?> repositoryHasSaveAndRemoveMethods($repository_full_class_name)) { ?> public function delete(Request $request, $, $): Response public function delete(Request $request, $): Response { return $this->deleteCSRF($request, $); } }