Hacker News new | ask | show | jobs
by mjs 5090 days ago
PHP frameworks are pretty decent, and widely liked (if not loved). Though for some reason this doesn't apply to PHP applications: plenty of people dislike Drupal, or WordPress, or Magento. I'm not sure if there's an equivalent situation across languages--does Ruby or Python have loved frameworks and libraries, but unloved (though widely-used) applications?
2 comments

Wordpress (as stated earlier) is a gong show. I do think people use Wordpress in far too many use cases where other solutions would work better. If you're a designer type with limited code knowledge, or an IT goon who can't really code but can script, Wordpress is often a good fit. But any experienced software developer is going to take one look at the internals and immediately close the editor. I do hear it's getting better, but it's been a while since I last looked at it.

Drupal is an odd duck - it's a framework with a built in CMS. It's immensely powerful for many developers who put the time in to learn it, but the experience is often jarring for traditional "object oriented" developers so they come away with a bad taste in their mouth: "no objects? this is icky!"

Of all the major PHP projects, Drupal seems to be the one embracing good software architecture - Drupal 8 looks to be amazing. It's come a long way from the days of Drupal 5.

Drupal 8 looks very promising with its adoption of Symfony Elements (HttpFoundation, HttpKernel, Routing, ClassLoader, EventDispatcher, DependencyInjection). Presumably it will be easy to integrate with other Symfony stuff and Symfony itself will benefit from the huge Drupal community.
Plenty of people dislike Drupal, or WordPress, or Magento

I can't speak for Drupal or Magento, but WordPress's codebase is a world of pain. I've written a few plugins in the past, and the WordPress code is simply hell to work with.

Drupal is ok, but a bit old-fashioned and quirky. It's highly callback/hook based, which is fine, but it doesn't always have hooks where you need them, in which case it gets pretty ugly.

Magento is on a whole other level of suck. I worked on a highly customized Magento site 3 years ago, and it was the worst experience of my professional career - lousy software and client-from-hades.

The Magento folder structure is just completely insane...some of the templates are like 8 or 9 subfolders deep, and it's the huge mashed up pile of Zend Framework and homegrown MVC, none of which is well documented (Since after all, they want to push you to paid support...)

Oh, and to further cement the suck, the main database tables are in EAV form. Tons of fun to be had.