<?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, 18 Jun 2013 21:09:29 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[DZone.com: Cloning in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/19600</guid>
      <link>http://www.phpdeveloper.org/news/19600</link>
      <description><![CDATA[<p>
In <a href="http://css.dzone.com/articles/cloning-php">this recent post</a> over on DZone.com <i>Giorgio Sironi</i> takes a look at the "clone" feature of PHP - what it is, how it can be used and things to watch out for in its use.
</p>
<blockquote>
Cloning is an operation consisting in the duplication of a data structure, usually to avoid the <a href="http://en.wikipedia.org/wiki/Action_at_a_distance_%28computer_programming%29">aliasing problem</a> of having different code modify the same instance in inconsistent ways. In PHP, cloning can be accomplished in multiple ways - and in some cases it can be avoided altogether.
</blockquote>
<p>
He talks some about how objects are passed around internally during the PHP execution and how you can tell if a function works with data by reference (from the manual). He then looks at the "clone" keyword and what kinds of things are duplicated from an object when it is used. He briefly touches on the "__clone" magic method for solving the "shallow clone" problem and how, possibly, serializing the object might be a better alternative for reproducing the entire object.
</p>
Link: http://css.dzone.com/articles/cloning-php]]></description>
      <pubDate>Fri, 17 May 2013 11:09:42 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Padraic Brady's Blog: Zend Framework: Survive The Deep End Update]]></title>
      <guid>http://www.phpdeveloper.org/news/12202</guid>
      <link>http://www.phpdeveloper.org/news/12202</link>
      <description><![CDATA[<p>
For those wondering about the status of his book, "Zend Framework: Survive The Deep End", <i>Padraic Brady</i> has <a href="http://blog.astrumfutura.com/archives/396-Zend-Framework-Survive-The-Deep-End-Update.html">posted an update</a> of where he's at.
</p>
<blockquote>
Since the rumor mill has been active a while, I confirm two chapters of the book will be released this week. [...] To kick off a new spell of book updates, the next Chapter will be "A Simple Hello World Example", with an Appendix titled "Virtual Hosts On Apache 2". The following Chapter approximately one week later will be an introduction to the application to be built for most of the first half of the book.
</blockquote>
<p>
He notes that, while normal print books usually have schedules, self-publishing is a bit more flexible. He does want to assure the readers of the book that work is actively being done and the chapters will keep coming.
</p>]]></description>
      <pubDate>Wed, 25 Mar 2009 07:54:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Padraic Brady's Blog: Zend Framework: Survive The Deep End - Still Kicking :)]]></title>
      <guid>http://www.phpdeveloper.org/news/11920</guid>
      <link>http://www.phpdeveloper.org/news/11920</link>
      <description><![CDATA[<p>
<i>Padraic Brady</i> has <a href="http://blog.astrumfutura.com/archives/386-Zend-Framework-Survive-The-Deep-End-Still-Kicking.html">an update</a> about his "Zend Framework: Survive the Deep End" book he's been self-publishing on his site including a change to his current donation set up.
</p>
<blockquote>
In experimenting with making money (so I can buy that Macbook Pro) I'll be adding some changes to how donations work. One main change is that while the current PDF file for the existing chapters will remain available (including future updates), PDF files covering the entire book to date will only be available to those who donate.
</blockquote>
<p>
The online HTML-only version of the chapters will always be free of charge, but the PDFs (from here on out) will be for those who donate. He is also considering adding screencasts to the series to provide a bit more interactive feel to the whole Zend Framework topic.
</p>]]></description>
      <pubDate>Tue, 10 Feb 2009 09:34:38 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPImpact Blog: Analysis of coupling within the Zend Framework]]></title>
      <guid>http://www.phpdeveloper.org/news/10364</guid>
      <link>http://www.phpdeveloper.org/news/10364</link>
      <description><![CDATA[<p>
As the PHP:Impact blog <a href="http://phpimpact.wordpress.com/2008/06/08/analysis-of-coupling-within-the-zend-framework/">points out</a> there's a <a href="http://codecaine.co.za/posts/analysis-of-coupling-within-the-zend-framework#comment-125">new post</a> from <i>Neil Garb</i> talking about the (loose) coupling going on inside the Zend Framework.
</p>
<blockquote>
One of the Zend Framework's strongest drawing cards, as I see it, is its loosely-coupled structure. The name Zend Framework may be a misnomer, in fact, as ZF is more a set of reusable libraries than an actual application framework. I won't go into detail about the advantages of loose coupling, but a recent discussion on the ZF mailing list prompted me to investigate just how loosely coupled the framework is.
</blockquote>
<p>
He's created a few graphs to show the extent of the coupling - a <a href="http://en.wikipedia.org/wiki/Directed_graph#Directed_graph">directed graph</a>, the <a href="http://en.wikipedia.org/wiki/Graph_density">density</a> of it and example code showing deep and shallow coupling. <a href="http://codecaine.co.za/img/analysis-of-coupling-within-the-zend-framework/zf_coupling.png">Here's his results</a>.
</p>]]></description>
      <pubDate>Mon, 09 Jun 2008 07:56:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Richard Lord's Blog: PHP 5.2 - Nesting level too deep - recursive dependency?]]></title>
      <guid>http://www.phpdeveloper.org/news/6691</guid>
      <link>http://www.phpdeveloper.org/news/6691</link>
      <description><![CDATA[<p>
So, you've just upgraded to <a href="http://www.php.net/downloads.php">PHP 5.2</a> and all is going well until you come across a page in your application that gives the message "Nesting level too deep - recursive dependency?". With such a vague error message, you might have trouble locating the source of the problem. Thankfully, someone's already been there and <a href="http://www.bigroom.co.uk/blog/php-nesting-level-too-deep-recursive-dependency/">figured out the issue</a> - <i>Richard Lord</i>.
</p>
<blockquote>
I installed PHP 5.2 on one of my testing servers today and a couple of bits of code that previously worked fine in version 5.1.6 threw fatal errors in the new version. The error message was "Nesting level too deep - recursive dependency?" and it took a little time to track down the root of the problem. Here's what I'd done wrong.
</blockquote>
<p>
Basically, his problem was using the "non-strict" evaluation for checking if two objects were equal to each other (== instead of ===). This compares everything about them, down to the properties - even if they're references to other properties inside of the same class (which is where the problem lies).
</p>
<p>
So, the fix is simple - === instead of == when comparing those objects. You'll be happier for the change.
</p>]]></description>
      <pubDate>Mon, 13 Nov 2006 10:02:00 -0600</pubDate>
    </item>
  </channel>
</rss>
