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; namespace Combodo\iTop\Portal\Controller;
use \Symfony\Bundle\FrameworkBundle\Controller\AbstractController as SymfonyAbstractController; use \Symfony\Bundle\FrameworkBundle\Controller\AbstractController as SymfonyAbstractController;
use Symfony\Component\Routing\RouterInterface;
use Symfony\Contracts\Service\Attribute\Required;
/** /**
* Class AbstractController * Class AbstractController
@@ -31,33 +33,13 @@ use \Symfony\Bundle\FrameworkBundle\Controller\AbstractController as SymfonyAbst
*/ */
abstract class AbstractController extends SymfonyAbstractController abstract class AbstractController extends SymfonyAbstractController
{ {
/** /** @var \Symfony\Component\Routing\RouterInterface symfony router */
* Return services needed inside controllers. private RouterInterface $oRouterInterface;
* Allow access to service via $controller->get(`service_name`).
* #[Required]
* Improvement: Use service dependency injection public function setRouter(RouterInterface $oRouterInterface): void
*
* @return array array of service injected to controllers
* @since 3.1.0
*
*/
public static function getSubscribedServices(): array
{ {
return array_merge(parent::getSubscribedServices(), [ $this->oRouterInterface = $oRouterInterface;
'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',
]);
} }
/** /**
@@ -76,7 +58,7 @@ abstract class AbstractController extends SymfonyAbstractController
*/ */
protected function ForwardToRoute($sRouteName, $aRouteParams, $aQueryParameters, $bPreserveDefaultRouteParams = true) protected function ForwardToRoute($sRouteName, $aRouteParams, $aQueryParameters, $bPreserveDefaultRouteParams = true)
{ {
$oRouteCollection = $this->get('router')->getRouteCollection(); $oRouteCollection = $this->oRouterInterface->getRouteCollection();
$aRouteDefaults = $oRouteCollection->get($sRouteName)->getDefaults(); $aRouteDefaults = $oRouteCollection->get($sRouteName)->getDefaults();
if ($bPreserveDefaultRouteParams) { if ($bPreserveDefaultRouteParams) {
@@ -113,7 +95,7 @@ abstract class AbstractController extends SymfonyAbstractController
*/ */
protected function GetControllerNameFromRoute($sRouteName) protected function GetControllerNameFromRoute($sRouteName)
{ {
$oRouteCollection = $this->get('router')->getRouteCollection(); $oRouteCollection = $this->oRouterInterface->getRouteCollection();
$aRouteDefaults = $oRouteCollection->get($sRouteName)->getDefaults(); $aRouteDefaults = $oRouteCollection->get($sRouteName)->getDefaults();
return $aRouteDefaults['_controller']; return $aRouteDefaults['_controller'];