Extract controller class and action method from Request or Route
composer require gollumsf/controller-action-extractor-bundle
return [
// [ ... ]
GollumSF\RestBundle\ControllerActionExtractorBundle::class => ['all' => true],
];
use GollumSF\ControllerActionExtractorBundle\Extractor\ControllerActionExtractorInterface;
public function (ControllerActionExtractorInterface $extractor) { // Inject service
// Get $route from router
$controllerAction = $extractor->extractFromRoute($route);
// Get $request
$controllerAction = $extractor->extractFromRequest($request);
// Get $request
$controllerAction = $extractor->extractFromString('Controller::action');
$controllerClass = $controllerAction->getControllerClass(); // Return controller class
$actionMethod = $controllerAction->getActionMethod(); // Return action method
}