(04-28-2016, 12:31 PM)albertleao Wrote: I've found that Laravel has a lot of features that help you get going very very quickly. From a better routing system, to middleware, Eloquent, and Blade, you can build a higher quality app much quicker than you can in CI3. On top of all that, using PHPUnit to test a Laravel app works right out of the box too and if you're developing enterprise software, this is a must.
I feel a lot of codeigniter developers that hate on laravel have been in the CI world too long and just hate on things they don't necessarily understand because they haven't expanded outside of their world. Things like queues, migrations, task scheduling, and validation are all far more advanced than anything in CI3 but might be advanced for a lot of CI3 devs.
And there are definitely some good things in Laravel, don't get me wrong. The four you mentioned there, queues, migrations, task_scheduling and validation are 4 of the nicer ones. To be fair, we already have migrations that are fairly equivalent, just not a command line bus to run it, but that takes 10 minutes to create one you use in all future projects.
Blade is fine, but not a requirement for me. I've found that 90% of what I need in a template engine can be done in a few small methods in MY_Controller, and I get the same results, so I could go either way on that one.
Eloquent I like sometimes, but find myself frustrated with it at other times, at that may just be because I haven't used it enough. Still waiting to see on my final verdict there.
I'm still undecided on Middleware in general, as it gets to the core of some of my main problems with Laravel, I'm discovering, and that's the fact that as much as possible things are hidden away from view when you're trying to analyze the code. Everything's implicit magic which, once you become intimately familiar the framework, all makes sense. To me, I've found a lot of it unnecessary and easily done in simpler, more explicit ways that would, granted, kill a little of the "beauty" that Taylor strives for.
So, part of it's definitely a personal preference in how much we're willing to use and put up with abstractions that can bite you down the road, if you need to do anything outside of the normal. On the plus side, there seems to be 4 different ways to do anything, so you can usually work out a way.