<?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-6</title>
	<atom:link href="http://www.procata.com/blog/archives/tag/php-6/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>A Glimpse into the Future: PHP 6</title>
		<link>http://www.procata.com/blog/archives/2005/11/22/a-glimpse-into-the-future-php-6/</link>
		<comments>http://www.procata.com/blog/archives/2005/11/22/a-glimpse-into-the-future-php-6/#comments</comments>
		<pubDate>Tue, 22 Nov 2005 20:40:09 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[performance-optimization]]></category>
		<category><![CDATA[php-5]]></category>
		<category><![CDATA[php-6]]></category>
		<category><![CDATA[unicode]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/?p=158</guid>
		<description><![CDATA[Derick Rethans has posted the notes from the recent PHP 6 meeting in Paris.  All I can say is wow!  PHP has a bright future.  Good job guys.
I&#8217;ve also been impressed with the new upgrade notes for 5.1.  Good job there, too.
I&#8217;ve read over the whole thing and I like what [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.derickrethans.nl/">Derick Rethans</a> has posted the <a href="http://www.php.net/~derick/meeting-notes.html">notes from the recent PHP 6 meeting</a> in Paris.  All I can say is wow!  PHP has a bright future.  Good job guys.</p>
<p>I&#8217;ve also been impressed with the new upgrade notes for 5.1.  Good job there, too.</p>
<p>I&#8217;ve read over the whole thing and I like what I see.  One thing did jump out at me.</p>
<blockquote><p>
We also discussed whether we should even allow Unicode mode to be turned off as current micro benchmarks show that the Unicode implementations of some of the string functions are up to 300% slower, and whole applications up to 25% slower. Disallowing Unicode mode to be turned off is expected to slow down the adoption of PHP 6 too as many ISPs would be reluctant to install a version that immediately slows down the applications of their users.
</p></blockquote>
<p>I am definitely not familiar with all the issues involved, but wouldn&#8217;t this make it hard to write general purpose PHP applications?  Programs would have to check whether unicode was on or off?  Wouldn&#8217;t that checking be slow and complicated, too?</p>
<p>I think its great to discuss ways to improve adoption of PHP 6 so far ahead.  It looks like APC will be included.  I think thats great news on the adoption front.</p>
<p>I wonder, though, if anyone has gone and asked hosting companies what features they might like to see in PHP 6?  I also wonder if it would be helpful to have two upgrade guides: one for programmers and one for hosts.  Perhaps even a separate Hosting PHP Applications section as part of the PHP manual.  (With things like &#8220;How do I find out which PHP script sent out this spam?&#8221;) </p>
<p>PHP hosting concerns are not always the same as PHP programmer concerns.  Hosts are important to the adoption of PHP and throwing them some love can only be a good thing for the platform as a whole.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2005/11/22/a-glimpse-into-the-future-php-6/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Backward compatibilty and web host adoption of PHP 5</title>
		<link>http://www.procata.com/blog/archives/2005/10/02/backward-compatibilty-and-web-host-adoption-of-php-5/</link>
		<comments>http://www.procata.com/blog/archives/2005/10/02/backward-compatibilty-and-web-host-adoption-of-php-5/#comments</comments>
		<pubDate>Mon, 03 Oct 2005 03:34:08 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[compatibility-testing]]></category>
		<category><![CDATA[php-6]]></category>
		<category><![CDATA[php-bugs]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/?p=143</guid>
		<description><![CDATA[I blogged about PHP 5 adoption in january when a survey put the adoption rate at 1.5%.  I ran across a thread at web hosting talk, which asks Php5 rare, why?  Bugs, backward compatibility problems, and the difficulty of running two versions at once come up as issues.
But I want to focus on [...]]]></description>
			<content:encoded><![CDATA[<p>I blogged about <a href="http://www.procata.com/blog/archives/2005/01/20/php-5-adoption/">PHP 5 adoption</a> in january when a survey put the adoption rate at 1.5%.  I ran across a thread at web hosting talk, which asks <a href="http://www.webhostingtalk.com/showthread.php?s=&#038;threadid=447762">Php5 rare, why?</a>  Bugs, backward compatibility problems, and the difficulty of running two versions at once come up as issues.</p>
<p>But I want to focus on backward compatibility problems.  It looks like 5.1 is going to introduce some more backward compatibility issues.  There have been several reports on the WACT mailing list that WACT doesn&#8217;t work under 5.1rc1.  We traced it down to this statement:<br />
<pre class="php">&nbsp;
<span style="color: #0000ff;">$x</span> =&amp; <span style="color: #0000ff;">$this</span>;
&nbsp;</pre><br />
Which results in &#8220;Fatal error: Cannot re-assign $this&#8221; under 5.1rc.  (its fine in 4.x and 5.0)</p>
<p>Pavel from <a href="http://limb-project.com/">LIMB</a> reported this as a <a href="http://bugs.php.net/bug.php?id=34358">bug</a>, which was marked bogus.  Later on, jayboots at sitepoint discovered that assigning to a instance variable instead of a local variable is allowed and offers a workaround:<br />
<pre class="php">&nbsp;
<span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">x</span> =&amp; <span style="color: #0000ff;">$this</span>;
<span style="color: #0000ff;">$x</span> =&amp; <span style="color: #0000ff;">$this</span>-&gt;<span style="color: #006600;">x</span>;
&nbsp;</pre></p>
<p>In a <a href="http://www.sitepoint.com/forums/showthread.php?t=296713">sitepoint thread</a> about this issue, stereo frog adds: </p>
<blockquote><p>
They have a code in zend_compile.c that handles &#8220;$this=$x&#8221; and copy-pasted that code in the function that comples assignment by reference. This should prevent &#8220;$this=&#038;$x&#8221; (which is wrong), but for some reason it &#8220;prevents&#8221; &#8220;$x=&#038;$this&#8221; as well (which is absolutely correct).</p></blockquote>
<p>I&#8217;m speculating that any type of intermediary would offer a work around.  For example:<br />
<pre class="php">&nbsp;
<span style="color: #0000ff;">$temp</span> = <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'indirect'</span> =&gt; &amp;<span style="color: #0000ff;">$this</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0000ff;">$x</span> =&amp; <span style="color: #0000ff;">$temp</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'indirect'</span><span style="color: #66cc66;">&#93;</span>;
&nbsp;</pre></p>
<p>I tried to verify this tonight, but I could not get 5.1rc to compile on my machine and I&#8217;ve run out of time to deal with that.</p>
<p>Two weeks ago, I tried to email the internals list to see if I could get an explanation, trying to determine if there was a valid reason for preventing $x =&#038; $this, or if the bug was marked bogus by mistake.  Unfortunately, I received no reply.  <img src='http://www.procata.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>I&#8217;m afraid that there are probably other BC breaks in 5.1.  (Otherwise, its looking like a very nice release.)</p>
<p>Even more promising was some of the preliminary discussion around PHP 6.0.  </p>
<p>In one web hosting forum that I visit, I was surprised to see how popular eAccellerator was for web hosts.  There was discussion in a PHP 6.0 wishlist about possibly including a bytecode cache as standard issue.  One benefit that I see to doing that is that is would act as a &#8220;get out of backward-compatibility jail free card.&#8221;  The web hosts would probably be willing to slog through more BC issues if they had the direct payoff of a byte code cache. (Or force their customers to slog through them.)  Perhaps we might see alot of web hosts move directly from php 4 to php 6?</p>
<p>After a byte-code cache, there is exactly one more &#8220;get out of BC jail free card&#8221; in the deck.  That is a JIT compiler.  On, that note, I&#8217;ll end with <a href="http://www-128.ibm.com/developerworks/java/library/j-jtp09275.html">Java theory and practice: Urban performance legends, revisited</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2005/10/02/backward-compatibilty-and-web-host-adoption-of-php-5/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

