99% of devs do Laravel wrong
45sStrong controversial opening that hooks developers by claiming most tutorials teach the wrong approach.
▶ Play ClipThe video argues that most Laravel developers ignore built-in features like service containers, Eloquent relationships, and queues, making their code unnecessarily complex. The speaker shares personal experience and urges a shift from 'how to build this' to 'what's the best way to do this.'
99% of devs ignore Laravel's built-in features, making their lives harder.
Developers write manual validation in controllers instead of using Laravel's features.
Laravel's container auto-wires dependencies, reducing setup code from 50 lines to just working.
Using eager loading and custom relationships can reduce DB queries from over 100 to under 10 per page.
Laravel queues with Horizon process tasks in background, improving user experience and providing monitoring.
53% of mobile users abandon sites loading over 3 seconds; queues help avoid delays.
Stop reinventing the wheel; leverage Laravel's built-in tools to write cleaner, more maintainable code.
"Title is slightly exaggerated but content delivers on the core message about overlooked Laravel features."
What percentage of mobile users abandon sites that take over 3 seconds to load?
53%
2:34
What principle does Laravel's service container follow?
Dependency inversion principle from SOLID design.
1:29
How can eager loading reduce database queries per page?
From over 100 to under 10.
2:02
What is the recommended approach for processing user uploads to avoid delays?
Use Laravel's queue system with ShouldQueue interface.
2:10
What tool provides a dashboard to monitor Laravel jobs?
Laravel Horizon.
2:25
99% of devs ignore Laravel features
Sets up the core argument that most developers are not leveraging the framework.
Service containers reduce boilerplate
Demonstrates a concrete example of how Laravel simplifies dependency management.
1:04Queues improve user experience
Highlights a production-grade feature that separates hobby projects from professional apps.
2:0753% abandon slow sites
Provides a compelling statistic to justify using queues for performance.
2:34Shift mindset to 'best way'
Summarizes the key philosophical change needed to use Laravel effectively.
2:50[00:00] Look, I'm just going to say it. If
[00:01] you're building Laravel apps the way
[00:03] most tutorials teach you, you and
[00:05] probably 99% of devs watching this are
[00:07] making your lives 10 times harder than
[00:09] it needs to be. I'm talking about
[00:10] fundamental approaches that Laravel
[00:12] literally gives you for free. But 99% of
[00:15] developers just ignore them. Stay with
[00:17] me for the next few minutes because what
[00:18] I'm about to show you will completely
[00:20] change how you think about building web
[00:22] applications. I've shipped a few Laravel
[00:24] apps in the past couple of years and
[00:25] honestly, for the first two projects, I
[00:27] was doing it completely wrong. I was
[00:29] writing hundreds of lines of code that
[00:30] Laravel was ready to handle for me. My
[00:33] controllers were bloated. My code was
[00:34] repetitive and deployment was a
[00:36] nightmare. Then I locked in and
[00:37] discovered what I'm about to share with
[00:39] you. Here's what I see a lot online.
[00:41] Developers treating Laravel like it's
[00:42] just PHP with extra steps. They write
[00:45] manual validation in controllers. They
[00:47] skip service containers. They ignore
[00:48] policies and gates. And they manually
[00:50] handle things like rate limiting and
[00:52] caching. Why? Because most tutorials
[00:54] focus on getting something working fast,
[00:55] not on building it the Laravel way. you
[00:57] end up with code that's technically
[00:59] functional but impossible to maintain or
[01:01] scale. And this is exactly what we're
[01:03] trying to avoid. Let's first talk about
[01:04] service containers and dependency
[01:06] injection. Instead of manually creating
[01:08] objects and passing dependencies
[01:09] everywhere, Laravel's container does
[01:11] this automatically. Imagine you have a
[01:13] payment service that needs a logger, a
[01:14] database connection, and an API client.
[01:17] Most people create all of these manually
[01:19] in every controller method. With
[01:20] Laravel's container, you just type
[01:22] hintit in your constructor and boom,
[01:24] everything is wired up automatically.
[01:25] Your code goes from 50 lines of setup to
[01:27] just working. This follows the
[01:29] dependency inversion principle from
[01:30] solid design, making your code
[01:32] infinitely more testable and flexible.
[01:34] Here's another one. Eloquent
[01:35] relationships used correctly. Everyone
[01:37] knows has many and belongs to, but
[01:39] barely anyone uses the powerful stuff.
[01:40] You need all users who made a purchase
[01:42] in the last 30 days and spent over $100.
[01:45] Most developers write a nightmare of
[01:46] joins and wear clauses. What the HELL IS
[01:49] EVEN THAT?
[01:50] >> Laravel lets you do this with warehouser
[01:52] loading in one readable line. But here's
[01:54] the kicker. You can create custom
[01:55] relationship methods and use with count
[01:57] to avoid n plus1 query problems that
[02:00] kill performance. Laravel debug bar
[02:02] shows that apps with proper eager
[02:03] loading can reduce database queries from
[02:05] over 100 per page to under 10. And
[02:07] here's the one that separates hobby
[02:08] projects from production grade
[02:09] applications. Laravel's Q system
[02:11] combined with horizon. You have a user
[02:13] uploading a profile picture. Most
[02:15] developers process it immediately while
[02:17] the user waits. That's terrible. With
[02:19] Laravel Q's, you add implement should Q
[02:21] to your job class and it runs in the
[02:23] background. The user gets instant
[02:24] feedback. Horizon gives you a dashboard
[02:26] to monitor jobs, balances load, and
[02:28] retries failures. This is infrastructure
[02:30] that companies pay thousands for, and
[02:32] Laravel gives it to you out of the box.
[02:34] Google's research shows that 53% of
[02:36] mobile users abandon sites that take
[02:38] over 3 seconds to load. So why do 99% of
[02:41] developers miss this? Because we're
[02:43] taught to code, not to take advantage of
[02:44] frameworks. We solve problems from
[02:46] scratch. But with Laravel, the problems
[02:48] are already solved. The shift you need
[02:50] is this. Stop asking, "How do I build
[02:52] this?" and start asking what's the best
[02:54] way to do this. Here's what I want you
[02:55] to do right now. Open your latest
[02:57] Laravel project and find one place where
[02:59] you're doing something manually, just
[03:00] one. Refactor that one thing using
[03:03] Laravel's built-in features. That's it.
[03:05] And if you want to better understand
[03:06] Laravel, you must first hone your PHP
[03:08] skills. And the best way to do that is
[03:10] to create cool unique projects using
[03:12] Code Crafters, the sponsor of today's
[03:14] video. They are the most rated GitHub
[03:16] repo, and that's for a good reason.
[03:17] Their platform gives you access to
[03:19] unique projects that will help you stand
[03:20] out from the competition without the
[03:22] clown shoes and nose. Want to build an
[03:24] HTTP or DNS server from scratch? Check.
[03:27] Hell, you can even craft your own
[03:28] version of Git. All while others are
[03:30] still struggling to center that annoying
[03:31] div in their to-do app. You can start
[03:33] some projects free of charge, and if you
[03:35] use my link in the description, you can
[03:37] get yourself a whopping 40% off. So,
[03:39] hurry up. This was Codehead with yet
[03:41] another tech rant. If you enjoyed it,
[03:43] please leave a like and subscribe.
[03:44] Lights out.
⚡ Saved you time reading this? Transcribe any YouTube video for free — no signup needed.