Как попадают переменные в контроллер?
Гуглить Dependency Injection и Inversion of Control, читать документацию ларавел (не поверишь, там это есть!) и Diving Laravel, изучать код фреймворка.
Это автовайринг