У Laravel как бы огромное сообщество
многое нельзя сделать из коробки простым способом из-за паттерна unit of work
2. Не должно подсвечивать, ну и перед Exception нужен слеш \Exception()
$core
->getPromise()
->getConfig()
->getPromise()
->getDatabases()
->getMySQL()
->getHost();
Не совсем правильный вывод. В конструкторе должны быть те зависимости, что общие для всех экшенов внутри контроллера, иначе да, ларавел будет резолвить и даже те зависимости, что не юзаются в методе, но есть в конструкторе. Так что не надо полностью отказываться от конструктора.