4 ms·
I bet the developers have thought of rewriting it using OOP and an MVC pattern, but all current plugins and themes would have to be rewritten as well. It's not
by byoung2 16y ago
I bet the developers have thought of rewriting it using OOP and an MVC pattern, but all current plugins and themes would have to be rewritten as well. It's not so bad, since you'd only need the top few dozen plugins and themes rewritten to get traction.
I'd be willing to help out if anyone here is brave enough to try a rewrite!
- Robin_Message 16y agoWhy bother? You could go a long way and make things clearer by giving the functions better, new names and deprecating the old ones. "Rewrite with OOP and MVC" is an easy, whiny, pointless suggestion. Wordpress is warty, but it doesn't need a rewrite.
- byoung2 16y agoRewrite with OOP and MVC" is an easy, whiny, pointless suggestion Separating the design from the code would make it a lot easier for designers to create themes without having to worry about PHP. A proper templating system like Smarty would make a huge improvement with its built-in modifiers. For example: <?php $title = the_title( "<h1>", "</h1>", true ); if(strlen($title > 80) { echo(substr($title, 0,80)."..."); } ?> Would be this if Wordpress used Smarty: <h1>{{$TITLE|truncate}}</h1> This makes any display logic in the templates more portable when switching themes as well, because designers will be less prone to putting that code in header.php or single.php.
- Robin_Message 16y agoI agree, but the point is it is not a rewrite to add a templating engine to Wordpress; in fact it would be a (relatively) simple additional theme style that could co-exist with the existing PHP themes.
- byoung2 16y agoin fact it would be a (relatively) simple additional theme style that could co-exist with the existing PHP themes In the process of adding a templating system to Wordpress you would come across many instances where you'd wish that instead of having to bother with structures like: <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> ...add posts to an array, then assign to template... The developers had just used an object model that let you do something like: $smarty->assign('POSTS',Post::getRecent(10)); And then access them in the template like this: {{foreach from=$POSTS item=post name=posts}} <h2>{{$post->title|truncate}}</h2> <p>{{$post->content}}</p> {{$post->url->permalink}} {{/foreach}}
- westi 16y agoWe don't use Smarty for a number of reasons. Anyway PHP is itself designed as a Templating language and works very well. Adding Smarty or any other templating language into the mix just means that users and developers have to learn both PHP and the templating language.
- calvinf 16y agoWordPress is abandoning support for PHP4 and MySQL 4 in version 3.1. This will allow them to incorporate many of the features in PHP5 they haven't been able to do yet such as stronger OOP. http://wordpress.org/news/2010/07/eol-for-php4-and-mysql4/ http://wordpress.org/news/2010/07/eol-for-php4-and-mysql4/ It doesn't need a rewrite. Instead, work with the many brilliant devs who have been improving it for years and know it inside-and-out -- including its flaws and areas for improvement.
- rickmb 16y agoOh, come on. WordPress could have started providing a decent API eons ago. They don't care. Or they fundamentally don't see there's anything wrong with spaghetti code and inconsistent API's. The only reason they are abandoning PHP4 because it has become so rare they can't test against it anymore, not because they want to improve anything. Remember this crap: http://ma.tt/2007/07/on-php/ http://ma.tt/2007/07/on-php/ ? Which is typical for WordPress: one of the most successful companies to be built on PHP, and all they do is bitch about it and use their influence on a part of the community to hold it back instead of contributing, like Facebook, Digg and such.
- calvinf 16y agoAs of writing this post, in WordPress's directory there are 11,351 plugins and 1,239 themes. Source: http://wordpress.org/extend/ http://wordpress.org/extend/ I'd call the API a success: it has thousands of authors releasing thousands of plugins and themes and this is only the code that's been released open-source.
- westi 16y agoWe have been providing a stable and reliable API for a long time. Just because it doesn't look like how you envisage it should doesn't mean it doesn't exist. Matt's post was true at the time and WordPress.org the open source project has never been "holding back the php community". Instead we have been ensuring that the most important people, our users, are able to upgrade reliably and easily on whatever hosting platform they use. In the end we put the users first because without them the project would just wither away!
- westi 16y agoIf your interested in a rewrite of WordPress then I'm sure the Habari guys would be interested in your help. They started a while back on doing pretty much just that.