<?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:25:39 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Greg Beaver's Blog: PHP namespaces become much better (Derick take note)]]></title>
      <guid>http://www.phpdeveloper.org/news/10462</guid>
      <link>http://www.phpdeveloper.org/news/10462</link>
      <description><![CDATA[<p>
<i>Greg Beaver</i>, noting some issues that <i>Derick Rethans</i> had <a href="http://greg.chiaraquartet.net/exit.php?url_id=655&entry_id=193">pointed out</a> about namespace support for upcoming PHP versions, has <a href="http://greg.chiaraquartet.net/archives/193-PHP-namespaces-become-much-better-Derick-take-note.html">posted about</a> a patch he submitted to solve the problem simply.
</p>
<p>
The issue <i>Derick</i> pointed out:
</p>
<blockquote>
In PHP 5.3 this would alias the class Interval in the namespace PEAR::Date to the class Interval. For now, this code would work just fine. However, if PHP would introduce a class "Interval" at some point in the future (and PHP can do this as it <a href="http://greg.chiaraquartet.net/exit.php?url=aHR0cDovL3d3dy5waHAubmV0L21hbnVhbC9lbi91c2VybGFuZG5hbWluZy5ydWxlcy5waHA=&entry_id=193">owns the global namespace</a>) then the above code would suddenly stop working.
</blockquote>
<p>
<i>Greg</i>'s patch makes it possible to "override" the internal class if need be, making it so that code currently working wouldn't break. All it takes is to "use" is like you normally would and and the magic happens behind the scenes.
</p>]]></description>
      <pubDate>Mon, 23 Jun 2008 11:19:27 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Dokeos Blog: mbstring vs iconv]]></title>
      <guid>http://www.phpdeveloper.org/news/10034</guid>
      <link>http://www.phpdeveloper.org/news/10034</link>
      <description><![CDATA[<p>
In <a href="http://dokeoslead.wordpress.com/2008/04/22/mbstring-vs-iconv/">this post</a> on the Dokeos blog, there's a comparison of the <a href="http://www.php.net/mbstring">mbstring</a> function and the <a href="http://php.net/iconv">iconv</a> library as it pertains to their use on multi-byte strings.
</p>
<blockquote>
I was wondering today why use mbstring rather than iconv in Dokeos, and honestly I didn't remember exactly why I had chosen mbstring in the past, but finding information about the *differences* between the two. [...] Searching a bit more, I found a <a href="http://www.nyphp.org/content/presentations/smallworld/April2006-nyphp-Presentation.ppt">PPT presentation</a> from Carlos Hoyos on Google.
</blockquote>
<p>
Essentially, it boils down to how the library is integrated - mbstring is bundled and iconv is pulled from an external source. So, if you're looking for maximum portability, he recommends mbstring.
</p>]]></description>
      <pubDate>Thu, 24 Apr 2008 11:18:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Stubbles Blog: Do not trust the reflection API]]></title>
      <guid>http://www.phpdeveloper.org/news/9507</guid>
      <link>http://www.phpdeveloper.org/news/9507</link>
      <description><![CDATA[<p>
On the Stubbles blog, <i>Frank Kleine</i> <a href="http://www.stubbles.org/archives/40-Do-not-trust-the-reflection-API.html">offers some advice</a> to developers looking to use the Reflection API - "don't trust it".
</p>
<blockquote>
If you try to get informations about parameters from methods of internal classes - forget that. Examining several internal classes my key findings are: either there is no information about parameters available and the reflection API says the method does not have any parameters, or the information about the parameter is wrong.
</blockquote>
<p>
He <a href="http://www.stubbles.org/archives/40-Do-not-trust-the-reflection-API.html">includes code examples</a> along side the output from the script to illustrate his point. 
</p>]]></description>
      <pubDate>Mon, 28 Jan 2008 13:07:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Internet Super Hero Blog: Debugging ext/mysqli and mysqlnd]]></title>
      <guid>http://www.phpdeveloper.org/news/8571</guid>
      <link>http://www.phpdeveloper.org/news/8571</link>
      <description><![CDATA[<p>
With all of the good news they've posted about the mysqlnd driver, the developers behind the Internet Super Hero blog know that there will be bugs that come up in the driver. So, they've <a href="http://blog.ulf-wendel.de/?p=159">addressed the right way</a> to find and deal with these issues in a new blog entry.
</p>
<blockquote>
he bad news: mysqlnd might have bugs. How to report and debug these bugs - using mysqli_debug() - is subject of this posting.
</blockquote>
<p>
They <a href="http://blog.ulf-wendel.de/?p=159">step you through</a> the process for finding out what's causing the problems (internal versus external debugging) and how to make client traces with the mysqi extension to make it even easier for the developers to track down the problem. They also suggest a few things to send along with your bug report - like the PHP code calling it or the SQL you're using to select/update/insert/delete the data from your database.
</p>]]></description>
      <pubDate>Mon, 03 Sep 2007 08:56:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Lead PEAR Developer Changes Focus]]></title>
      <guid>http://www.phpdeveloper.org/news/6378</guid>
      <link>http://www.phpdeveloper.org/news/6378</link>
      <description><![CDATA[<p>
Today, <i>Pierre-Alain Joye</i> has fomally announced his "retirement" from working with the <a href="http://pear.php.net">PEAR project</a> as a lead developer. He's making a shift to work mainly towards other graphics/imaging work he's been developing and to continue work with his current extensions (and a few new ones on the way).
</p>
<p>
I spoke with him on some of the things that had lead up to making this decision and he mentioned it as a two-fold reason: one was some personal conflict between other PEAR developers and himself and the other an issue of time and interest in the project. He still wants to see it succeed, but just doesn't see the time in his life right now to do his part. <i>Pierre</i> will continue to work with the PECL extensions and on the PHP internals groups to help improve and develope them towards future versions. Some of the extensions he lists as the ones currently in his development are things like GD, xmlwriter, Zip (of course), and filter.
</p>
<blockquote>
It is just a normal process, things and people change. I would have preferred a slower switch, as I was working on my leave (giving lead for many of my packages to other friends).
</blockquote>
<p>
<i>Pierre</i>'s PEAR work can be seen on <a href="http://blog.thepimp.net/index.php/1999/03/21/54-what-i-do">this page</a> of his blog and includes all of his PEAR and PECL work as well as PHP internals and Pimp/Cairo/GD development work.
</p>
<p>
You can also check out the decision in <a href="http://blog.thepimp.net/index.php/2006/09/27/109-i-left-pear">his own words</a> over on his blog.
</p>]]></description>
      <pubDate>Wed, 27 Sep 2006 10:15:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Greg Beaver's Blog: subtle PHP 4 to PHP 5 difference regarding objects]]></title>
      <guid>http://www.phpdeveloper.org/news/5045</guid>
      <link>http://www.phpdeveloper.org/news/5045</link>
      <description><![CDATA[PHP has a lot going on "under the hood" for each request that's made, so its no wonder that issues with PHP5 code might see some problems when shifted down to PHP4. <i>Greg Beaver</i> <a href="http://greg.chiaraquartet.net/archives/121-subtle-PHP-4-to-PHP-5-difference-regarding-objects.html">caught something</a> in the PEAR installer centered around objects.
<p>
<quote>
<i>
Recently, some code in the PEAR installer was discovered to be invalid in PHP 4. After a bit of investigation, I realized that the significant difference in the way objects are represented internally in PHP 5 was the culprit.
<p>
In PHP 5, this displays as bool(true), but in PHP 4, it displays bool(false). The reason is that in PHP 4, objects are simply glorified associative arrays, and so PHP treats the above [example] code exactly the same.
</i>
</quote>
<p>
He strongly suggests that, to help with this issue, you always check to ensure (with is_object) that what you're passing is a true object.
<p>
He's <a href="http://greg.chiaraquartet.net/archives/121-subtle-PHP-4-to-PHP-5-difference-regarding-objects.html">made an update</a> to the post since it was originally released, mentioning how some classes will also define their own cast handlers.]]></description>
      <pubDate>Mon, 27 Mar 2006 07:05:53 -0600</pubDate>
    </item>
  </channel>
</rss>
