Ask HN: Examples of beautifully designed php applications

Can anyone recommend a great example of beautifully/elegantly designed php application.

Disclaimer:

I can't comprehend how wordpress, joomla, drupal, xoops, or oscommerce can be considered good code. Mainly because they don't employ MVC and I love MVC.

Why MVC?

I think it makes an application dead simple and beautifully elegant. One of the biggest reasons being clean and descriptive urls. MVC essentially turns the browser bar into a command line.

## www.mysite.com/store/cart/show_items

I love the clarity you get from being able to access methods from a controller in such a ridiculously clean way. This also eliminates dirty/cryptic urls. Why are "clean urls" still an option?

Then there's "include/require". MVC (Kohana) elimites includes from your app logic. Wheras non mvc projects (like the ones mentioned above) have include/require absolutely plastered throughout every function of their code. Needless to say it makes reading source impossible.

It's impossible (for me at least) to guage the scope and bearings within a non-MVC system.

Am I alone on this? Is there something I'm missing? Are there pros to NOT using MVC? I learned coding through learning kohana/MVC so it's all I know. But I'm ready to learn so I am looking forward to great examples of well designed applications, MVC or not, thanks!

  • Your definition of beautiful code and mine differ. I don't care which buzzwords the code is compliant with. I care that it is easy to modify, easy to read, well-documented, and well-maintained. Drupal is most of these things, Joomla is none of them. Wordpress is a mixed bag. OSCommerce has had too many maintainers with too little experience get hands on the codebase over the years.

    I agree with you on the insanity of URLs in a lot of applications...but they are an option because many Open Source projects want to run on as many systems as possible, and not all deployments have permissions needed to rewrite URLs or to run standalone application servers and setup proxy rules. Drupal, at least, makes the URL mapping completely painless. Joomla has perhaps the worst native URLs I've ever seen (index.php?option=com_ugly&task=view&id=2985&Itemid=33), and the URL mapping modules do hateful things and end up generating an infinite stream of different URLs depending on how someone got to the page. When we moved from Joomla to Drupal, we literally shed a couple hundred thousand URLs, without losing any content (we actually have about 50,000 individual pages, counting forums, issues, and docs).

    But, you're conflating two orthogonal issues by assuming that MVC naturally maps to good URLs while other approaches do not.

  • out of curiosity, if you learned coding through MVC-based frameworks and its all you know, why do you feel qualified to make judgment calls on wordpress, joomla, etc.? how can you truly say that you're intelligently choosing MVC because it is the best option when you've not done any development under other design patterns?