используйте автозагрузку зависимостей, чтобы нужные подтягивались сами.
Я у себя в проекте реализовал такую штуку
/**
* AccountController constructor.
* @param ViewInterface $view
* @param ModelInterface $model
* @param AuthHandler $authHandler
* @Dependencies(
* 'app\Core\View\BaseView',
* 'src\Models\Auth\AuthModel',
* 'src\Middleware\Auth\AuthHandler'
* )
*/
public function __construct(ViewInterface $view,ModelInterface $model, AuthHandler $authHandler) {
$this->view = $view;
$this->model = $model;
$this->authHandler = $authHandler;
}
В аннотациях перечисляю зависимости класса, парсер вытаскивает нужные зависимости и кладет в конструктор.