<?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>Thu, 20 Nov 2008 02:29:25 -0600</pubDate>
    <ttl>30</ttl>
    <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>
