<?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>Sun, 19 May 2013 19:33:45 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHPMaster.com: Introduction to the Law of Demeter]]></title>
      <guid>http://www.phpdeveloper.org/news/18662</guid>
      <link>http://www.phpdeveloper.org/news/18662</link>
      <description><![CDATA[<p>
On PHPMaster.com today they've posted <a href="http://phpmaster.com/introduction-to-the-law-of-demeter/">an introduction to the Law of Demeter</a>, an idea that promotes loose coupling between objects that each do their own work. This makes it simpler to make pieces interchangeable and more able to focus on their job.
</p>
<blockquote>
With so many heuristics stating how and why software systems should cling to a specific approach, it's pretty disappointing not seeing a broader implementation of them in the world of PHP. For example, the Law of Demeter is probably one of the most underrated in the language's realm. Effectively, the law's "talk to your closest friends" mantra still seems to be in a pretty immature state in PHP, something that contributes to rot in the overall quality of several object-oriented code bases. 
</blockquote>
<p>
They look at how keeping the functionality of each object focused and not "knowing too much" is a good thing and include some examples of working with a service locator, serializer and file storage classes.
</p>]]></description>
      <pubDate>Fri, 26 Oct 2012 12:13:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Lukas Smith's Blog: Loose interface coupling]]></title>
      <guid>http://www.phpdeveloper.org/news/17219</guid>
      <link>http://www.phpdeveloper.org/news/17219</link>
      <description><![CDATA[<p>
In a new post to his blog <i>Lukas Smith</i> proposes an idea for a <a href="http://pooteeweet.org/blog/0/2056#m2056">loosely coupled interface setup</a> that would allow for easier integration between third-party libraries and other applications.
</p>
<blockquote>
Especially as for different libraries a different subset of the community could end up collaborating. Here I see 3 options: 1) each library bundles the interfaces (even though they sit in some common namespace), 2) each project asks their users to fetch the common interfaces from some other place 3) runtime "coupling". Option 3) doesn't exist today and is what this blog post is about.
</blockquote>
<p>
He introduces the idea of a "spl_register_compatible_interface" method that would let you compare interfaces to see if they'd mesh. There'd still have to be a lot of communication between developers to make things match, though. He suggests three "practical issues" that libraries/tools would have to overcome to use a system like this - each framework has their own interface setup, the lead time for collaboration could be too much to be worthwhile, a lack of interest from some about collaboration and the idea of competing interface methods. 
</p>
<p>
He's <a href="http://pooteeweet.org/blog/0/2056#m2056">looking for feedback</a> from the community on the idea(s) though, so go and leave a comment with your thoughts!
</p>]]></description>
      <pubDate>Tue, 06 Dec 2011 11:02:18 -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>
  </channel>
</rss>
