▲ | iamcreasy 7 days ago | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
It was interesting to hear that Laravel, Drupal, Wordpress and Symfony communities do not mesh. I wonder why. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | yurishimo 6 days ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
As someone who came to Laravel from WordPress, I had a massive hole in my abilities to understand larger systems as a whole. During my tenure in WordPress, I actually got pretty good at the web native parts of modern web development but my “backend” skills were mostly about passing arrays around and doing simple database operations. Basic concepts like MVC were totally foreign to me and I was reminded of this a few months ago when I chatted with an old friend about their experiences with Laravel after the drama in WP land a few months back. When I told him that Models were not anything special and you didn’t need to scaffold out a Model using Laravel to create your own class against an existing table, his mind was blown and I could see the gears starting to turn. Mind you, this is a very successful solopreneur with a thriving theme business/platform and over a decade of experience; just that xp was in a domain set apart from the discipline of modern software engineering. I’m super happy to have spent that time learning how to work with constraints to build absolutely giant systems (had a stint with an agency that worked for big online publishers that are known for using WP…) but after seeing the other side, I’m also happy to be past that and onto different and more interesting things. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | pbowyer 6 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
The Laravel and Symfony communities are culturally very different. Laravel (and Taylor) are very US-American, Symfony (and Fabien) very European, and it comes through in communication style and presentation. Laravel has a share of users building products to sell to other Laravel users; Symfony doesn't. If I caricature, Laravel users are better at making money (as a Symfony user the social media presence looks like "grifting"); Symfony users at being architecture astronauts (and looking down on people "getting things done"). At a high level the WordPress community doesn't mesh because of having the WordPress way of doing things, and having a history of writing for old versions of PHP years after others have moved on and told users to upgrade. The WordPress community is fragmented into separate sub-communities which again don't mesh. There's the users who only build sites with page builders and hardly know how to code, those whose goal is to sell copies of their paid plugin (or hosting services), and those with permission to make changes to WordPress itself. I've no recent experience of Drupal so can't comment on them. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | ahofmann 6 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Laravel and Symfony is interesting, because Laravel sits on top of Symfony and releases of Laravel sometimes wait for releases of Symfony components. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | thinkingtoilet 6 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
The Wordpress community doesn't even mesh with the Wordpress community, let alone any other ones. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | hk1337 6 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
IMO, Symfony pushed for [better] standards and using a dependency manager are a couple of things. Drupal took their time but finally started using composer and a lot of their components were Symfony components. Wordpress just held their ground. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
▲ | bakugo 6 days ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Symfony and Laravel are fundamentally ideologically opposed. Laravel is designed from the ground up to be used by junior developers who don't care about pesky things like maintainability and scalability and just want to put out the minimum viable product as fast as possible, and with the least amount of work possible. It's full of "magic" abstractions built with the primary purpose of making the code look pretty at a glance to the inexperienced, completely disregarding good programming practices and even essential language features in the process, the programming equivalent of lipstick on a pig. It markets itself to beginners as "the magic framework that does everything for you" and is as big as it is today purely due to successfully capturing a large percentage of that audience. Symfony goes in the complete opposite direction: it's designed to be used by experienced developers to build maintainable, extensible applications while employing good programming practices. It encourages you to "look under the hood" and understand how things work instead of just telling you "to do X, write Y" without elaborating. It has many convenience features but they're generally built on top of language features with good practices in mind instead of handwaving it all away. It's very modular and allows you to extend and/or replace almost every part of the framework with your own custom version if the included version isn't suitable for your use case. And so on. One of the best examples of Symfony vs Laravel is the way database tables are mapped to PHP code. In Symfony, SQL tables are just PHP classes. To create a new table, you create a new class, add the columns you want as properties, add some attributes to tell the ORM how to map all of that to a table, and it's done. Your database columns match your class properties, every time you query the database you get instances of that class and can use them as a proper objects with properly typed fields. Laravel, meanwhile, does none of that, your database tables are defined purely by the database itself at runtime, what they call "Models" are just empty classes that have the database columns injected into them at runtime as dynamic properties. You cannot know what properties your Model has just by looking at it, I believe you need a Laravel-specific IDE plugin just to autocomplete them. You're essentially working with glorified associative arrays the whole time. This alone is a massive red flag that should make any experienced programmer avoid Laravel. Wordpress sits on its own little island as a big pile of legacy code that's almost frozen in time, full of bad practices that no self-respecting developer wants to touch. No lipstick on this pig, it's as ugly as it is obtuse. It's still commonly used today because someone with zero programming knowledge can load up a bunch of plugins full of security holes and make a somewhat usable site that vaguely matches their vision, but using it for any new project more complex than a basic blog is generally seen as a mistake. Can't speak for Drupal as I have no experience with it. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|