<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Tue, 07 Oct 2008 02:58:20 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Yannick's Blog: mbstring vs iconv benchmarking]]></title>
      <guid>http://www.phpdeveloper.org/news/11153</guid>
      <link>http://www.phpdeveloper.org/news/11153</link>
      <description><![CDATA[<p>
Recently on his blog <i>Yannick</i> has done some benchmarking <a href="http://dokeoslead.wordpress.com/2008/10/05/mbstring-vs-iconv-benchmarking/">comparing mbstring and iconv</a> in PHP 5.2.4 release.
</p>
<blockquote>
Following up on <a href="http://dokeoslead.wordpress.com/2008/04/22/mbstring-vs-iconv/">my previous post</a> about the differences between the mbstring and iconv international characters libraries (which resulted in a tentative conclusion that nobody knew anything about those differences), and particularly the comments by <a href="http://www.entidi.it/">Nicola</a>, we have combined forces (mostly efforts from Nicola, actually) to provide you with a little benchmarking, if that can help you decide.
</blockquote>
<p>
His code for the test script is included (for you to gather your own results) and a full listing of his results comparing the effects of possible caching, running up to ten executions. You can download the text file that he ran the script on <a href="http://mirror3.mirrors.tds.net/pub/gutenberg.org/1/3/0/8/13083/13083-utf8.txt">here</a>.
</p>]]></description>
      <pubDate>Mon, 06 Oct 2008 12:50:20 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[TotalPHP:  Using an autoload function to make your life easier]]></title>
      <guid>http://www.phpdeveloper.org/news/11131</guid>
      <link>http://www.phpdeveloper.org/news/11131</link>
      <description><![CDATA[<p>
On the TotalPHP blog there's <a href="http://www.total-php.com/article/14/using-an-autoload-function-to-make-your-life-easier/">a recent post</a> introducing you to a feature in PHP5 that can make life much easier - autoload.
</p>
<blockquote>
In PHP 5 you can make your life a lot easier by writing an autoload function. This function will automatically load your classes, so you do not need to repeatedly include classes on every page.
</blockquote>
<p>
Included are <a href="http://www.total-php.com/article/14/using-an-autoload-function-to-make-your-life-easier/">examples</a> of it in action - both a simple definition and as it might be used in an application to conditionally load a class from multiple locations.
</p>]]></description>
      <pubDate>Thu, 02 Oct 2008 08:46:59 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Mark Brady's Blog: Closures in PHP 5.3]]></title>
      <guid>http://www.phpdeveloper.org/news/11123</guid>
      <link>http://www.phpdeveloper.org/news/11123</link>
      <description><![CDATA[<p>
<i>Mark Brady</i> has a <a href="http://spinningtheweb.blogspot.com/2008/09/closures-in-php-53.html">recent post</a> he's worked up that looks at a feature in the upcoming PHP 5.3 version - closures.
</p>
<blockquote>
According to object-oriented programming expert <a href="http://martinfowler.com/bliki/Closure.html">Martin Fowler</a>, closures are defined as a block of code that can be passed to a function. [...] PHP's upcoming syntax for closures is shaping up to be comparable to the C# 2.0 implementation.
</blockquote>
<p>
He includes two code examples to compare the two language's methods - one for C# and the other for PHP - that divides the input by a denominator and returns a true or false depending on the result. For more information on closures, see <a href="http://wiki.php.net/rfc/closures">this proposal</a> on the PHP.net wiki</a>.
</p>]]></description>
      <pubDate>Wed, 01 Oct 2008 08:47:50 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Stefan Esser's Blog: PHP 5.3 and Delayed Cross Site Request Forgeries/Hijacking]]></title>
      <guid>http://www.phpdeveloper.org/news/11121</guid>
      <link>http://www.phpdeveloper.org/news/11121</link>
      <description><![CDATA[<p>
In <a href="http://www.suspekt.org/2008/10/01/php-53-and-delayed-cross-site-request-forgerieshijacking/">this new post</a> to his blog <i>Stefan Esser</i> looks at cross-site request forgeries and how they can be prevented in PHP 5.3 by two things - the request_order directive in your php.ini and by not using $_REQUEST anymore.
</p>
<blockquote>
Although PHP 5.3 is still in alpha stage and certain features like the PHAR extension or the whole namespace support are still topics of endless discussions it already contains smaller changes that could improve the security of PHP applications a lot. [...] With request_order it is now possible to control in what order $_REQUEST is created and what variable sources are taken into account. This finally allows removing cookie data from $_REQUEST without removing them from $_COOKIE also.
</blockquote>
<p>
He explains why the use of $_REQUEST can lead to such problems (and security holes) and notes that its use makes overriding an application's GET or POST values as simple as adding a cookie. There's even a method for creating a Denial of Service attack against a site using $_REQUEST like this. He points to an example similar to this that happened with phpMyAdmin a while back.
</p>
<p>His recommendation?</p>
<blockquote>
Once PHP 5.3 is out it is recommended for hosters to set request_order to "GP" on all the servers running arbitrary PHP applications to protect applications [and] application developers on the other hand should finally move away from using $_REQUEST for user input.
</blockquote>]]></description>
      <pubDate>Wed, 01 Oct 2008 07:53:22 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Mutant PHP Blog: Specifications for PHP5]]></title>
      <guid>http://www.phpdeveloper.org/news/11117</guid>
      <link>http://www.phpdeveloper.org/news/11117</link>
      <description><![CDATA[<p>
In a <a href="http://mutantphp.org/blog/2008/09/25/specifications-for-php5/">recent entry</a> to his blog <i>Sean</i> shows off a new <a href="http://mutantphp.org/blog/wp-content/downloads/Specifications.zip">specifications library</a> he's created to replace common comparison functionality with a series of specs.
</p>
<blockquote>
I thought I'd share a PHP library implementing <a href="http://martinfowler.com/apsupp/spec.pdf">this</a> idea by Evans and Fowler. Written for PHP5, it's a library for defining custom specifications using composition and inheritance.
</blockquote>
<p>
He gives the example of "Person" objects with name and age properties. A search might involve looking directly at the properties to location one that's, say, younger than 35 and has a last name of Johnson. His specification class replaces this and makes it more reusable by applying things like GreaterOrEqualSpecifications and EqualSpecifications to standardize the evaluation. Then its just a quick call to the isSatisfiedBy method to check for correctness.
</p>]]></description>
      <pubDate>Tue, 30 Sep 2008 11:17:47 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[David Parra's Blog: Compiling PHP under OpenSolaris]]></title>
      <guid>http://www.phpdeveloper.org/news/11114</guid>
      <link>http://www.phpdeveloper.org/news/11114</link>
      <description><![CDATA[<p>
<i>David Parra</i> has <a href="http://blog.experimentalworks.net/archives/90-Compiling-PHP-under-OpenSolaris.html">posted his method</a> for getting the latest version of PHP compiled under a machine running OpenSolaris.
</p>
<blockquote>
As I switched my main system recently from Linux to OpenSolaris I compiled PHP. Quiet obvious things are a little bit different on Solaris. The usual ./buildconf && ./configure && make install doesn't work anymore. The good news: It's not much harder.
</blockquote>
<p>
A few extra packages are required (like SUNWgmake, SUNWgcc and SUNWbison) and the <a href="http://sourceforge.net/projects/re2c">Re2c</a> library, but after that, it's just like a normal install. All commands needed to make the build are included in <a href="http://blog.experimentalworks.net/archives/90-Compiling-PHP-under-OpenSolaris.html">the post</a>.
</p>]]></description>
      <pubDate>Tue, 30 Sep 2008 08:46:09 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Nick Williams' Blog: The New .phar PHP Package]]></title>
      <guid>http://www.phpdeveloper.org/news/11077</guid>
      <link>http://www.phpdeveloper.org/news/11077</link>
      <description><![CDATA[<p>
In a <A href="http://www.nickawilliams.com/2008/09/04/the-new-phar-php-package/">quick post</a> to his blog, <i>Nick Williams</i> points out a very handy extension for PHP - <a href="http://us2.php.net/manual/en/book.phar.php">Phar</a>.
</p>
<blockquote>
Today I discovered a very powerful addition to the PHP world. Phar is an archive extension for PHP that allows an entire PHP application to be packaged into a single file. It's basically PHP's answer to Java's .jar archive format. Don't get excited yet, it gets better...
</blockquote>
<p>
He mentions the reasons that make it "particularly handy" such as it being integrated into the next major PHP release (5.3) and that it makes deployment quick and easy. He includes a brief code snippet to show how a sample Phar archive could be created (via streams).
</p>]]></description>
      <pubDate>Wed, 24 Sep 2008 09:38:40 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPJack: Zend Framework's Future]]></title>
      <guid>http://www.phpdeveloper.org/news/11066</guid>
      <link>http://www.phpdeveloper.org/news/11066</link>
      <description><![CDATA[<p>
In <a href="http://www.phpjack.com/content/zendframe-works-future">this post</a> to his PHPJack blog <i>Richard Heyes</i> comments on the trending he's seeing in the Zend Framework and where its future might lie.
</p>
<blockquote>
I have been critical of ZF in the past because the performance has pretty much been going down every release and I am not the only one seeing this, there have been a number of benchmarks that show this trend. Having contributed to ZF in the past I brought this issue up multiple times both on the mailing list and even during the meetings the past zendcons and it the general response was they where focusing on features not performance.
</blockquote>
<p>
He points out <a href="http://www.phpjack.com/content/zendframe-works-future">a few things</a> that were brought up at this year's <a href="http://www.zendcon.com">Zend/PHP Conference & Expo</a> including the performance focus of future releases, a push to 2.0 after PHP 5.3's release and some of the changes that can cause breaks in backwards compatibility.
</p>
<p>
Be sure to also check out <i>Matthew Weier O'Phinney</i>'s response to the post and some of the comments <i>Richard</i> made.
</p>]]></description>
      <pubDate>Tue, 23 Sep 2008 09:32:44 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Total PHP: Choosing a PHP Web Host]]></title>
      <guid>http://www.phpdeveloper.org/news/11056</guid>
      <link>http://www.phpdeveloper.org/news/11056</link>
      <description><![CDATA[<p>
The Total PHP site has <a href="http://www.total-php.com/article/13/choosing-a-php-web-host/">a few suggestions</a> for you to look at before choosing your next web host - five of them:
</p>
<ul>
<li>PHP 4 or 5? - if you haven't made the switch to PHP5, there's no better time
<li>Linux/Apache - Windows is largely an ASP.NET platform
<li>Access to outside the document root - it can be very useful for templates, config files and the like
<li>Scripting requirements - be sure anything you might need for an outside application (like WordPress) is there
<li>General advice
</ul>
<p>
There's a bit more detail on each of <a href="http://www.total-php.com/article/13/choosing-a-php-web-host/">the points</a> to round out the advice.
</p>]]></description>
      <pubDate>Mon, 22 Sep 2008 11:19:54 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Lucas Baltes' Site: PHP Museum Visual Timeline]]></title>
      <guid>http://www.phpdeveloper.org/news/11054</guid>
      <link>http://www.phpdeveloper.org/news/11054</link>
      <description><![CDATA[<p>
<i>Richard Heyes</i> has pointed out <a href="http://lucasbaltes.com/php-museum/">an interesting little app</a> that <i>Lucas Baltes</i> created to visually show the timeline of PHP releases from now back.
</p>
<p>
The timeline stretches all the way from the current PHP 5 release (bye bye PHP 4) back to some of the initial releases <i>Rasmus</i> made as the "PHP Tools version 1.0" back in 1995. Each entry is timestamped with when it was released and some of the more recent ones have "tails" showing how long their life lasted.
</p>
<p>
<i>Lucas</i> also links to <a href="http://museum.php.net/">the museum</a> on the PHP.net website where all of these versions can be downloaded.
</p>]]></description>
      <pubDate>Mon, 22 Sep 2008 09:33:50 -0500</pubDate>
    </item>
  </channel>
</rss>
