Yes, yes I know - this sounds weird. Why on earth anyone would like to skip Laravel? It's perfect. Beautiful ecosystem, simple to use, events, broadcasting, Mix, beautiful ORM! It really is perfect, I would definitely agree.
Before you start hating and roasting me in the comments or in your head, I'd love to introduce myself. I am actually working full-time with Laravel & Vue as a full-stack developer with over 3 years of professional experience and that this post is just my point-of-view.
I've been working with Laravel actively around two years, so I do know the ecosystem really well and I have to admit that is the best development community I've ever seen. Starting from Otwell, Jeffrey from Laracast, guys from Spatie, BeyondCode, it is just amazing
Come on, start talking why we should skip Laravel, for God sake..?
Slow down, dude. Last few months, I started to feel like Laravel isn't my passion anymore. I still love it, but it is not just happiness I felt working before with like plain, core PHP. When you code in Laravel there is no reason to get stuck with something for hours - everything just works. Is that interesting? For me, no. I am a person who started to code because I love it, not because of money. I still love to code, but one day (if it happens after all), the code stops being my passion, I'll stop to code. That's just me. Step over it, move on and let's find something else.
My interest last few months was Symfony framework, I don't know it always was like a "cool pro coders framework" and finally I decided to purchase the course a few days ago. Reborn, revive and I feel like I am breathing again.
So, why I will definitely gonna use Symfony over Laravel at least for my personal projects? Even it is framework it still has less "get the job done" tools, it makes me happy to code again.
Instead of going with
artisan make:auth I need to build an authentication system on my own (I know that Sf also has
make:auth, but it way less "automatic" compared to Laravel's).
Every Eloquent method (updateOrCreate, firstOrCreate, attach, deattach, etc.) is really cool, but I don't "feel it", like I do making it manually.
Of course, I know there's something called "don't reinvent the wheel", absolutely agree, but the sad thing is that I know many developers who barely know the PHP but doing great in Laravel. They ain't interested in pure happiness in code, but more like "I just need it done!". Well, fine.
Don't get me wrong, but sometimes a reason to skip Laravel is to feel that stuck-feeling for few hours, rather than just make your app puzzle game.
When you code in Laravel there is no reason to get stuck with something for hours - everything just works.
Instead of going with artisan make:auth I need to build an authentication system on my own
I think the thing most people are going to take away from this post is "Laravel sounds pretty handy, I should give it a try" :-)
Btw, you became a professional developer at 15? That's fast!
I would just skip laravel because it's laravel ;D. It's true but I actually have technical architectural reasons, to me it's bad design like ruby on rails.
In general the question of complexity for comfort can be seen in differentiated way. I would rather take 10 small libraries and hook up my own simple framework that does all the things I want (without reinventing the wheel).
Than just using a huge blackbox because it's comfortable. But I used Symfony, Phalcon, Zend 1 and Zend 2, Yii and other frameworks. Even wrote my own .... so it's not just me hating or disrespecting.
It's a conclusion I am still thinking about after 14 years professional programming, the people who write frameworks are just people. They make dumb decisions, it happens, they are usually not super geniuses they just define a certain set of value (easy to read, composable, community driven, .....) and then the start building software and every value most likely will have certain impacts on the outcome.
Long story short .... My opinion is: As long as you keep your plain php code isolated and not integrated in the framework, it's totally fine.
Isolate it, make it testable, test it and have clear boundaries and the least amount of dependencies possible. Call it a service class or whatever nomenclature is used in your context.
Well. I debated if I should comment or not and I know some people will roast me here too but three years professional coding and two years Laravel experience is not long enough to publicly post
Why you should stay away from Laravel. I have been hands-in-code over 18 years and almost 12 of it with PHP and Laravel since the beginning and I can't make that suggestion to anyone.
Using a framework, or Laravel, or Symfony or core PHP is totally depends on many factors like skill set, requirement, timeline etc. On the other hand there is
reinventing the wheel factor. Laravel indeed makes things easier for many people and projects. Same for Symfony. But sometimes especially working with very large scale applications, you should be focused on business rules etc rather than wring all those small helpers to validate email address, send email, connect database and so on.
I always see this discussion like baking a cake You can go and buy cake mix, or you can get some flour to bake a cake or you can buy a small farm, raise your own grain, ground it and bake your cake with it. Flour you got from store had already been through many process, tested, cleaned, cooked many dishes and cakes in test kitchens to perfect to consumer. But that doesn't mean it will bake the best cake. Or you can do the whole thing by yourself and have to deal with all the issues, do crops good enough, did they get enough water, when to collect them, where to take them to ground, now you need to clean it so unwanted particles will not make your cake taste bad and so on. So to me, laravel is like cake mix you get from a store. Everything you
may need is already in it. You just need to bake it in correct temperature and decorate. And symfony is like flour. It is somewhat ready but you still need other ingredients and make your cake from scratch. And core PHP is farming. Not just need other ingredients you also need to grow it from the ground.