Эм... при чём здесь синглетон, это фасад для IOC, вместо IoC::get('Foo')->bar() или $this->app->make('Foo')->bar() используется человекопонятная запись Foo::bar(), при этом на этапе тестирования из коробки имеется возможность мокать Foo::shouldReceive('bar');Естественно говнокод. Фасад - это синглтон, в котором логика вынесена в отдельный класс-сервис, а пользуются этим сервисом исключительно через глобальный объект,фасад, синглтон то есть.
Вы якобы можете использовать сервис по человечески, но на практике никто этого не делает. Иллюзия чистого кода.
На качество кода это никак не влияет, нет отличий от SF или других с их $this->get('doctrine.orm.entity_manager');
Да и пользоваться фасадами никто не заставляет. Говнокод у laravel внутри, покопайся в компонентах. Особенно бесит корявая перегрузка error_hanlder в 5-й версии, когда фреймворк валится даже в дев режиме с пустой страницей без строчки в логах.