<?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>Fri, 24 May 2013 10:58:35 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[PHPMaster.com: Explore Aspect Oriented Programming with CodeIgniter, Part 3]]></title>
      <guid>http://www.phpdeveloper.org/news/18402</guid>
      <link>http://www.phpdeveloper.org/news/18402</link>
      <description><![CDATA[<p>
PHPMaster.com is back with the <a href="http://phpmaster.com/explore-aspect-oriented-programming-with-codeigniter-3/">third part</a> of their series looking at Aspect Oriented Programming with the <a href="http://codeigniter.com">CodeIgniter</a> framework. (<a href="http://phpmaster.com/explore-aspect-oriented-programming-with-codeigniter-1/">Part 1</a>, <a href="http://phpmaster.com/explore-aspect-oriented-programming-with-codeigniter-2/">Part 2</a>)
</p>
<blockquote>
In the previous parts of the series we learned about AOP concepts and the need for using AOP in large scale projects and I introduced CodeIgniter's hooks as a convenient mechanism for creating AOP functionality from scratch. In this part I'll show you how to use both XML and comment-based techniques to create custom AOP functionality when a dedicated AOP framework is not available.
</blockquote>
<p>
They start with the XML configuration that defines a few aspects and pointcuts for the application. This is then read in via the "applyBeforeAspects" and the aspects that should be executed first are extracted, loaded and run. Following this, they take the other approach - based on docblock comments - and pull in the comments (the @before and @after tags) and load/execute the aspects that way instead.
</p>]]></description>
      <pubDate>Fri, 24 Aug 2012 11:56:29 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthew Weier O'Phinney's Blog: Aspects, Filters, and Signals, Oh, My!]]></title>
      <guid>http://www.phpdeveloper.org/news/15718</guid>
      <link>http://www.phpdeveloper.org/news/15718</link>
      <description><![CDATA[<p>
<i>Matthew Weier O'Phinney</i> has a new <a href="http://weierophinney.net/matthew/archives/251-Aspects,-Filters,-and-Signals,-Oh,-My!.html">in-depth post</a> to his blog that looks at a few features of <a href=http://en.wikipedia.org/wiki/Aspect-oriented_programming">Aspect Oriented Programming</a> and what technologies are out there that help support it right now. He mainly focuses on the features of the <a href="http://lithify.me/">Lithium</a> framework because of its filtering techniques.
</p>
<blockquote>
Last month, during <a href="http://phpadvent.org/">PHP Advent</a>, <A href="http://ohloh.net/accounts/gwoo">gwoo</a> wrote an interesting post on <a href="http://phpadvent.org/2010/aspect-oriented-design-by-garrett-woodworth">Aspect-Oriented Design</a>, or Aspect Oriented Programming (AOP) as it is more commonly known. The article got me to thinking, and revisiting what I know about AOP, Intercepting Filters, and Signal Slots -- in particular, what use cases I see for them, what the state of current PHP offerings are, and where the future may lie.
</blockquote>
<p>
He gives a base class to help make things a bit clearer for the rest of the post - a simple Foo instance that uses a Listener interface to "doSomething". <i>Matthew</i> also talks about intercepting filters (extracting things like logging/debugging out of the code and put on its own) and signal slots. For both, he gives examples of how Lithium handles them and some of his opinions on the methods. He points out a few concerns that he has for the current state of AOP in PHP (frameworks) and suggests that, if you haven't looked at these ideas, you do so sooner rather than later.
</p>]]></description>
      <pubDate>Tue, 11 Jan 2011 10:24:08 -0600</pubDate>
    </item>
  </channel>
</rss>
