collection-crud/src/Resources/crud/controller/Controller.tpl.php

70 lines
3.2 KiB
PHP

<?= "<?php declare(strict_types=1);\n" ?>
namespace <?= $namespace ?>;
<?= $use_statements; ?>
#[Route('<?= $route_path ?>')]
class <?= $class_name ?> extends AbstractController {
use FormControllerTrait;
protected const ENTITY = <?= $entity_class_name ?>::class;
protected const TEMPLATE_PATH = '<?= $entity_twig_var_singular ?>/';
protected const ROUTE_PREFIX = '<?= $entity_twig_var_singular ?>_';
protected const FORM = <?= $form_class_name ?>::class;
public function __construct(private readonly EntityManagerInterface $entityManager)
{
}
<?= $generator->generateRouteForControllerMethod('/', sprintf('%s_index', $route_name), ['GET']) ?>
<?php if (isset($repository_full_class_name)): ?>
public function index(<?= $repository_class_name ?> $<?= $repository_var ?>): Response
{
return $this->render('<?= $templates_path ?>/index.html.twig', [
'<?= $entity_twig_var_plural ?>' => $<?= $repository_var ?>->findAll(),
]);
}
<?php else: ?>
public function index(): Response
{
return $this->itemListView('<?= $entity_twig_var_plural ?>', []);
}
<?php endif ?>
<?= $generator->generateRouteForControllerMethod('/new', sprintf('%s_new', $route_name), ['GET', 'POST']) ?>
<?php if (isset($repository_full_class_name) && $generator->repositoryHasSaveAndRemoveMethods($repository_full_class_name)) { ?>
public function new(Request $request, <?= $repository_class_name ?> $<?= $repository_var ?>): Response
<?php } else { ?>
public function new(Request $request): Response
<?php } ?>
{
return $this->itemCreate($request, '<?= $entity_twig_var_singular ?>');
}
<?= $generator->generateRouteForControllerMethod(sprintf('/{%s}', $entity_identifier), sprintf('%s_show', $route_name), ['GET']) ?>
public function show(<?= $entity_class_name ?> $<?= $entity_var_singular ?>): Response
{
return $this->itemView($<?= $entity_var_singular ?>, '<?= $entity_twig_var_singular ?>');
}
<?= $generator->generateRouteForControllerMethod(sprintf('/{%s}/edit', $entity_identifier), sprintf('%s_edit', $route_name), ['GET', 'POST']) ?>
<?php if (isset($repository_full_class_name) && $generator->repositoryHasSaveAndRemoveMethods($repository_full_class_name)) { ?>
public function edit(Request $request, <?= $entity_class_name ?> $<?= $entity_var_singular ?>, <?= $repository_class_name ?> $<?= $repository_var ?>): Response
<?php } else { ?>
public function edit(Request $request, <?= $entity_class_name ?> $<?= $entity_var_singular ?>): Response
<?php } ?>
{
return $this->itemUpdate($request, $<?= $entity_var_singular ?>, '<?= $entity_twig_var_singular ?>');
}
<?= $generator->generateRouteForControllerMethod(sprintf('/{%s}', $entity_identifier), sprintf('%s_delete', $route_name), ['POST']) ?>
<?php if (isset($repository_full_class_name) && $generator->repositoryHasSaveAndRemoveMethods($repository_full_class_name)) { ?>
public function delete(Request $request, <?= $entity_class_name ?> $<?= $entity_var_singular ?>, <?= $repository_class_name ?> $<?= $repository_var ?>): Response
<?php } else { ?>
public function delete(Request $request, <?= $entity_class_name ?> $<?= $entity_var_singular ?>): Response
<?php } ?>
{
return $this->deleteCSRF($request, $<?= $entity_var_singular ?>);
}
}