Remix.run Logo
bakugo 6 hours ago

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.

lpapez 4 hours ago | parent | next [-]

>hype-driven commercial product

>single-handedly keeping PHP relevant

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.

bakugo 3 hours ago | parent [-]

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?

lpapez 2 hours ago | parent [-]

> 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.

lexoj 5 hours ago | parent | prev [-]

I don’t do laravel but which bad practices are you referring to?

ceejayoz 5 hours ago | parent | next [-]

50/50 chance it's a complaint about Facades, heh.

bojan 2 hours ago | parent | prev | next [-]

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.

bakugo 3 hours ago | parent | prev [-]

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.

And yeah, there's also facades.