@magary4

Как извлечь обьект из Service Container в зависимости от аргумента?

Как сделать такое

class Product {
   private $container;
   private $data;
   public function __constructor( ServiceContainer  $container ) {
       $this->container = $container;
        $this->data = $this->container->get('someotherservice')->getDataById( $ID );
  } 
}

// controller code

$ID = 123;
$product = $this->get('service.product');  //  как передать туда ID?


т.е передать 123 и ServiceContainer должен вернуть экземпляр обьекта созданый на основе этого ИД
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
miraage
@miraage
Старый прогер
Так нельзя делать.
Вернее, можно, но это полный моветон и архитектурная ошибка.
Инжектите в контроллер someotherservice и вызывайте его метод getDataById.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы