If it takes a year to be productive with Laravel, it's a pretty bad framework.
EDIT: I don't mind all the dependencies but what bothers me is the insane amount of magic. Try to follow the commands that get executed when logging in someone. You'll find yourself on an endless trail of classes, facades, interfaces, etc.
I began with Laravel 6 months ago and try to learn it every single day. I'm very frustrated how long it takes and I feel like I still don't know enough. I began coding about 2 years ago with HTML/CSS/PHP/jQuery and had my first medium sized project up and running within months.
When I began with Laravel I somehow had the illusion (because a few people actually made the absurd claim you can learn this in days!) that I would be ready within weeks. Boy was I wrong! I understand that my lack of OOP is requiring extra time, but OOP aside, there is still so much you need to learn and understand in Laravel. ServiceProviders, Containers, Middleware, Elixir, Eloquent, Artisan, Vagrant/Homestead, Events, Jobs, hundreds of methods, Facades and helpers (how the hell does anyone remember them?) - it's a total nightmare!
There is a part of me that almost hates Laravel right now. There is nothing easy about it and millions of ways how you can solve one and the same problems. That you have different helpers and Facades all doing the same thing in different ways, doesn't make things easier! Apart from that, it's very difficult for a beginner like me to get a picture how you would approach a real-world project with Laravel.
Most of the tutorials never deal with the things you actually need. Taylor adds a basic auth system, but it doesn't even verify the email address (sending email to user to verify if email exists before activating account). There are no examples for Ajax requests anywhere and how you would authenticate/authorise users. Nobody tells you if you would use the api.php or web.php for such a thing! These are really basic things, before we even need to talk about Queues and broadcasting! I would love to see the code of a real world medium sized project and would even be ready to pay for it to get at least some kind of idea of how certain things are done.
I have a relatively big project I'm about to begin, and I still carry some kind of hope that all this suffering with Laravel will pay off one day! But right now, I'm not in a good mood! On top of all the Laravel pain I'm also learning Vue2. Same again! jQuery took me a few days to learn and I could do anything I needed in my first project. When Jeffrey says "it's so easy!" I can't always see it. Sometime his examples of components within components and the way they talk to each other takes me ages to figure out! There is nothing easy chasing the flow from one layer to another to another to another and then not remembering where you were a minute ago! Same in Laravel. At one point you have 20 tabs open from clicking through and your head is spinning!
Vue2 is another one of these things I thought would take much less time to learn. When you come from PHP/javascript/jQuery with little OOP background you are ready for a world of hell that will take at least a year if you want to go down the road of Laravel+VueJS.
I have already invested too much time in this, so I will sit it out and pray I made the right choice. Right now I feel I can't even do the most basic things I need for my new project. I guess I will learn eventually by doing it, but I feel I have no clear picture of how certain things should be approached. And this after 6 months doing nothing else every single day! Doing all the tutorials at Laracasts and reading official docs doesn't feel to be enough if you don't have a good background in OOP or other frameworks.
I just want to tell people like me, who are relatively new to coding, how hard it actually is, because some of the people here (who are obviously doing this for a long time) can make it sound like you can learn Laravel in a day or at least a week. Yes, you can learn what Routes are and have a Controller saying "Hello World!" in a few minutes. So what? But how soon can you do a full blown app with user management, printing invoices and an admin system, understanding how to deploy Laravel on a real server etc? We have tutorials about Echo and real high-level stuff here on Laracast, but not one damn tutorial how one would make a simple pdf with Laravel to print things for customers that everyone needs. I haven't seen one example of uploading files to S3 with a progress bar. Ajax and/or form upload. Where are all the basic things everyone needs to get started? Maybe you all know that shit, but I don't!
Things are definitely getting more complex every year! Wow! It feels like everything is speeding up all the time. And by the time you think you understand something, a new version is coming out - again!
Ok, I feel better now after my rant! I posted this very long post mainly for people who go through the same thing like I do, so they know they are not the only one suffering! So that they know this shit is NOT easy! Back to the Vue2 tutorials! :)
PS: I wish Taylor would slow a little bit down with the updates! ;) Twice a year? That's a lot! Especially keeping track of all the changes that are outside the Vendor folder (laravel/laravel)! You have to go manually through every single file and merge it with your projects! This really sucks! I just got around dealing with 5.3 and now 5.4 is almost out again! :/