<?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>Sat, 22 Nov 2008 03:12:05 -0600</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Tobias Schlitt's Blog: iRefuseToUse aNamingScheme]]></title>
      <guid>http://www.phpdeveloper.org/news/10519</guid>
      <link>http://www.phpdeveloper.org/news/10519</link>
      <description><![CDATA[<p>
<i>Tobias Schlitt</i> has <a href="http://schlitt.info/applications/blog/index.php?/archives/607-iRefuseToUse-aNamingScheme.html">posted some comments</a> on things recently said on PHP's upcoming support for namespaces - specifically on the ideas about naming classes the could conflict with PHP's own internal ones.
</p>
<blockquote>
Namespaces are potentially coming in PHP 5.3 (does anyone believe?) and people start discussion about how they can even shorten their names from Abstract to aSomething and from Interface to iAnotherthing. I'm a fan of short names. [...] I agree with these rules and am of the opinion that class names must all above anything contain a semantic. Interfaces indicate what you can do with an object, while abstract classes model that different classes have a common base and can be used in the same mannor. And indeed you can add these semantics to names without using the terms.
</blockquote>
<p>
He gives a few <a href="http://schlitt.info/applications/blog/index.php?/archives/607-iRefuseToUse-aNamingScheme.html">examples</a>, things like Persistable, Configurable and Reflector.
</p>]]></description>
      <pubDate>Tue, 01 Jul 2008 10:25:30 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Derick Rethans' Blog: Namespaces in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/10415</guid>
      <link>http://www.phpdeveloper.org/news/10415</link>
      <description><![CDATA[<p>
After hearing <i>Stefan Priebsch</i>'s talk at this year's Dutch PHP Conference, something occurred to <i>Derick Rethans</i> - there was a small sort of issue with using namespaces and possible future PHP's own namespace.
</p> 
<blockquote>
One of the things that came up is the conflicts that can arise with internal classes. 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://www.php.net/manual/en/userlandnaming.rules.php">owns the global namespace</a>) then the above code would suddenly stop working
</blockquote>
<p>
He offers <a href="http://derickrethans.nl/namespaces_in_php.php">a simple solution</a> that can prevent this sort of conflict for the future - defining your "use" and then creating a new instance of the namespace into a variable instead of just an "as".
</p>]]></description>
      <pubDate>Mon, 16 Jun 2008 07:54:39 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Greg Beaver's Blog: Interesting, potentially critical bug in PEAR]]></title>
      <guid>http://www.phpdeveloper.org/news/6950</guid>
      <link>http://www.phpdeveloper.org/news/6950</link>
      <description><![CDATA[<p>
Following right on the heels of <a href="http://www.phpdeveloper.org/news/6932">a different PEAR problem</a>, <i>Greg Beaver</i> has posted about a <a href="http://greg.chiaraquartet.net/archives/158-interesting,-potentially-critical-bug-in-PEAR.html">similar PEAR-related issue</a> that could cause some serious problems for you and your installation.
</p>
<blockquote>
<p>
After investigating (which in my case meant briefly recalling from memory how PEAR actually validates dependencies), I remembered that PEAR validates dependencies twice, once prior to download, and once prior to installation. By the time the dependencies are sorted, PEAR assumes that the sort algorithm properly sorts things. 
</p>
<p>
This is actually a pretty reasonable assumption considering the unit tests that are in place to test this.  However, like all regression testing, the unit tests test boundaries and likely cases, but not all possible inputs.
</p>
</blockquote>
<p>
So, to try to figure out where things might have gone wrong, <i>Greg</i> <a href="http://greg.chiaraquartet.net/archives/158-interesting,-potentially-critical-bug-in-PEAR.html">does a little research</a> to find the problem. He discovers that it has to do with the order that the "subpackages" for the dependencies are installed, where the contents of those files are not removed correctly before installation, resulting in a file conflict.
</p>]]></description>
      <pubDate>Wed, 20 Dec 2006 13:16:39 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Ilia Alshanetsky's Blog: MySQL Binaries and cURL/http extensions in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/5821</guid>
      <link>http://www.phpdeveloper.org/news/5821</link>
      <description><![CDATA[<p>
<i>Ilia Alshanetsky</i> has posted a <a href="http://ilia.ws/archives/118-MySQL-Binaries-and-cURLhttp-extensions-in-PHP.html">quick note</a> about building PHP with cURL/HTTP support combined with adding  a MySQL extension. Conflicts can happen with some of the libraries, and he knows how to solve it.
</p>
<blockquote>
The MySQL binaries found on mysql.com are built against yaSSL as opposed to the more common openssl against which libcurl (usede by cURL and HTTP extensions) is linked. The conflict between the two libraries causes curl initialization of the SSL layer to fail preventing startup of the PHP extensions.
</blockquote>
<p>
<a href="http://ilia.ws/archives/118-MySQL-Binaries-and-cURLhttp-extensions-in-PHP.html">The fix?</a> To either use the older mysqlclient libraries or manually compile MySQL yourself against the OpenSSL libraries.
</p>]]></description>
      <pubDate>Wed, 19 Jul 2006 05:35:26 -0500</pubDate>
    </item>
  </channel>
</rss>
