$engine = $container->get('app\components\SearchEngineInterface');
// Эквивалентно $engine = new \app\components\SearchEngine($apiKey, $apiSecret, ['type' => 1]);
<code />
Если вам нужно передавать какой-то параметр при создании сервиса, то
<code lang="php">
$factory = $container->get('app\components\SearchEngineFactory');
$engine = $factory->getEngine(['type' => 1]);
<code />
Как это сделать на симфони - по ссылке
Я бы вынес этот конструктор отдельно от основного приложения, чтобы им могли пользоваться только разработчики. В итоге чтобы он генерировал не изменения в БД, а к примеру, готовую миграцию, которую разработчику оставалось только добавить в код