I agree with @salmon. Typically you pass variables to your controller methods either through the Request object, route parameters, or route model binding (which is still route parameters). Typically, at least for me, you use the constructor in a controller for dependency injection.
So let's say I have 5 classes and 4 of them need the logic passing in the constructor, will it be ok to still run this constructor on the class that does not require it? Would this not be a waste of overheads? If yes how would you deal with the 5th class that does not require this logic in the constructor to run, can we stop the constructor to run on specific classes?