Делаю инъекцию в конструктор контроллера, а потом просто вызываю метод.
Так выглядит мой сервис-провайдер
public function register()
{
//
$this->app->bind(CampaignService::class, function($app) {
$entityManager = $app->make('registry')->getManager();
$doctrineCampaignRepository = new DoctrineCampaignRepository($entityManager, $entityManager->getRepository(Campaign::class));
$doctrineCampaignTypeRepository = new DoctrineCampaignTypeRepository($entityManager);
$doctrineCampaignCategoryRepository = new DoctrineCampaignCategoryRepository($entityManager);
return new CampaignService($doctrineCampaignRepository, $doctrineCampaignTypeRepository, $doctrineCampaignCategoryRepository);
});
}
Впервые работаю с сервис-провайдерами и контейнерами, но верно ли я делаю это? Выглядит как подобие фабрики, разве нет? Или оно так и есть или я использую не по назначению это, укажите на ошибки, пожалуйста