Я хочу разделить свою кодовую базу на простые, специализированные классы, такие как:
class AddKeyword
{
/**
* @var KeywordRepository
*/
private $keywordRepository;
public function __construct(KeywordRepository $keywordRepository)
{
$this->keywordRepository = $keywordRepository;
}
public function __invoke(string $name): Keyword
{
$entity = $this->keywordRepository->findOneByName($name);
if ($entity)
return $entity;
$entity = Keyword::create(KeywordId::create(), $name);
$this->keywordRepository->save($entity);
return $entity;
}
}
Но для использования этого класса мне нужно разрешить DI. Как это сделать?
Заранее спасибо.