Bonjour à tous,

J'utilisais Slim Framework 2 avec le tuto de Grafikart et j'ai voulu adapter le système pour la nouvelle verison mais impossible de faire une redirection.
Dans mon controller je mets ceci, comme indiqué dans la doc :

return $response->withHeader('Location', 'http://www.google.fr');

Mais la redirection ne se fait pas.
Je fais la même chose sans le router de Grafikart et ça fonctionne. J'ai essayer un header location dans mon controller mais toujours rien.
C'est comme si c'était bloqué.

Je ne comprends pas, si une âme charitable pouvait m'aider ...

Merci d'avance et bonne journée

1 réponse


BaBeuloula
Auteur
Réponse acceptée

Pour ceux que ça intéresse, il est inutile maintenant de charger le système de route de Grafikart, il suffit de faire comme ceci :

// index.php
$app->get('/hello/{name}', \Controller\HelloController::class.":Hello")->setName('hello');
// \Controller\Controller.php
// $container est passé directement par Slim
<?php

    namespace Controller;

    class Controller {

        protected $container;
        protected $view;
        protected $flash;
        protected $router;

        public function __construct($container) {
            $this->container = $container;
            $this->view = $this->container->view;
            $this->flash = $this->container->flash;
            $this->router = $this->container->router;
        }
// \Controller\HelloController.php
<?php

    namespace Controller;

    class HelloController extends Controller {

        public function Hello($request, $response, $args) {
            return $this->view->render($response, 'Hello/Hello.html.twig', [
                'name' => $args['name']
            ]);
        }