Я нахожусь в процессе обновления большого приложения до 4.2
, а $this->get(".....")
изнутри контроллера устарел, и вместо него следует использовать AutoWire.
Я работаю впроблема в том, что у меня есть 2 службы, которые на самом деле принадлежат к одному и тому же классу (просто аргументы diffrent-конструктора).
services.yml
services:
service.a:
class: Namespace\MyClass
arguments: [ "argument1" ]
service.b:
class: Namespace\MyClass
arguments: [ "argument2" ]
контроллер:
public function demoAction() {
$serviceA = $this->get("service.a");
$serviceB = $this->get("service.b");
}
и проблемный результат:
public function demoAction(MyClass $serviceA, MyClass $serviceB) {
}
мы можем использовать псевдоним для определения сервисов, таких как:
MyClass: '@service.a'
, но я не могу использовать виртуальный / поддельный класс, например (без существующего):
MyPseudClass: '@service.b'
как вы обрабатываете подобные случаи в автоматическом режиме?
я мог бы создавать "псевдо" классы, которые расширяются от базы, просто чтобы получить разные имена классов, но это странно.