<?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>Wed, 19 Jun 2013 23:55:01 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Seastian Bergmann's Blog: Object-Relational Behavioral Patterns]]></title>
      <guid>http://www.phpdeveloper.org/news/11956</guid>
      <link>http://www.phpdeveloper.org/news/11956</link>
      <description><![CDATA[<p>
<i>Seastian Bergmann</i> has added some new features to the <a href="http://github.com/sebastianbergmann/php-object-freezer/">Object_Freezer</a> library (you can read more about it <a href="http://sebastian-bergmann.de/archives/831-Freezing-and-Thawing-PHP-Objects.html">here</a>) - some new object-relational behavioral patterns.
</p>
<p>
The three patterns are from <i>Martin Fowler</i>'s <a href="http://martinfowler.com/books.html#eaa">Patterns of Enterprise Application Architecture</a> book:
</p>
<ul>
<li><a href="http://martinfowler.com/eaaCatalog/unitOfWork.html">Unit of Work</a> - maintains a list of objects affected by a business transaction and coordinates the writing out of changes and the resolution of concurrency problems.
<li><a href="http://martinfowler.com/eaaCatalog/identityMap.html">Identity Map</a> - each object gets loaded only once by keeping every loaded object in a map
<li><a href="http://martinfowler.com/eaaCatalog/lazyLoad.html">Lazy Load</a> - object that doesn't contain all of the data you need but knows how to get it.
</ul>]]></description>
      <pubDate>Mon, 16 Feb 2009 12:08:47 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: Fluent Interfaces in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/6946</guid>
      <link>http://www.phpdeveloper.org/news/6946</link>
      <description><![CDATA[<p>
The Zend Developer Zone has posted <a href="http://devzone.zend.com/node/view/id/1362">a new article</a> from editor of the dZone, <i>Cal Evans</i>, looking at using fluent interfaces in PHP.
</p>
<blockquote>
Fluent Interfaces are not a new programming construct. However, PHP developers have not been able to use them until PHP 5. Now with PHP 5 and the ability to directly dereference an object, PHP developers can build objects using fluent interfaces.
</blockquote>
<p>
He <a href="http://devzone.zend.com/node/view/id/1362">starts off</a> with a look at what they are and how (and why) they can be used in an application. He includes code example to help show how you would create an interface (makeNormal). 
</p>
The code and other information are pulled from a few sources:
<ul>
<li><a href="http://www.mikenaberezny.com/archives/35">this article</a> by <i>Mike Naberezny</i> 
<li><a href="http://paul-m-jones.com/blog/?p=188">a post</a> from <i>Paul Jones</i>
<li>a <a href="http://martinfowler.com/bliki/FluentInterface.html">blog post</a> from <i>Martin Fowler</i>
</ul>
<i>Cal</i> also mentions what he got into the fluent interfaces game for - creating a tag cloud with a fluent interface over the normal arguments/properties method.
</p>]]></description>
      <pubDate>Wed, 20 Dec 2006 08:55:00 -0600</pubDate>
    </item>
  </channel>
</rss>
