<?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>Sat, 25 May 2013 18:48:17 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Zumba Fitness Engineering: Using Application Events to Hook in Plugins]]></title>
      <guid>http://www.phpdeveloper.org/news/18338</guid>
      <link>http://www.phpdeveloper.org/news/18338</link>
      <description><![CDATA[<p>
In <a href="http://engineering.zumba.com/2012/08/04/using-application-events-to-hook-in-plugins/">this recent post</a> on the Zubma Fitness Engineering site, <i>Chris Saylor</i> looks at using events in your applications to hook in plugins to easily (and dynamically) enhance functionality.
</p>
<blockquote>
In many instances, having a plugin system (even for closed-source applications) is a convenient and safe approach to adding functionality to a product. It minimizes risk by not having to modify the core of the source. In this article, I'll be discussing how we implemented a plugin system for our cart software to allow for plugins.
</blockquote>
<p>
Its implemented a bit like the <a href="http://en.wikipedia.org/wiki/Observer_pattern">Observer</a> design pattern - you "register" the listening event which can then be activated by a "trigger" method with the event's name. These events are stored in a registry (static) so they can be accessed across the application.
</p>]]></description>
      <pubDate>Thu, 09 Aug 2012 09:23:37 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[MaltBlue.com: Why Zend Framework Plugins Save You Time]]></title>
      <guid>http://www.phpdeveloper.org/news/18186</guid>
      <link>http://www.phpdeveloper.org/news/18186</link>
      <description><![CDATA[<p>
On the MaltBlue.com blog today there's a new post talking about <a href="http://www.maltblue.com/zend-framework/why-zend-framework-plugins-save-you-time">Zend Framework plugins</a> and how they can help save you time in the long run, giving you more time and flexibility to create the applications you want.
</p>
<blockquote>
During the recent development of the new <a href="http://www.phpclouddevelopmentcasts.com/">PHP cloud development casts site</a>, which has been developed with the Zend Framework, so much development time has been saved by using one of the simplest and arguably best features of the framework: <a href="http://framework.zend.com/manual/en/zend.controller.plugins.html">Controller Plugins</a>. So today I want to introduce you to them and walk you through a working plugin so you can see just how effective and efficient they can make your development workflow.
</blockquote>
<p>
He starts with a look at the events that fire in the process of plugin execution (including "routeStartup" and "preDispatch") and as well as some common uses like inserting code at the end of a request automatically or redirecting a user if they're not logged in. Included in the post is a simple code example showing the setup of a simple plugin that redirects the user to the "/index/index" path if they're not already there.
</p>]]></description>
      <pubDate>Thu, 05 Jul 2012 11:44:41 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Rob Allen's Blog: A list of ZF2 Events]]></title>
      <guid>http://www.phpdeveloper.org/news/17683</guid>
      <link>http://www.phpdeveloper.org/news/17683</link>
      <description><![CDATA[<p>
In a reference sort of post, <i>Rob Allen</i> has <a href="http://akrabat.com/zend-framework-2/a-list-of-zf2-events/">listed out the events</a> that are provided in the Zend Framework 2 "Application" functionality.
</p>
<blockquote>
Both the Module Manager and the MVC system use the Event Manger extensively in order to provide "hook points" for you to add your own code into the application flow. This is a list of the events triggered by each class during a standard request with the Skeleton Application.
</blockquote>
<p>
It's broken up into the three main chunks - Module Manager, Bootstrap and Application - with any sub-requests and their sources (like "render", "dispatch" or "response"). You can find out more about ZF2's Event Manager in other posts like <a href="http://www.eschrade.com/page/zend-framework-2-event-manager/">this one from Kevin Schroeder</a> or <a href="http://mwop.net/blog/266-Using-the-ZF2-EventManager">this</a> from <i>Matthew Weier O'Phinney</i>.
</p>]]></description>
      <pubDate>Fri, 16 Mar 2012 09:49:15 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Smashing Magazine: Upcoming Conferences and Events for Designers and Developers in 2011]]></title>
      <guid>http://www.phpdeveloper.org/news/15907</guid>
      <link>http://www.phpdeveloper.org/news/15907</link>
      <description><![CDATA[<p>
Smashing Magazine has posted their latest <a href="http://www.smashingmagazine.com/2011/02/14/upcoming-events-and-conferences-for-designers-and-developers-in-2011/">Upcoming Conferences</a> list for the events happening in March through August of 2011.
</p>
<blockquote>
We're well into 2011, and many designers and developers around the world are planning their travels for the year, including the possibility of attending any Web design or development conferences. To help you out with your plans for the upcoming months, we've put together a list of conferences and events that you might want to consider. This particular post covers events taking place in about a six month timeframe that ends in late August and early September.
</blockquote>
<p>
Their list includes PHP-related events such as the <a href="http://phpconference.com/">International PHP Conference</a> and events surrounding many other technologies like Ruby, Photoshop, MySQL, Javascript and lots of other more business-minded sort of events. Check out their <a href="http://www.smashingmagazine.com/2011/02/14/upcoming-events-and-conferences-for-designers-and-developers-in-2011/">full list</a> to see which ones you might want to attend.
</p>]]></description>
      <pubDate>Tue, 15 Feb 2011 10:42:03 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Alexander Netkachev's Blog: Practical PHP events: The Java way]]></title>
      <guid>http://www.phpdeveloper.org/news/6625</guid>
      <link>http://www.phpdeveloper.org/news/6625</link>
      <description><![CDATA[<p>
Continuing on with his look at events in PHP, <i>Alexander Netkachev</i> takes <a href="http://www.alexatnet.com/Blog/Index/2006-10-31/practical-php-events-the-java-way">another look today</a> at another type of approach to his handy feature - the "Java way".
</p>
<blockquote>
In my previous article I summarized event system definitions and showed an example of PHP event model, which is built with the call_user_func() function. This acticle expands the subject by introducing an advanced PHP event model that is based on sender/eventObject/listener collaboration, which was popularized by the Java world.
</blockquote>
<p>
He <a href="http://www.alexatnet.com/Blog/Index/2006-10-31/practical-php-events-the-java-way">steps through</a> some examples with ProtocolCommandSupport.java and ProtocolCommandListener.java functionality, showing how to take that functionality back over to PHP and implement it using the built-in features.
</p>]]></description>
      <pubDate>Wed, 01 Nov 2006 13:58:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHP Magazine: Weekly PHP Roundup [12th June- 16th June]]]></title>
      <guid>http://www.phpdeveloper.org/news/5607</guid>
      <link>http://www.phpdeveloper.org/news/5607</link>
      <description><![CDATA[<p>
PHP Magazine has posted their <a href="http://www.php-mag.net/magphpde/magphpde_news/psecom,id,25974,nodeid,5.html">latest weekly roundup</a> for all things happening in the PHP community. This roundup covers June 12th through June 16th.
</p>
<p>
Some of the topics touched on <a href="http://www.php-mag.net/magphpde/magphpde_news/psecom,id,25974,nodeid,5.html">this week</a> include:
<ul>
<li>the "Five Best Next Generation PHP Frameworks" article
<li>"The Evolution of PHP on the Internet" - Nexen.net's latest stats
<li>comparing mod_php and FastCGI
<li>the announcement of "Baking Day" from the CakePHP group
<li>and several of the new PEAR/PECL/Zend Framework updates from the week
</ul>
</p>
<p>
Of course, this list only touches briefly on all of the happenings this week, so <a href="http://www.php-mag.net/magphpde/magphpde_news/psecom,id,25974,nodeid,5.html">check out the full list</a> on their site.
</p>]]></description>
      <pubDate>Fri, 16 Jun 2006 09:03:48 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Simulating Events with PHP 5]]></title>
      <guid>http://www.phpdeveloper.org/news/4873</guid>
      <link>http://www.phpdeveloper.org/news/4873</link>
      <description><![CDATA[On DevShed today, there's <a href="http://www.devshed.com/c/a/PHP/Simulating-Events-with-PHP-5/">this new tutorial</a> aimed at more advanced PHP developers concerning how to simulate events in PHP5.
<p>
<quote>
<i>
PHP has the drawback of not supporting events. Fortunately, a basic structure can be built to support events in PHP 5. This article tackles that problem with some proof of concept code.
<p>
It seemed reasonable to me that some sort of basic structure could be established to support events in PHP 5, so I set out to whip something up as quickly as possible as a proof of concept. The contents of this article are the work of roughly one programming hour and surely stand to be improved upon, but the basic idea is this: instantiate an object and attach event handlers; the handlers will be executed when the events they are associated with are raised.
</i>
</quote>
<p>
They <a href="http://www.devshed.com/c/a/PHP/Simulating-Events-with-PHP-5/">look first</a> at how to create a simple object to store the information in and a "collection" class to manage those objects. They move on to the creation of the event handler class and a "collection" class for handling those as well. Finally, they get to the combination of the above items - a class that does an eval on the inputted string and creates an associative array.]]></description>
      <pubDate>Tue, 21 Feb 2006 06:46:23 -0600</pubDate>
    </item>
  </channel>
</rss>
