Ironically enough, if people actually tried PHP, many would be amazed, especially at the quality frameworks. Productivity is very high in something like Laravel, and compared to JavaScript frameworks PHP frameworks are much more feature complete and well though out. I'm a big fan of trying out different stacks, and I think a lot of people would love Laravel if they tried it. Give it a shot using PHPStorm and Laravel…
As a PHP developer of 10+ years, large frameworks like Laravel and Symfony still bewilder me. I really have no idea why 99% of people would ever want to use them. They add a layer of complexity over the top of PHP such that instead of learning how to write PHP, you need to learn how to write the framework. Let's take an example right from Laravel's homepage: Authenticating users is as simple as adding an authenticati…
I personally have a large prject with a ton of code that was written in the last 16 years from when I was very inexperienced to now. After a while you realize that patterns are important, and you start building more and more features to make development and maintenance simpler and faster.
Here is a list of things I created over some years for that project: - Authentication system that supported different types of login. - Pretty routes. - Simple dependency injection container. - Emailing. - A templating system. - A scheduling system. - A worker pool. - Reusable forms. - Simple DB migrations in code. - Caching system. - A file storage system. - Data seeding. - Testing. - Websockets. - Asset bundling and versioning. - Localization. - Payment integrations. - +++
Sure, I could do it the JS way and find different packages instead of doing it myself, but I don't want to rely on a bunch of projects as that quickly can become maintenance hell.
After a while you realize that you're basically reinventing the wheel. Is Laravel and Somfony complex? Yes. Does it sometimes seem like magic? Yes. Is it hard to use, modify or figure out how it works? No.
You might not know why 99 % would want to use them, but I'd agrue that most probably should when the project achives some complexity. That way you can reap the benefits of the work and experience of thousands of contributors behind these projects.
I am one of those "I want to know what happens in the background" people too, and it's not that hard to figure out how Laravel works if you want to know. But most developers are not interested in how the framework they are using really works. The questions you have about what the auth middleware is, how it works, and what the Illuminate namespace is for(Laravel) is easy to figure out by checking the docs.
Laravel is definetly an opinionated framework, but personally I think most of the options are good ones.