<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Professional PHP &#187; php-namespaces</title>
	<atom:link href="http://www.procata.com/blog/archives/tag/php-namespaces/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.procata.com/blog</link>
	<description>PHP Programming, Web Development, PHP Advocacy and PHP Best Practices.</description>
	<lastBuildDate>Fri, 10 Dec 2010 17:23:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP 5.1 is out</title>
		<link>http://www.procata.com/blog/archives/2005/11/25/php-51-is-out/</link>
		<comments>http://www.procata.com/blog/archives/2005/11/25/php-51-is-out/#comments</comments>
		<pubDate>Fri, 25 Nov 2005 19:56:10 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[compatibility-testing]]></category>
		<category><![CDATA[php-namespaces]]></category>
		<category><![CDATA[php-references]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/?p=160</guid>
		<description><![CDATA[PHP 5.1.0 is out.  There is alot of good stuff in this release and it is a major milestone.  May PHP 5.1.2 be as successful as PHP 4.1.2.
I say 5.1.2 because it looks like there are is going to be at least one, possibly two bug fix releases to follow.  There is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.php.net/">PHP 5.1.0</a> is out.  There is alot of good stuff in this release and it is a major milestone.  May PHP 5.1.2 be as successful as PHP 4.1.2.</p>
<p>I say 5.1.2 because it looks like there are is going to be at least one, possibly two bug fix releases to follow.  There is a bit of a kerfuffle about the introduction of a date class into PHP 5.1rc6, which conflicts with the current PEAR date class.  Unfortunately, the naming conflict is not (yet) documented in the <a href="http://www.php.net/README_UPGRADE_51.php">upgrade notes</a> which I praised in my <a href="http://www.procata.com/blog/archives/2005/11/22/a-glimpse-into-the-future-php-6/">PHP 6 post</a> just a couple of days ago.</p>
<p>Ok, so reserving common class names in the release candidate just before the release, during a major holiday week (in the US at least) is probably a mistake.  I don&#8217;t disagree with PHP reserving the Date class.  Honestly, anyone using that name should half expect it.  However, I don&#8217;t think anyone likes surprises, especially late in a release cycle.  But, people are not machines and sometimes mistakes are made.  (To use another cliche, sometimes sausage making is not pretty.)</p>
<p>After the <a href="http://www.procata.com/blog/archives/2005/10/20/of-php-references-and-compatibility/">Reference compatibility thing</a> I thought there was supposed to be a <a href="http://www.derickrethans.nl/php_release_process.php">process in place</a> to catch surprises like this.  What happened? </p>
<p>Some people are pointing to this naming conflict as evidence of the dire need for namespace support in PHP.  Fair enough.</p>
<p>So in this case the process for detecting backward compatibility breaks relied on a large group of people testing their applications through a rapid succession of release candidates.  Since I agree with the rapid succession of release candidates, I have to see the weak part of the process as relying on people to test stuff.  After all, people aren&#8217;t machines.</p>
<p>However, machines ARE machines and automated compatibility testing could have caught this.  I have a corpus of PHP code with automated tests that I could donate to a BC testing lab.  I&#8217;m sure other people do.  I can&#8217;t necessarily download a new release candidate and run it every other day, but I could package my code up and send it someplace to be run.  Where can I send it?</p>
<p>(Yeah, I know calling for BC testing lab without volunteering to run it is the open source equivalent of the <a href="http://en.wikipedia.org/wiki/Unfunded_mandates">unfunded mandate</a>.  But hey, its my blog and I&#8217;ll suggest, complain or critique if I want to.  <img src='http://www.procata.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<p>One last thing, don&#8217;t let a few minor issues overshadow the good hard work that went into this release.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2005/11/25/php-51-is-out/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

