Зачем в обычном проекте может понадобиться использование __invoke?
__invoke() метод позволяет превратить объект в функцию, которую мы можем передавать/получать/резовлить через псевдо-тип callable.
Этакий элемент функционального программирования.

Хорошо подходит там, где мы выстраиваем pipe или reduce, для описания которых ФП подход  является наиболее выразительным и лаконичным. Не знаком с архитектурой Ларавел, но могу предположить, что для авторизации прорисовывается некоторый пайплайн, где можно выполнять разные пайпы или фильтры для првоерки/валидации или чего-либо именно с таким подходом и это более лаконично...

Пример:
public function add(callable $pipe) {
    //..
}

...

$pipeline = (new Pipeline)
     ->add(fn() => true)
     ->add(fn(bool $enabled) =>'Maks enabled')
     ->add(new MaksHandler()) // тут класс с методом __invoke и работает как анонимка
;
Ответ от Vitsliputsli 

Правильно, что не поняли, т.к. вам никто и не ответил.
Совершенно верно, можно просто указать метод, там где тип callable, и разницы нет никакой.
А можно как, выше написал Лентюй, просто вызвать метод класса, а его необходимость описать в интерфейсе без всяких callable вовсе.
Если вы используете ООП, то invoke вам не нужен, оперируйте объектами, а не функциями, и не мутантами вида "объект как функция". 