Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Dracool's avatar

I'm starting to hate laravel

I don't know about other beginners with Laravel like myself but so far the only thing I've discovered is how frustrating it is to depend on sooo many things that I don't understand. It feels like I need to change 720 degrees in order to just "keep the modern trend"

The video tutorials SHOULD be making it easier, but they aren't. I keep re-listening Jeffrey Way and its only making me pissed for not understanding most of it.

I should say that I like Code Igniter. Its a framework that I learned MVC on and that is stuck with me. But maybe I need to learn other frameworks and do some projects with them before I come back to laravel because -> I may just lack appreciation for Laravel's "simplicity". I haven't seen that simplicity anywhere, it just made PHP more complex for no reason and introduced so many 3rd party tools it made me puke.

Anyone want to share some tips with me on what should I do?

0 likes
93 replies
christopher's avatar

Ehm .. whats the problem? Whats so difficult ? Did your start the video tutorials with the laravel5 fundamentels ?

Take also a look at the Project Flyer to take a look how to create an app from scratch. That should help.

2 likes
davorminchorov's avatar

It feels like I need to change 720 degrees in order to just "keep the modern trend"

Welcome to Modern Web Development.

Programming / Web Development is not easy. If you believe that you should stay the same all the time, then I am sorry, but this profession is not for you.

Be a little bit more serious, sit down, take some video courses and get to work!

28 likes
Dracool's avatar

@christopher Here are my main reasons of why I find laravel so far difficult:

  • Its dependent on many things you need to learn. Composer, Artisan, Tinker, Eloquent, Vagrant, Homestead...
  • You can't just jump in and start coding. Before you even do that you have to at least have some vague understanding of the above. I don't want to learn any of these above, but the tutorials I try and follow enforce all of the above and market them "so simple, so effective". For me, they are just unnecessary and a drag
  • The code is hard to understand because Laravel is so structured, so automated...
  • People say documentation is great. I don't see this. In my opinion, CI has a much better documentation than Laravel

@Ruffles I am openly stating a problem I have with this framework. I'm serious enough.

No I don't expect to stay the same all the time. I also don't expect development to rapidly change. To me, Laravel is a rapid new change from the frameworks I feel comfortable with.

Note that I find this difficult, I'm not saying this is innately difficult for everyone.

2 likes
willFH54's avatar

@Dracool

I know this is old post, but it still resonates.

I experienced the same frustration, but as of November, 2023, i read the book, Practical Laravel by Daniel Correa and Paola Vallejo. For me, this book was a Laravel game changer. I now have a better understanding of the "big picture". I will continue with Laracasts, of course, but with better understanding. May not work for everybody, but it helped me immensely.

1 like
bashy's avatar

How long have you been using Laravel? I would say it takes a good year to get to grips with how most of these new tools function and how you can use them.

EDIT:

  1. Composer; you only need to know a few commands... Artisan; it's nothing but a helper, what commands do you have trouble with? Tinker; it's just a php console... Eloquent; Takes time to learn but you can use your own ORM if you don't like it. Vagrant; It's not just Laravel that uses it, you can also use Docker or just plain web server on MAMP/WAMP/XAMPP. Homestead; Not required and it is very helpful once you understand it - the time saved is worth it.
  2. I can jump into coding straight after Laravel installs? What's holding you back?
  3. It is but maybe you need to use a full IDE so you can trace back methods and classes. I never had it but it's made me understand it greatly.
  4. It's okay but I wouldn't say it's great. There's many different ways to do something in Laravel. Sometimes it can be confusing how to put a code snippet into a different scenario. It's become a lot better over the years though.
10 likes
Dracool's avatar

@bashy Almost a month.

Sure, I agree to your year statement. But I'm learning laravel now, not actively using it. I just expect to know more than I do now.

Maybe I'm too stupid or inexperienced to learn Laravel at this point of time.

zachleigh's avatar

Its dependent on many things you need to learn. Composer, Artisan, Tinker, Eloquent, Vagrant, Homestead...

Not really.

  • Composer: Any modern php developer should know how to use Composer. Thats not at all limited to Laravel.
  • Artisan: Artisan is simple..with half a dozen commands you can do most things a beginner would need to do.
  • Tinker: Ive never used it. Definitely not necessary in my opinion.
  • Eloquent: Eloquent is really convenient and learning it will save you loads of time.
  • Vagant: Never used it.
  • Homestead: Good to use for a lot of situations, but you certainly dont have to use it.

Like anything else, if you want to get good at using it, youre going to have to put in some time and effort.

4 likes
bashy's avatar

I updated my answer since you replied before I sent it. Mostly the same as @zachleigh

1 like
MikeHopley's avatar

It feels like I need to change 720 degrees in order to just "keep the modern trend"

...after turning 720 degrees, you are facing exactly the same direction. ;-)

Its dependent on many things you need to learn. Composer, Artisan, Tinker, Eloquent, Vagrant, Homestead...

You don't need to use all these things. For example, I've never used Tinker, Vagrant, or Homestead. For me personally, I don't feel it's worth learning these things.

Composer is really worthwhile, honestly. It makes life so much easier when you can pull in a package and not get stuck in dependency hell.

You don't really need to use Artisan -- at least, not much. Just because Jeffrey Way likes generating classes from the command line, doesn't mean you have to. Most of the time I just copy & paste from another file! Use Artisan as much or as little as you find convenient.

Remember that you don't have to copy everything that Jeffrey does!

1 like
topvillas's avatar

You don't need to become a Laravel guru overnight. Stop stressing about learning about every component to the Nth degree before you feel able to use it.

2 likes
joedawson's avatar

@bashy

I would say it takes a good year to get to grips with how most of these new tools function and how you can use them.

This, so much.

It's like most things, you don't learn how to do it there and then. Take skateboarding as an example, people perfect this over years and years. I'm not saying it will take you that long at all, but seeing as you're still only a month in - give it a chance. I promise you'll see differently.

3 likes
Dracool's avatar

Thanks for the feedback guys. All of you

I made a wrong assumption. I thought that everyone is like Jeffrey and feeling frustrated because I'm not getting it.

I'll definitely check that flyer tutorial, thanks @christopher

Can anyone suggest some simpler tutorials than the Laravel Fundamentals? Maybe I've been doing this wrong, instead of going for the hard tutorials I should literally start from the simplest ones. Maybe that will make it click for me

1 like
ZetecVan's avatar

@Dracool stick with it. My day job is a programmer on a mainframe system so I don't touch PHP or any web technologies at work. I started with Laravel at Version 4 because I'd created a couple of websites with CodeIgniter and wanted to learn new things. All the tools, IDEs, vagrant, gulp etc were overwhelming at first, but I stuck with it, learning a subject at a time, rather than a bit on VueJS, a bit of Sublime Text etc.

So here I am 18 months down the line, and am still learning new things every day. I didn't look at Vagrant until I could create basic websites with Laravel. I just used XAMPP. Then after I'd got vagrant up and running, I looked at PHPStorm.

Take a look at Scotch.io. They have some good Laravel tutorials. This one may help you with Eloquent: https://scotch.io/tutorials/a-guide-to-using-eloquent-orm-in-laravel

Stick with it. Take it a bit at a time. Then when you're happy with that bit, learn a new bit!

2 likes
Dracool's avatar

@bashy Thanks, will give that a go then. Is it from previous version though? Because I've had enough of "can't find the file" problems with the fundamentals tutorial so far.

@ZetecVan Thank you :) Good feedback. I will stick with it, either now or learn it at later date. In any case, I intend to learn Laravel at some point. Maybe I need some grunt work before I do though

vadimsg's avatar

I don't want to write so negative post but maybe it's not really Laravel fault? Laravel community and Laravel was/is the framework which did in my opinion the PHP revolution. The whole concept of Laravel is to make development so much cleaner, faster, easier, enjoyable. It took all the benefits/concepts from all modern frameworks (respect for Symfony), and made development process more enjoyable, cleaner, faster and simple. The whole Laravel community built so many awesome packages. You can create and deploy PHP website in something like 5min. The whole Laravel documentation is like goldmine, you have there everything for fast, clean development.

The problem is that you my friend are coming from CodeIgniter. Sorry to hear that but you missed a lot of mind-blowing breaking changes in PHP. That's not Laravel fault. I should suggest you to start just learning, no one here finds Laravel difficult, if Laravel is difficult for you then that's your lack of skill in PHP.

Try Symfony or Zend for example :) /sarcasm

The word "simplicity" doesn't do a lot for you if you are not familiar with modern web technologies and concepts.

1 like
Nick385's avatar

@Dracool I've gone from zero to 4 in a few months repetition is key. programming is hard work break shit fix it and learn, don't focus on the end result, focus on the process and enjoy the little things, after a while you look back at all the things you'll learned. It goes faster then you think if you keep at it, but don't expect to be a pro developer in a week, respect the Craft. The best tip i can give is, do the tutorial over until you get it, repetition is key. Another tip is, do a tutorial but create something different like in the fundamentals you'll be making articles app but try making a page app so change it to title body etc. you'll break a lot of things but you'll learn faster what you need to do because you really have to think about what you are doing instead of just typing along.

http://www.laravelpodcast.com/episodes/18397-episode-36-dev-school

1 like
andy's avatar

@Dracool

As for

 Composer, Artisan, Tinker, Eloquent, Vagrant, Homestead.

As like many others above, I don't normally use Homstead (I actually just played with it last week ... nice but I don't need it), Vagrant (I've dabbled on and off and more than likely just deal with the hosted OS when the need arises), tinker (never, I use OSX and just use what's included and brew).

The big 3 are obviously: Compose: yeah, you should stick with it until you realize that the fundamentals aren't scary. 2 commands I live with" composer dump-autoload and composer update

Atisan: not really a big issue and like composer basically stick to 3 commands.

the bigger more serious of an issue is Eloquent. I came from a php 3-4 world and using an ORM was completely new. For normal CRUD, life is way easy but you actually don't need it and will over a lifetime of a large app will probably drop back to writing raw queries for various reasons.

I do agree still that laravel's documentation isn't as good as symfony or CI but they have gotten better.

One thing that you didn't really touch upon very deeply is dependencies. I'm thinking that packages are what you are referring to. Yes, these can be a big thing and with various levels of completeness and documentation. Obviously you don't need them but also just as obvious is that they can really make your life easier by not having to come up always with your own solutions.

Personally, when I first saw Rails, I was completely turned off and crawled back into the php3/4 world. It just didn't click. I also even looked at django and learning a new language also turned me off. However, when Laravel 4 came out, I was interested enough to get past the first learning curve and enjoyed it.

One thing, I can't recommend more is to learn these newer ideas and technologies. Maybe php isn't for you anymore and either ruby or python is better but don't let going down to the terminal stop you from moving forward.

php 3 is dead and the ways it taught us to code should be seriously reconsidered.

2 likes
bashy's avatar

@Dracool It is aimed at 4 but it's maybe good to know how the framework has progressed? Run through some of that on a 4.2 install then look at 5.1/2 and see if you understand how things changed. 4.2 was for me, a lot easier to get into.

davorminchorov's avatar

Go for Build Your App First, ProjectFlyer is a little bit more advanced.

DarkRoast's avatar

Stick at it, we all struggle at times, but that's the best way to learn. I have been using Laravel for about 18 months but it took me at least a year to become comfortable using it. In hindsight most concepts aren't as hard as you might think and they do make things easier for you.

MikeHopley's avatar

I made a wrong assumption. I thought that everyone is like Jeffrey and feeling frustrated because I'm not getting it.

Remember that Jeffrey Way is not an average Laravel developer. He makes a living teaching developers.

The vast majority of developers are not as capable as Jeffrey. Try not to compare yourself to him. And in general, just cut yourself some slack. :-)

1 like
cklmercer's avatar

Laravel was difficult for me whenever I first started learning it. Coming from more of a WordPress background, it took a little while to understand some of the core components. Such as models, views, migrations, controllers, requests, etc. However, a year lately, I really really appreciate it. Thanks to all the conceptual stuff I've learned, I'm now MUCH more comfortable with modern web development technology, terminology, practices, etc.

Yes, there's a learning curve, but between the documentation, forums, laracasts, etc you can learn what you need to know. Once you do that, you'll likely appreciate Laravel as much as the rest of us do.

1 like
Renelj's avatar

I started with Laravel two months ago and for the first month I felt the exact same as you! Apart from all the things already said in this thread, Jeffrey also relies heavily on PHPstorm which has a lot of functionality that my editor doesn't .

My breakthrough came when I had figured out the essentials about how a model works, how the route file works, how a controller works and how a view works. Once I had those essentials in place, I could code away and every time I encountered a problem, I'd learn a bit more about how Laravel works. I'll rather write a lot of bad messy code which I can edit in the future than being frustrated with trying to use all the "out of the box cool stuff" right away. Chances are that all the eloquent, elexir, artisan etc. stuff are doing things you already know how to do, maybe they do it faster, better or easier, but so far it's my experience that you can easily postpone learning them in order to not learn 10 new things at the same time.

I just needed to pass this first barrier of frustration and now I actually enjoy coding again, and that took me about a month.

1 like
irwan_up's avatar

When I was in uni in 2005 and studying IT, I was dropped out because it was too difficult for me. And I didn't have good knowledge about PHP and OOP, I could only make a static website. About 4 months ago, I started to learn from scratch about PHP because I want to build a web app for my company, then I found Codeigniter which is easier to use compared to old-school PHP (with no framework), but it didn't work (too complicated for me). Then I found an article on the internet about Laravel, and I think it's true that it is easier and simpler. I'm currently building a web app using Laravel for my friend as a practice. Building things like : login/logout, admin page, input/edit/delete order, order tracking, etc are not problem for me anymore. For me, as a person that lack of web develpoment knowledge, Laravel helps a lot... Of course, learning something new is always struggling, but once you get the point, the rest is not as difficult as the beginning.

1 like
IsaacBen's avatar

Just a small tip. You may see things as difficult because you approach them the wrong way.

I used to come with a lazy attitude and expect Jeffrey to just teach me everything without ever needing to read the documentation. Then when things didn't work I tried to solve it alone and eventually it worked.

My advice to you is to follow Jeffrey and the documentation together plus try figuring out stuff yourself. Be curious about everything and try to see how it works.

By the way, I've tried many frameworks including Node frameworks and Laravel was the easiest one to grasp and you are way more productive with it. Plus it will help you with using other technologies that implements the MVC architecture.

2 likes
phpMick's avatar

Just start writing some applications, you will soon pick it up.

jlrdw's avatar

All the stuff you said you had to use, tinker, artisian, in actuality you don't need any of that junk just use the framework for crying out loud. I don't even use eloquent I use the query builder and write regular queries. Just because there are a bunch of added stuff that some people use that don't mean that you have to use all that stuff is optional, the framework itself is easy to use. Tailor made the framework very flexible. I don't even know what tinker is, and I don't even care.

2 likes
jekinney's avatar

I can empathize. I came from learning and being able to work my way around C#. Didn't like the job community. So a friend turned me on th Laravel. Tutorials etc wghere easy enough but when i'ld create my own small apps it was rough. For what ever reason I could not grasp routes for the longest time. Always errors. And in dev on Windows isn't as easy as Mac or Linux for me anyways. Then learning php on top of it. 4 years ish later still learning every day I punch the keyboard but generally speaking understand the docs and laravels api so figuering stuff out is much easier.

Easy to say, hard to do, but you have to memory dump codigniter while learning Laravel. Right now I don't think I could do a simple hello world in C# anymore.

For me personally it was well worth the effort, frustration and time. I enjoy it better now as you seem to have more freedom even in teams to set things up as you want versus stricter languages and frameworks (Zend for one php framework, a lot of assumptions forcing a lot of required ways of doing things imo). A lot more money think double do to lack of dedicated Laravel devs that know more then a basic blog and freedom to work my own hours and location (home) then before.

Most tutorials for anything are so basic that you do learn, but limited and usually one way of doing it.

When I started I used php artisan serve for web server and Windows version of xamp for MySQL database. Up and coding in minutes. Though ran into some production issues so now use vagrant with homestead box on a Mac. But just for the last year ish.

alrocha's avatar

Here we are, web developers, the bitches of the IT world but nobody knows many stuff as we do :P (I am a beginner working in a company as mainly wordpress admin and doing my own projects with Laravel). Just to let you know I took like 2 months to understand and build a shitty website with Laravel but after that, web development is way more easier and funnier :)

1 like
skliche's avatar
skliche
Best Answer
Level 42

@Dracool I have started with "Laravel 5 Fundamentals" about 8 months ago. I had never seen or heard about Laravel before and hardly used any OOP in PHP. I didn't know anything about composer and also thought "why do I have to bother with all this stuff?". It took a few weeks to convince me and I am really grateful that I just had the patience. I have never learned so much in my life and really enjoy programming once again.

If I had to give advice to someone who starts today I would say the following:

  • Start with exactly that series, "Laravel 5 Fundamentals".
  • BUT: create the projects with composer create-project laravel/laravel <name> "5.0". That installs the version that is used in those videos and should prevent the problem you have experienced with things that have changed in the meantime (5.1 and 5.2).
  • Try what Jeffrey does in the videos, work along. Even if it takes you an hour to follow a 10 minute video. Yes, he is incredibly fast in the videos. I sometimes got frustrated to pause every few seconds, wonder in what file he was and so on. But I got used to it and he is really great.
  • Work along until you have finished video 5 (Blade). Then further familiarize yourself with what you have learned so far by playing around. Do not dive into the topics of databases until you know that stuff covered so far.
  • Don't mess with relations until you are somewhat familiar with Eloquent and don't deviate from the naming conventions.
  • Take small steps. Don't try to build the most complex or sophisticated application within the first months. Play around with an application that just allows you to register an account. It works? Great, enjoy it.

While you are at it: Use a text editor, word processor, ... to make notes about the stuff you learn because you will forget things and wonder later what it was, how it works or why it is the way it is. Make excessive use of comments in your code. Telling you what it does and where it goes. I had a hard time in the beginning that the use of the service container and facades made it difficult for me to understand where that code is implemented.

Additional remarks:

  • Use composer just for creating the project right now. You don't need to know anything else in the beginning.
  • If you have a working development environment, don't care about Vagrant and Homestead.
  • Artisan: I found this really helpful as a beginner. Just a bunch of commands you should know (route list, maybe make:controller, make:model)
  • Tinker: I found this really helpful as well. I like to just test a few things on the command line. But you don't need to do that.
  • Eloquent is one of the things I really learned to like as it makes quite a few things much easier than I had seen before (bare naked PHP, Zend Framework 1 + 2, Symfony). But there are situations when I prefer to write a join using the DB facade instead because I think it is much better suited for the task at hand.
  • You will learn stuff that you will abandon later on or that changes in a later version of Laravel. That's life. I don't use the form helpers or form model integration any more even though I initially thought they were awesome.

And, most important: If you stumble across something that you don't understand or that just won't work. Post a question right here. There is a ton of really awesome guys helping. Just invest a few minutes to make your question understandable. Provide context and the code you have tried so far (use the markdown syntax!!).

35 likes
Next

Please or to participate in this conversation.