I'd be willing to help out if anyone here is brave enough to try a rewrite!
I'd be willing to help out if anyone here is brave enough to try a rewrite!
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.
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/ ?
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.
Source: 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.
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!
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.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}}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.
They started a while back on doing pretty much just that.