<?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 18:36:06 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Robert Basic's Blog: A Zend Framework 2 EventManager use case]]></title>
      <guid>http://www.phpdeveloper.org/news/17021</guid>
      <link>http://www.phpdeveloper.org/news/17021</link>
      <description><![CDATA[<p>
<i>Robert Basic</i> has a new post to his blog today with an <a href="http://robertbasic.com/blog/azend-framework-2-eventmanager-use-case/">use case for Zend Framework 2's event manager</a> to solve a problem he has with "repetitive code" in some of his models.
</p>
<blockquote>
Basically, this allows us to have one piece of code to trigger an event and to have one or more listeners listening to this event. When the event gets triggered, the listeners are called and then we can do *something*, like caching or logging. Logging or caching. [...] See, that's my problem. All the event examples stop at logging and caching. Truly there must be some other example for which this event stuff can be used for.
</blockquote>
<p>
In his example code, he's used the EventManager in one of his models to add listeners to validate the post and "slugify" the post's title for use on the URL. You can <a href="https://github.com/robertbasic/blog-examples/blob/master/zf2-event-manager/index.php">find his code on github</a> if you're interested in the full implementation.
</p>]]></description>
      <pubDate>Thu, 20 Oct 2011 11:05:43 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Documentation Makes the World Go Round]]></title>
      <guid>http://www.phpdeveloper.org/news/16945</guid>
      <link>http://www.phpdeveloper.org/news/16945</link>
      <description><![CDATA[<p>
On PHPMaster.com today there's a new article emphasizing something that lots of developers forget to make a part of their process when writing code - <a href="http://phpmaster.com/documentation-makes-the-world-go-round/">creating useful documentation</a> to help make your code that much clearer.
</p>
<blockquote>
If you're writing code that will be shared with others, put yourself in their shoes. Don't let your project lose potential users, community members, and possible contributors all because of insufficient documentation.
</blockquote>
<p>
He (<i>Matthew Turland</i>) suggests a few things to keep in mind as you're writing up your documentation - the content is "king" (an emphasis on good descriptions/examples/use cases), open it up to external contributions using things like wikis (or even stored in the source code repository) and a focus on technical writing skills. Even the best tools out there can suffer if there's poor or no documentation.
</p>]]></description>
      <pubDate>Tue, 04 Oct 2011 09:03:16 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Timothy Boronczyk's Blog: Currying in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/12851</guid>
      <link>http://www.phpdeveloper.org/news/12851</link>
      <description><![CDATA[<p>
<i>Timothy Boronczyk</i> has <a href="http://zaemis.blogspot.com/2009/06/currying-in-php.html">posted about</a> an interesting concept you could use in your applications - currying (made possible in PHP 5.3.x and above):
</p>
<blockquote>
What happens if you don't have all the arguments handy for a function, but you want to give whatever arguments you do have now and then provide the rest of them to the function later? This is called <A href="http://en.wikipedia.org/wiki/Currying">currying</a>, and is a core concept in functional programming. It's messy, but possible to curry functions in PHP now that <a href="http://zaemis.blogspot.com/2009/03/anonymous-functions-and-closures.html">closures have been added</a>.
</blockquote>
<p>
He starts with an example from OCaml/F# to illustrate the point and moves to a PHP example - changing a normal function that requires three parameters into one that makes it possible to only submit the parameters you'd want to use. He also includes a more "real life" example of how it could be used in array filtering.
</p>]]></description>
      <pubDate>Fri, 10 Jul 2009 13:33:18 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Brian DeShong's Blog: Development process for PHP-based projects]]></title>
      <guid>http://www.phpdeveloper.org/news/10611</guid>
      <link>http://www.phpdeveloper.org/news/10611</link>
      <description><![CDATA[<p>
<i>Brian DeShong</i> has posted some of his <a href="http://www.deshong.net/?p=78">"food for thought"</a> on the development process that's behind the scenes of different PHP applications.
</p>
<blockquote>
Lately I've been doing a lot of thinking on development processes and quality, specifically for large-scale, professional PHP-based projects. [...] Generally speaking, my perception is that software development shops that really care about and emphasize quality have processes that consist of things such as writing use cases, unit testing and continuous integration.
</blockquote>
<p>
He knows how he feels about all of this, be he wants to hear back from the community. How far does quality assurance go in your group? What kind of time/funding does this involve? <a href="http://www.deshong.net/?p=78">Leave him a comment</a> and let him know...
</p>]]></description>
      <pubDate>Tue, 15 Jul 2008 15:11:25 -0500</pubDate>
    </item>
  </channel>
</rss>
