récupérer la derniere route
Bonjour,
En train de développer un petit forum.Pour un post A je dois avoir au dessous les réponses associés et un petit ckeditor pour une nouvelle réponse.
Réellement comment je peut récupérer le post concerné pour l'affecter a une nouvelle réponse ?
J'ai pensé à récupérer l'id du post à partir de l'url , peut être récupérer le slug même ..
Une autre façon de faire , c’est de stocker le dernier route dans la session et ensuite je continue.
Apres des recherches , j'ai trouvé le code en bas .. maintenant je sais plus comment continuer .
merci d'avance .
Code:
1 2 3 4 5 6
|
services:
smf_example.last_route_event_listener:
class: SmfBlog\ExampleBundle\EventListener\LastRouteListener
tags:
- { name: kernel.event_listener, event: kernel.request, method: onKernelRequest, priority: 30 } |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
<?php
namespace SmfBlog\ExampleBundle\EventListener;
use Symfony\Component\HttpFoundation\Session;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\HttpKernel\HttpKernel;
class LastRouteListener
{
public function onKernelRequest(GetResponseEvent $event)
{
// Do not save subrequests
if ($event->getRequestType() !== HttpKernel::MASTER_REQUEST) {
return;
}
$request = $event->getRequest();
$session = $request->getSession();
$routeName = $request->get('_route');
$routeParams = $request->get('_route_params');
if ($routeName[0] == '_') {
return;
}
$routeData = ['name' => $routeName, 'params' => $routeParams];
// Do not save same matched route twice
$thisRoute = $session->get('this_route', []);
if ($thisRoute == $routeData) {
return;
}
$session->set('last_route', $thisRoute);
$session->set('this_route', $routeData);
}
} |