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!
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.