<?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, 21 May 2013 13:42:38 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Anthony Ferrara's Blog: Handling Plugins In PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/17654</guid>
      <link>http://www.phpdeveloper.org/news/17654</link>
      <description><![CDATA[<p>
<i>Anthony Ferrara</i> has a new post today looking at <a href="http://blog.ircmaxell.com/2012/03/handling-plugins-in-php.html">plugin handling</a> and a few of the more common design patterns that can be used to implement them in your applications.
</p>
<blockquote>
A common problem that developers face when building applications is how to allow the application to be "plug-able" at runtime.  Meaning, to allow non-core code to modify the way an application is processed at runtime.  There are a lot of different ways that this can be done, and lots of examples of it in real life.  Over a year ago, I wrote a <a href="http://stackoverflow.com/a/4471363/338665">StackOverflow Answer</a> on this topic.  However, I think it deserves another look.  So let's look at some patterns and common implementations.
</blockquote>
<p>The patterns he covers are:</p>
<ul>
<li>Observer
<li>Mediator
<li>Strategy
<li>Decorator
<li>Chain of Responsibility
</ul>
<p>
For each there's both a bit of sample code showing it in use and links to some examples from various frameworks and other projects.
</p>]]></description>
      <pubDate>Fri, 09 Mar 2012 13:34:38 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Expanding an Error Logger with the Chain of Responsibility Pattern]]></title>
      <guid>http://www.phpdeveloper.org/news/6692</guid>
      <link>http://www.phpdeveloper.org/news/6692</link>
      <description><![CDATA[<p>
Finishing off their look at the "chain of responsibility", DevShed has posted <a href="http://www.devshed.com/c/a/PHP/Expanding-an-Error-Logger-with-the-Chain-of-Responsibility-Pattern/">part three</a> of the series - expanding on the code that they produced in the past, they add more functionality to their error logger.
</p>
<blockquote>
Now, paying attention to the topics that will be covered in this tutorial, what you'll learn here will consist essentially of applying the chain of responsibility schema to expand the capacity of the error logging system that was developed  previously.
</blockquote>
<p>
They take a look back at what they produced in the previous tutorial (the simple error logger) and show how to <a href="http://www.devshed.com/c/a/PHP/Expanding-an-Error-Logger-with-the-Chain-of-Responsibility-Pattern/">expand on it</a> by adding functionality to log errors to a file. The finish it off by showing how to implement it all in a simple script.
</p>]]></description>
      <pubDate>Mon, 13 Nov 2006 10:57:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Building an Error Logger with the Chain of Responsibility Pattern in PHP 5]]></title>
      <guid>http://www.phpdeveloper.org/news/6649</guid>
      <link>http://www.phpdeveloper.org/news/6649</link>
      <description><![CDATA[<p>
With the next link in their look at the "chain of responsibility" pattern, DevShed has posted <a href="http://www.devshed.com/c/a/PHP/Building-an-Error-Logger-with-the-Chain-of-Responsibility-Pattern-in-PHP-5/">this new part</a> in the series - adding an error logger to the mix.
</p>
<blockquote>
At the end of this article you should be equipped with more robust knowledge of how to create a responsibility chain between PHP objects that perform truly useful tasks, like logging errors to specific components of a Web application.
</blockquote>
<p>
They work from the code built up in the previous installations and <a href="http://www.devshed.com/c/a/PHP/Building-an-Error-Logger-with-the-Chain-of-Responsibility-Pattern-in-PHP-5/">show how</a> to add the foundations of the error logger to the class before moving on to the more advanced bits. They then show how to use it to log some basic errors and, using only a bit more skill, logging some email-related errors.
</p>]]></description>
      <pubDate>Mon, 06 Nov 2006 10:32:00 -0600</pubDate>
    </item>
  </channel>
</rss>
