<?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>Thu, 23 May 2013 13:26:44 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Padraic Brady's Blog: A Domain Specific Language for Behaviour Driven Development (BDD) in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/10646</guid>
      <link>http://www.phpdeveloper.org/news/10646</link>
      <description><![CDATA[<p>
<i>Padraic Brady</i> has <a href="http://blog.astrumfutura.com/archives/386-A-Domain-Specific-Language-for-Behaviour-Driven-Development-BDD-in-PHP.html">posted about</a> a part of his <a href="http://www.phpspec.org/">PHPSpec</a> library, the domain specific language.
</p>
<blockquote>
PHPSpec implements a domain specific language (DSL) in PHP for specifying the behaviour of functional units such as methods and objects. The purpose of a DSL was to move away from the xUnit style declaration of tests towards a specification language centred on describing behaviour.
</blockquote>
<p>
He illustrates with a bowling example - described with a sample class (with a itShouldScore0ForGutterGame test) and how to use it to fit his proposal:
</p>
<blockquote>
My proposal therefore is to re-implement the current programming language DSL as a specification language - i.e. a new (extremely limited and narrow!) language capable of being parsed by PHPSpec into its PHP equivalent. [...] Using a specification DSL, we can simply ignore the existence of classes in PHP (well, the pretense is nice). Instead the DSL would incorporate a syntax for denoting shared behaviours.
</blockquote>]]></description>
      <pubDate>Mon, 21 Jul 2008 11:13:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Padraic Brady's Blog: PHPSpec 0.2.0 Released]]></title>
      <guid>http://www.phpdeveloper.org/news/9397</guid>
      <link>http://www.phpdeveloper.org/news/9397</link>
      <description><![CDATA[<p>
<i>Padraic Brady</i> has <a href="http://blog.astrumfutura.com/archives/334-PHPSpec-0.2.0-Released.html">officially released</a> the latest version of his behavior-driven development framework <a href="http://code.google.com/p/phpspec/">PHPSpec 0.2.0</a>:
</p>
<blockquote>
With the beta release behind us, I'm happy to announce the immediate availability of PHPSpec 0.2.0 from the project's pear channel at <a href="http://blog.astrumfutura.com/archives/pear.phpspec.org">pear.phpspec.org</a> or you can download directly from <a href="http://pear.phpspec.org/get">http://pear.phpspec.org/get</a>.
</blockquote>
<p>
Also included in <a href="http://blog.astrumfutura.com/archives/334-PHPSpec-0.2.0-Released.html">his post</a> are details about the release (like the Changelog), links to download the latest edition and some personal "thank you"s to developers who submitted patches to bring it from beta to a full release.
</p>]]></description>
      <pubDate>Thu, 10 Jan 2008 14:32:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Padraic Brady's Blog: Any Behaviour-Driven Development Tools for PHP?]]></title>
      <guid>http://www.phpdeveloper.org/news/8690</guid>
      <link>http://www.phpdeveloper.org/news/8690</link>
      <description><![CDATA[<p>
In a <a href="http://blog.astrumfutura.com/archives/306-Any-Behaviour-Driven-Development-Tools-for-PHP.html">new post</a> today, <i>Padraic Brady</i> asks the community for any kind of input as to what they've seen for behaviour-driven development in PHP:
</p>
<blockquote>
Behavior-Driven Development (BDD) is an evolution of Test-Driven Development (TDD) which pushes the focus away from the concept of testing to one of specifying behaviours in a form more easily understood.
</blockquote>
<p>
In asking about any of the tools that might happen to be out there, he also <a href="http://blog.astrumfutura.com/archives/306-Any-Behaviour-Driven-Development-Tools-for-PHP.html">gives an example</a> (from a Ruby perspective) on how the behaviour-driven method is put into practice. The code describes the behaviour by what "it should" do and evaluates based on that.
</p>]]></description>
      <pubDate>Thu, 20 Sep 2007 08:48:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Wez Furlong's Blog: Undefined Behaviour]]></title>
      <guid>http://www.phpdeveloper.org/news/5264</guid>
      <link>http://www.phpdeveloper.org/news/5264</link>
      <description><![CDATA[<p>
Spurred on by some comments made in a thread on the php internals mailing list, <i>Wez Furlong</i> has posted <a href="http://netevil.org/node.php?nid=808">this new item</a> on his blog to help clear up some of the confusion around some "undefined behaviour" in the PDO libraries.
</p>
<quote>
<i>
<p>
In <a href="http://news.php.net/php.internals/22994">this</a> <a href="http://news.php.net/php.internals/23000">thread</a> <a href="http://news.php.net/php.internals/23001">on the</a> <a href="http://news.php.net/php.internals/23002">php internals</a> list, Kevin is asking why the handling of whitespace in certain PDO DSNs is inconsistent. I go on to point out that the manual doesn't say anything about whitespace in DSNs, and that all the documented examples have no whitespace around the DSN parameters.
</p>
<p>
This is an example of undefined behaviour. The PHP manual doesn't define what happens when you put whitespace in there. That doesn't tell you anything at all about whether you should or should not do that. It might work now, and it might work next week. In 6 months time, when you application is widely deployed and someone changes an apparently unrelated part of their system, it might NOT work and might result in someone getting paged at 3am trying to figure out what the mysterious problem is.
</p>
</i>
</quote>
<p>
<i>Wez</i> goes on to mention that there are some issues with this in the Solaris manual pages as well, as based on others running into this same sort of problem. The realy key here, though, is how the documenttion is defined. Developers, in his opinion, show always treat situations that aren't expressly defined by the manual as a "situation is undefined" rather than making their own expectations.
</p>]]></description>
      <pubDate>Sat, 29 Apr 2006 07:59:43 -0500</pubDate>
    </item>
  </channel>
</rss>
