What isn't fake is that Laravel uses magic methods everywhere, especially in the ORM layer.
There are way too many magic things happening under the hood for my taste.
Magic methods in PHP are very commonly used to help reduce code verbosity - having come from working mostly in C++ I appreciate being able to express things succinctly.
Much more important for code, especially library code is readability
The fake case against Laravel that never dies . The truth is found in the docs: https://laravel.com/docs/5.8/facades
> Facades provide a "static" interface to classes that are available in the application's service container. Laravel ships with many facades which provide access to almost all of Laravel's features. Laravel facades serve as "static proxies" to underlying classes in the service container, providing the benefit of a terse, expressive syntax while maintaining more testability and flexibility than traditional static methods.