namespace Rapsys\TreeBundle\Controller;
+use Psr\Container\ContainerInterface;
+
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
+
+use Twig\Environment;
/**
* {@inheritdoc}
*/
class TreeController extends AbstractController {
+ /**
+ * Context array
+ */
+ protected array $context = [];
+
/**
* Creates a new tree controller
+ *
+ * @param ContainerInterface $container The ContainerInterface instance
+ * @param Environment $twig The twig environment instance
*/
- function __construct() {
+ function __construct(protected ContainerInterface $container, protected Environment $twig) {
+ }
+
+ /**
+ * The index page
+ *
+ * Display file tree
+ *
+ * @param Request $request The request instance
+ * @return Response The rendered view
+ */
+ public function index(Request $request, string $path): Response {
+ //Render template
+ $response = $this->twig->render('@RapsysTree/index.html.twig', $this->context);
+ $response->setEtag(md5($response->getContent()));
+ $response->setPublic();
+ $response->isNotModified($request);
+
+ //Return response
+ return $response;
}
}