Часто вижу в проектах вот такую Dependency Injection.
public function __construct(AccountRepository $accountRepo, UserMailer $userMailer, ContactMailer $contactMailer)
{
parent::__construct();
$this->accountRepo = $accountRepo;
$this->userMailer = $userMailer;
$this->contactMailer = $contactMailer;
}
Я понимаю что переменные у функции должны быть реализациями классов - которые написаны перед ними. А сами переменные откуда берутся? Вроде надо сделать app::bind()? Или как? Я что-то совсем не понял.