-<?php
+<?php declare(strict_types=1);
+
+/*
+ * This file is part of the Rapsys UserBundle package.
+ *
+ * (c) Raphaël Gertz <symfony@rapsys.eu>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
namespace Rapsys\UserBundle\Handler;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Exception\ResourceNotFoundException;
use Symfony\Component\Routing\RequestContext;
use Symfony\Component\Routing\RouterInterface;
protected $targetUrl;
/**
+ * @xxx Second argument will be replaced by security.firewalls.main.logout.target
+ * @see vendor/symfony/security-bundle/DependencyInjection/SecurityExtension.php +360
+ *
* {@inheritdoc}
*/
- public function __construct(ContainerInterface $container, string $targetUrl = '/', RouterInterface $router) {
+ public function __construct(ContainerInterface $container, string $targetUrl, RouterInterface $router) {
//Set config
$this->config = $container->getParameter(self::getAlias());
/**
* {@inheritdoc}
*/
- public function onLogoutSuccess(Request $request) {
+ public function onLogoutSuccess(Request $request): Response {
//Retrieve logout route
$logout = $request->get('_route');
//With index route from config
if (!empty($name = $this->config['route']['index']['name']) && is_array($context = $this->config['route']['index']['context'])) {
//Without logout route name
- if (($name = $route['_route']) != $logout) {
+ if ($name != $logout) {
//Try index route
try {
//Generate url