N°6933 - SF 6.4 - Remove deprecated calls

- AbstractController (remove getSubscribedServices override, add setter for router service injection)
This commit is contained in:
Benjamin Dalsass
2023-11-21 08:19:27 +01:00
parent 92d071727f
commit b118b48468

View File

@@ -21,6 +21,8 @@
namespace Combodo\iTop\Portal\Controller;
use \Symfony\Bundle\FrameworkBundle\Controller\AbstractController as SymfonyAbstractController;
use Symfony\Component\Routing\RouterInterface;
use Symfony\Contracts\Service\Attribute\Required;
/**
* Class AbstractController
@@ -31,33 +33,13 @@ use \Symfony\Bundle\FrameworkBundle\Controller\AbstractController as SymfonyAbst
*/
abstract class AbstractController extends SymfonyAbstractController
{
/**
* Return services needed inside controllers.
* Allow access to service via $controller->get(`service_name`).
*
* Improvement: Use service dependency injection
*
* @return array array of service injected to controllers
* @since 3.1.0
*
*/
public static function getSubscribedServices(): array
/** @var \Symfony\Component\Routing\RouterInterface symfony router */
private RouterInterface $oRouterInterface;
#[Required]
public function setRouter(RouterInterface $oRouterInterface): void
{
return array_merge(parent::getSubscribedServices(), [
'brick_collection' => 'Combodo\iTop\Portal\Brick\BrickCollection',
'request_manipulator' => 'Combodo\iTop\Portal\Helper\RequestManipulatorHelper',
'scope_validator' => 'Combodo\iTop\Portal\Helper\ScopeValidatorHelper',
'security_helper' => 'Combodo\iTop\Portal\Helper\SecurityHelper',
'context_manipulator' => 'Combodo\iTop\Portal\Helper\ContextManipulatorHelper',
'navigation_rule_helper' => 'Combodo\iTop\Portal\Helper\NavigationRuleHelper',
'ui_extensions_helper' => 'Combodo\iTop\Portal\Helper\UIExtensionsHelper',
'lifecycle_validator' => 'Combodo\iTop\Portal\Helper\LifecycleValidatorHelper',
'url_generator' => 'router',
'object_form_handler' => 'Combodo\iTop\Portal\Helper\ObjectFormHandlerHelper',
'browse_brick' => 'Combodo\iTop\Portal\Helper\BrowseBrickHelper',
'brick_controller_helper' => 'Combodo\iTop\Portal\Helper\BrickControllerHelper',
'session_message_helper' => 'Combodo\iTop\Portal\Helper\SessionMessageHelper',
]);
$this->oRouterInterface = $oRouterInterface;
}
/**
@@ -76,7 +58,7 @@ abstract class AbstractController extends SymfonyAbstractController
*/
protected function ForwardToRoute($sRouteName, $aRouteParams, $aQueryParameters, $bPreserveDefaultRouteParams = true)
{
$oRouteCollection = $this->get('router')->getRouteCollection();
$oRouteCollection = $this->oRouterInterface->getRouteCollection();
$aRouteDefaults = $oRouteCollection->get($sRouteName)->getDefaults();
if ($bPreserveDefaultRouteParams) {
@@ -113,7 +95,7 @@ abstract class AbstractController extends SymfonyAbstractController
*/
protected function GetControllerNameFromRoute($sRouteName)
{
$oRouteCollection = $this->get('router')->getRouteCollection();
$oRouteCollection = $this->oRouterInterface->getRouteCollection();
$aRouteDefaults = $oRouteCollection->get($sRouteName)->getDefaults();
return $aRouteDefaults['_controller'];