Z toho, co jsem četl. Vytváříte instanci UserController s parametrem CompanyController.
Tato instance se provádí předtím, než skutečně odešlete volání Auth::login().
Když vytváříte instanci správce společnosti pomocí __construct před spuštěním confirmUser na userController objekt companyController existuje před Auth::login() je uskutečněn hovor.