On one hand, I hate how much of a hype-driven commercial product Laravel is, and how many novice developers learn bad practices from its awful architecture.
On the other hand, this "problem" only affects vibe coders who weren't writing any code themselves anyway, so I say let them suffer.
The prime example I'll always reach for is the fact that it makes use of PHP classes to represent database entities, but not really - the """classes""" don't actually declare any of their properties, it's all dynamically injected at runtime from the database columns. You need a Laravel-specific IDE plugin just to get basic code completion and static analysis.
In addition to what /u/bakugo already said, they also have custom global magic functions all over the place.
The code discipline and patterns they encourage are so bad that they had to wrap PhpUnit into their own version of the unit test framework named Pest, because PhpUnit intentionally discourages those patterns natively.
While architecture astronauts are clutching pearls, I've built multiple profitable products with Laravel without caring the slighest about the internals, both before and after AI.
PHP was always all about just building stuff while ignoring code quality. Laravel is a natural extension of that approach. Let us live.
No, Symfony is singlehandedly keeping PHP relevant, to the point that every other framework depends on its packages, Laravel included.
Most people like you who don't care about code quality and want to "just build" another B2B SaaS unmaintainable pile of spaghetti are now purely relying on AI and not writing any code themselves anymore, so why use PHP at all instead of JS like all the other vibe coders?
> so why use PHP at all instead of JS like all the other vibe coders?
Because there is nothing remotely close to Laravel for JS. I don't want to think about auth, job queues, mailing, cache layers, auditing etc. I want an opinionated default from my framework that is thoroughly documented and part of the AI training corpus. Laravel gives that to me.
On the other hand, this "problem" only affects vibe coders who weren't writing any code themselves anyway, so I say let them suffer.