Доброго времени суток уважаемые!
Собственно вопрос уже обозначен в заголовке. Как вызвать метод сквозь контейнер?
<?php
class Some
{
public function any(DependencyA $a, DependencyB $b)
{
// do something
}
}
// Вызов
// service.name должен быть зарегистрированным в services.yml
$instance = $container->get('service.name');
// А дальше?
Аналогичный пример в Laravel 5+:
<?php
class Some
{
public function any(DependencyA $a, DependencyB $b, $some)
{
// do something
}
}
// Вызов
// Получение инстанса из контейнера (аналогично вызову $container->get('service.name') в симфони )
$instance = $container->make(Some::class);
// Все аргументы из контейнера
// т.е. $a и $b, срабатывает автоматический автовайринг для неуказанных аргументов
// кроме $some - он указывается явно во время вызова
$container->call([$instance, 'any'], [ 'some' => 42 ]);