Можно ли получить доступ к плагинам контроллера из фабрики форм/контроллеров (любой фабрики, реализующей FactoryInterface)?
У меня есть фабрика форм, в которой я хочу установить действие формы в зависимости от параметра запроса, но мне нужно получить доступ к URL-адресу из маршрута, определенного в конфигурации.
Итак, тогда как в контроллере я бы использовал плагин контроллера URL:
$form->setAttribute('action', $this->url()->fromRoute('appointment.add', array('clientId' => $clientId)));
... как я могу получить доступ к этому на фабрике? например что-то вроде:
class MyFormFactory implements FactoryInterface
{
public function createService(ServiceLocatorInterface $serviceLocator){
$serviceManager = $serviceLocator->getServiceLocator();
//...snip...
$form = new AddAppointmentForm($client);
$serviceManager->get('ControllerPluginManager');
$url = $controllerPluginManager->get('Url');
die($url->fromRoute('appointment.add', ['clientId' => $clientId]));
return $form;
}