<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xml" href="http://www.dzone.com/links/misc/rss.xsl"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dz="http://www.developerzone.com/modules/dz/1.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>DZone links by Raphael Stolt</title>
    <link>http://www.dzone.com/links/users/links/228496.html</link>
    <description>DZone: fresh links for developers</description>
    <language>en-us</language>
    <copyright>Copyright (c) 2008 DZone, Inc.</copyright>
    <pubDate>Sun, 12 Oct 2008 01:11:50 GMT</pubDate>
    <dc:creator>The DZone community</dc:creator>
    <dc:date>2008-10-12T01:11:50Z</dc:date>
    <dc:language>en-us</dc:language>
    <dc:rights>Copyright (c) 2008 DZone, Inc.</dc:rights>
    <dz:selfLink>http://www.dzone.com/links/feed/user/228496/rss.xml</dz:selfLink>
    <image>
      <title>DZone: fresh links for developers</title>
      <url>http://www.dzone.com/images/std/dzone.com_258x55.gif</url>
      <link>http://www.dzone.com/links/</link>
    </image>
    <item>
      <title>Setting up your Zend_Test test suites</title>
      <link>http://www.dzone.com/links/rss/setting_up_your_zendtest_test_suites.html</link>
      <description>Now that Zend_Test has shipped, developers are of course asking, "How do I setup my test suite?" Fortunately, after some discussion with his colleagues and a little experimenting on it's one, Matthew Weier O'Phinney can answer that now.</description>
      <category>how-to</category>
      <category>php</category>
      <pubDate>Thu, 11 Sep 2008 21:53:30 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/113153.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-09-11T21:53:30Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/setting_up_your_zendtest_test_suites.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/113153.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>Now that Zend_Test has shipped, developers are of course asking, "How do I setup my test suite?" Fortunately, after some discussion with his colleagues and a little experimenting on it's one, Matthew Weier O'Phinney can answer that now.<br/><br/><a href='http://www.dzone.com/links/rss/setting_up_your_zendtest_test_suites.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=113153' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>113153</dz:linkId>
      <dz:submitDate>2008-09-11T21:53:30Z</dz:submitDate>
      <dz:voteUpCount>2</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>14</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/113153.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Using Zend_Tool to start up your ZF Project</title>
      <link>http://www.dzone.com/links/rss/using_zendtool_to_start_up_your_zf_project.html</link>
      <description>This tutorial will set you through using Zend_Tool to jump-start development on your next ZF MVC application. Zend_Tool is both RAD tools as well as a framework for exposing your own set of tooling needs to the Zend_Tool user interface. While the areas in which extending Zend_Tool are exhaustive, we will focus merely on obtaining and using the current Zend_Tool toolset.</description>
      <category>how-to</category>
      <category>php</category>
      <category>tools</category>
      <pubDate>Wed, 03 Sep 2008 13:29:18 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/109990.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-09-03T13:29:18Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/using_zendtool_to_start_up_your_zf_project.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/109990.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>This tutorial will set you through using Zend_Tool to jump-start development on your next ZF MVC application. Zend_Tool is both RAD tools as well as a framework for exposing your own set of tooling needs to the Zend_Tool user interface. While the areas in which extending Zend_Tool are exhaustive, we will focus merely on obtaining and using the current Zend_Tool toolset.<br/><br/><a href='http://www.dzone.com/links/rss/using_zendtool_to_start_up_your_zf_project.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=109990' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>109990</dz:linkId>
      <dz:submitDate>2008-09-03T13:29:18Z</dz:submitDate>
      <dz:voteUpCount>4</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>13</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/109990.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Database helper for PHPUnit</title>
      <link>http://www.dzone.com/links/rss/database_helper_for_phpunit.html</link>
      <description>When testing code which uses the database, you would usually want to make sure the database stays pristine for each test - All tables should be empty, as any extra data could interfere with the tests. You could probably write an extended Testcase class which automatically does this before each test in setUp and afterwards in tearDown, but it may have some issues. For example, Zend Framework’s Zend_Test Testcase class also extends PHPUnit’s one, and you might need to extend the Zend_Test one as well… and so on. Luckily, PHPUnit has a way to add event listener that react to certain events.</description>
      <category>how-to</category>
      <category>php</category>
      <pubDate>Thu, 28 Aug 2008 21:11:10 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/107577.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-08-28T21:11:10Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/database_helper_for_phpunit.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/107577.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>When testing code which uses the database, you would usually want to make sure the database stays pristine for each test - All tables should be empty, as any extra data could interfere with the tests. You could probably write an extended Testcase class which automatically does this before each test in setUp and afterwards in tearDown, but it may have some issues. For example, Zend Framework’s Zend_Test Testcase class also extends PHPUnit’s one, and you might need to extend the Zend_Test one as well… and so on. Luckily, PHPUnit has a way to add event listener that react to certain events.<br/><br/><a href='http://www.dzone.com/links/rss/database_helper_for_phpunit.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=107577' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>107577</dz:linkId>
      <dz:submitDate>2008-08-27T11:39:02Z</dz:submitDate>
      <dz:promoteDate>2008-08-28T21:11:10Z</dz:promoteDate>
      <dz:voteUpCount>8</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>82</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/107577.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>How to unit-test code that interacts with a database</title>
      <link>http://www.dzone.com/links/rss/how_to_unittest_code_that_interacts_with_a_databa.html</link>
      <description>Baron Schwartz, author of High Performance MySQL, got some interesting comments on his previous article about unit testing Maatkit, including echoes of my own conversion to the unit-testing religion. One of the objections he had heard a lot about unit-testing is how it’s impossible to test code that talks to a database. “It’s too hard,” they say. “Oh, it’s easy to test a module that calculates a square root, but a database? Way too much work!”</description>
      <category>how-to</category>
      <category>opinion</category>
      <category>php</category>
      <pubDate>Wed, 20 Aug 2008 21:19:11 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/105293.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-08-20T21:19:11Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/how_to_unittest_code_that_interacts_with_a_databa.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/105293.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>Baron Schwartz, author of High Performance MySQL, got some interesting comments on his previous article about unit testing Maatkit, including echoes of my own conversion to the unit-testing religion. One of the objections he had heard a lot about unit-testing is how it’s impossible to test code that talks to a database. “It’s too hard,” they say. “Oh, it’s easy to test a module that calculates a square root, but a database? Way too much work!”<br/><br/><a href='http://www.dzone.com/links/rss/how_to_unittest_code_that_interacts_with_a_databa.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=105293' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>105293</dz:linkId>
      <dz:submitDate>2008-08-20T09:38:40Z</dz:submitDate>
      <dz:promoteDate>2008-08-20T21:19:11Z</dz:promoteDate>
      <dz:voteUpCount>9</dz:voteUpCount>
      <dz:voteDownCount>3</dz:voteDownCount>
      <dz:clickCount>475</dz:clickCount>
      <dz:commentCount>4</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/105293.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Creating custom PHPUnit assertions</title>
      <link>http://www.dzone.com/links/rss/creating_custom_phpunit_assertions.html</link>
      <description>While developing PHP applications and applying developer testing the applications safety net will grow along the timeline, and as normal code, test code should be in a fresh, odour free state too. A common test code smell, amongst others, is the duplication of assertion logic which can reduce reusability, readability and thereby obscure the specific verification intention of tests. To subdue this special smell several patterns and refactorings are available to acquaint the test code with the DRY principle. So in this blog post I'd like to set the focus on some of the aspects of the Custom Assertion pattern, by showing how to create custom PHPUnit assertions, which attacks the above mentioned smell and its retroactive effects with a huge antiperspirant flagon,  while also providing the chance to build a customer friendly and domain related test vocabulary.</description>
      <category>frameworks</category>
      <category>how-to</category>
      <category>methodology</category>
      <category>php</category>
      <pubDate>Wed, 30 Jul 2008 08:29:09 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/98756.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-07-30T08:29:09Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/creating_custom_phpunit_assertions.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/98756.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>While developing PHP applications and applying developer testing the applications safety net will grow along the timeline, and as normal code, test code should be in a fresh, odour free state too. A common test code smell, amongst others, is the duplication of assertion logic which can reduce reusability, readability and thereby obscure the specific verification intention of tests. To subdue this special smell several patterns and refactorings are available to acquaint the test code with the DRY principle. So in this blog post I'd like to set the focus on some of the aspects of the Custom Assertion pattern, by showing how to create custom PHPUnit assertions, which attacks the above mentioned smell and its retroactive effects with a huge antiperspirant flagon,  while also providing the chance to build a customer friendly and domain related test vocabulary.<br/><br/><a href='http://www.dzone.com/links/rss/creating_custom_phpunit_assertions.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=98756' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>98756</dz:linkId>
      <dz:submitDate>2008-07-28T17:05:57Z</dz:submitDate>
      <dz:promoteDate>2008-07-30T08:29:09Z</dz:promoteDate>
      <dz:voteUpCount>11</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>78</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/98756.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Zend Framework gets hostname routing</title>
      <link>http://www.dzone.com/links/rss/zend_framework_gets_hostname_routing.html</link>
      <description>There were many needs for it, in different mailing lists, forums and blogs, but it was never officially requested. There were also many approaches to accomplish it, but they were all kinda hacky. As DASPRiD neeed it in an earlier project yet, were he had to do the hacky way as well, and now a new project came up, were he even needed a more complex implementation, he decided to put a feature-rich hostname routing implementation into the ZF core itself. Read on to get a glance at it.</description>
      <category>announcement</category>
      <category>frameworks</category>
      <category>php</category>
      <pubDate>Sat, 19 Jul 2008 18:45:05 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/96512.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-07-19T18:45:05Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/zend_framework_gets_hostname_routing.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/96512.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>There were many needs for it, in different mailing lists, forums and blogs, but it was never officially requested. There were also many approaches to accomplish it, but they were all kinda hacky. As DASPRiD neeed it in an earlier project yet, were he had to do the hacky way as well, and now a new project came up, were he even needed a more complex implementation, he decided to put a feature-rich hostname routing implementation into the ZF core itself. Read on to get a glance at it.<br/><br/><a href='http://www.dzone.com/links/rss/zend_framework_gets_hostname_routing.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=96512' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>96512</dz:linkId>
      <dz:submitDate>2008-07-19T18:45:05Z</dz:submitDate>
      <dz:voteUpCount>2</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>39</dz:clickCount>
      <dz:commentCount>1</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/96512.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>We ain't got no RSpec - Best Voicemail Ever</title>
      <link>http://www.dzone.com/links/rss/we_aint_got_no_rspec_best_voicemail_ever.html</link>
      <description>'Funny' Rails Envy Podcast Voicemail remix. In case you need a good laugh today listen to the remix, though the orginal voicemail it making some valid points. Way better than Terry Chays' PHP anthem.</description>
      <category>humor</category>
      <category>opinion</category>
      <category>ruby</category>
      <pubDate>Sat, 19 Jul 2008 15:00:37 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/96232.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-07-19T15:00:37Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/we_aint_got_no_rspec_best_voicemail_ever.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/96232.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>'Funny' Rails Envy Podcast Voicemail remix. In case you need a good laugh today listen to the remix, though the orginal voicemail it making some valid points. Way better than Terry Chays' PHP anthem.<br/><br/><a href='http://www.dzone.com/links/rss/we_aint_got_no_rspec_best_voicemail_ever.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=96232' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>96232</dz:linkId>
      <dz:submitDate>2008-07-18T15:54:30Z</dz:submitDate>
      <dz:promoteDate>2008-07-19T15:00:37Z</dz:promoteDate>
      <dz:voteUpCount>7</dz:voteUpCount>
      <dz:voteDownCount>1</dz:voteDownCount>
      <dz:clickCount>177</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/96232.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Six valuable Phing build file refactorings</title>
      <link>http://www.dzone.com/links/rss/six_valuable_phing_build_file_refactorings.html</link>
      <description>Some weeks months ago I finally got my hands on the ThoughtWorks Anthology and got immediately hooked on one of the featured essays called 'Refactoring Ant Build Files' contributed by Julian Simpson aka the build doctor. After absorbing and studying the provided catalogue of overall 24 refactorings, I spent some time to transform a few health-promoting ones to the Phing universe. So the following post will outline six five basic, but valuable Phing build file refactorings by showing the smelly example first, followed by the scentless one and a closing refactoring description.</description>
      <category>how-to</category>
      <category>methodology</category>
      <category>php</category>
      <category>tools</category>
      <pubDate>Thu, 03 Jul 2008 23:55:21 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/92434.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-07-03T23:55:21Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/six_valuable_phing_build_file_refactorings.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/92434.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>Some weeks months ago I finally got my hands on the ThoughtWorks Anthology and got immediately hooked on one of the featured essays called 'Refactoring Ant Build Files' contributed by Julian Simpson aka the build doctor. After absorbing and studying the provided catalogue of overall 24 refactorings, I spent some time to transform a few health-promoting ones to the Phing universe. So the following post will outline six five basic, but valuable Phing build file refactorings by showing the smelly example first, followed by the scentless one and a closing refactoring description.<br/><br/><a href='http://www.dzone.com/links/rss/six_valuable_phing_build_file_refactorings.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=92434' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>92434</dz:linkId>
      <dz:submitDate>2008-07-03T23:55:21Z</dz:submitDate>
      <dz:voteUpCount>6</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>15</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/92434.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Ideas for testing Zend Framework apps</title>
      <link>http://www.dzone.com/links/rss/ideas_for_testing_zend_framework_apps.html</link>
      <description>Jani Hartikainen provides are some ideas he was thinking of for making testing Zend Framework (and Doctrine) based apps nice and easy.</description>
      <category>frameworks</category>
      <category>methodology</category>
      <category>opinion</category>
      <category>php</category>
      <pubDate>Thu, 03 Jul 2008 21:43:10 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/92423.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-07-03T21:43:10Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/ideas_for_testing_zend_framework_apps.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/92423.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>Jani Hartikainen provides are some ideas he was thinking of for making testing Zend Framework (and Doctrine) based apps nice and easy.<br/><br/><a href='http://www.dzone.com/links/rss/ideas_for_testing_zend_framework_apps.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=92423' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>92423</dz:linkId>
      <dz:submitDate>2008-07-03T21:43:10Z</dz:submitDate>
      <dz:voteUpCount>6</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>25</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/92423.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Testing Zend Framework MVC Applications</title>
      <link>http://www.dzone.com/links/rss/testing_zend_framework_mvc_applications.html</link>
      <description>Since Matthew originally started hacking on the Zend Framework MVC in the fall of 2006, he has been touting the fact that you can test ZF MVC projects by utilizing the Request and Response objects; indeed, this is what he actually did to test the Front Controller and Dispatcher. However, until recently, there was never an easy way to do so in your userland projects; the default request and response objects make it difficult to easily and quickly setup tests, and the methods introduced into the front controller to make it testable are largely undocumented.&#xD;
&#xD;
So, one of his ongoing projects the past few months has been to create an infrastructure for functional testing of ZF projects using PHPUnit. This past weekend, Matthew made the final commits that make this functionality feature complete.</description>
      <category>frameworks</category>
      <category>how-to</category>
      <category>php</category>
      <category>tools</category>
      <pubDate>Tue, 01 Jul 2008 14:13:00 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/91433.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-07-01T14:13:00Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/testing_zend_framework_mvc_applications.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/91433.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>Since Matthew originally started hacking on the Zend Framework MVC in the fall of 2006, he has been touting the fact that you can test ZF MVC projects by utilizing the Request and Response objects; indeed, this is what he actually did to test the Front Controller and Dispatcher. However, until recently, there was never an easy way to do so in your userland projects; the default request and response objects make it difficult to easily and quickly setup tests, and the methods introduced into the front controller to make it testable are largely undocumented.

So, one of his ongoing projects the past few months has been to create an infrastructure for functional testing of ZF projects using PHPUnit. This past weekend, Matthew made the final commits that make this functionality feature complete.<br/><br/><a href='http://www.dzone.com/links/rss/testing_zend_framework_mvc_applications.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=91433' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>91433</dz:linkId>
      <dz:submitDate>2008-06-30T16:12:50Z</dz:submitDate>
      <dz:promoteDate>2008-07-01T14:13:00Z</dz:promoteDate>
      <dz:voteUpCount>12</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>213</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/91433.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Dependency Injection, or how to make simple concepts sound difficult</title>
      <link>http://www.dzone.com/links/rss/dependency_injection_or_how_to_make_simple_concep.html</link>
      <description>You may have heard of Dependency Injection. It’s essentially a way to remove implementation dependencies from classes, or “the process of supplying an external dependency to a software component. It is a specific form of inversion of control where the concern being inverted is the process of obtaining the needed dependency.” as Wikipedia puts it.&#xD;
&#xD;
Sounds complex? Yep. Is it complex? No. You might’ve even used it without knowing about the name.</description>
      <category>how-to</category>
      <category>methodology</category>
      <category>php</category>
      <category>usability</category>
      <pubDate>Mon, 23 Jun 2008 18:38:37 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/89387.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-06-23T18:38:37Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/dependency_injection_or_how_to_make_simple_concep.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/89387.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>You may have heard of Dependency Injection. It’s essentially a way to remove implementation dependencies from classes, or “the process of supplying an external dependency to a software component. It is a specific form of inversion of control where the concern being inverted is the process of obtaining the needed dependency.” as Wikipedia puts it.

Sounds complex? Yep. Is it complex? No. You might’ve even used it without knowing about the name.<br/><br/><a href='http://www.dzone.com/links/rss/dependency_injection_or_how_to_make_simple_concep.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=89387' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>89387</dz:linkId>
      <dz:submitDate>2008-06-23T06:31:03Z</dz:submitDate>
      <dz:promoteDate>2008-06-23T18:38:37Z</dz:promoteDate>
      <dz:voteUpCount>9</dz:voteUpCount>
      <dz:voteDownCount>1</dz:voteDownCount>
      <dz:clickCount>488</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/89387.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>PHP Has No Culture of Testing</title>
      <link>http://www.dzone.com/links/rss/php_has_no_culture_of_testing.html</link>
      <description>Charles Nutter, a Sun engineer who has worked on the JRuby project, commented on PHP in a panel discussion at Sun's CommunityOne conference.&#xD;
&#xD;
I will not join the "PHP vs. Ruby on Rails" "discussion" here, as the comparison of a programming language to a web application framework for another language does not make sense, IMHO. Instead, I would like to comment on two of Charles Nutter's points.</description>
      <category>opinion</category>
      <category>php</category>
      <category>tools</category>
      <category>trends</category>
      <pubDate>Sun, 11 May 2008 00:09:51 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/80310.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-05-11T00:09:51Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/php_has_no_culture_of_testing.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/80310.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>Charles Nutter, a Sun engineer who has worked on the JRuby project, commented on PHP in a panel discussion at Sun's CommunityOne conference.

I will not join the "PHP vs. Ruby on Rails" "discussion" here, as the comparison of a programming language to a web application framework for another language does not make sense, IMHO. Instead, I would like to comment on two of Charles Nutter's points.<br/><br/><a href='http://www.dzone.com/links/rss/php_has_no_culture_of_testing.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=80310' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>80310</dz:linkId>
      <dz:submitDate>2008-05-10T10:34:08Z</dz:submitDate>
      <dz:promoteDate>2008-05-11T00:09:51Z</dz:promoteDate>
      <dz:voteUpCount>8</dz:voteUpCount>
      <dz:voteDownCount>4</dz:voteDownCount>
      <dz:clickCount>539</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/80310.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>PHP Unit Database fixtures “the ruby way”</title>
      <link>http://www.dzone.com/links/rss/php_unit_database_fixtures_the_ruby_way.html</link>
      <description>More or less everybody who does test driven development comes to the point where one realizes that the preparation of the database before each test is vital - for good results and for your mental health. If you don’t do this properly then you will find yourself at some day searching through hundreds (or thousands) of tests to find the one which screws the database so that subsequent tests fail - even tough they are developed perfect. Ready more to get the 'Ruby way' approach.</description>
      <category>database</category>
      <category>how-to</category>
      <category>php</category>
      <category>tools</category>
      <pubDate>Mon, 05 May 2008 18:12:10 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/79379.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-05-05T18:12:10Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/php_unit_database_fixtures_the_ruby_way.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/79379.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>More or less everybody who does test driven development comes to the point where one realizes that the preparation of the database before each test is vital - for good results and for your mental health. If you don’t do this properly then you will find yourself at some day searching through hundreds (or thousands) of tests to find the one which screws the database so that subsequent tests fail - even tough they are developed perfect. Ready more to get the 'Ruby way' approach.<br/><br/><a href='http://www.dzone.com/links/rss/php_unit_database_fixtures_the_ruby_way.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=79379' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>79379</dz:linkId>
      <dz:submitDate>2008-05-05T18:12:10Z</dz:submitDate>
      <dz:voteUpCount>5</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>20</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/79379.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>View Helpers in Zend Framework</title>
      <link>http://www.dzone.com/links/rss/view_helpers_in_zend_framework.html</link>
      <description>Views in MVC are allowed to communicate with the Model (using read-only operations), and are allowed to perform display-related logic. That said, how do you actually access the model? And what if you have some fairly complex logic that you may need to repeat, or which you may not want to display directly in the view in order to keep it clean and easy to read? In Zend Framework, the answer is to use View Helpers.</description>
      <category>frameworks</category>
      <category>how-to</category>
      <category>php</category>
      <pubDate>Mon, 28 Apr 2008 14:07:11 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/78074.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-04-28T14:07:11Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/view_helpers_in_zend_framework.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/78074.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>Views in MVC are allowed to communicate with the Model (using read-only operations), and are allowed to perform display-related logic. That said, how do you actually access the model? And what if you have some fairly complex logic that you may need to repeat, or which you may not want to display directly in the view in order to keep it clean and easy to read? In Zend Framework, the answer is to use View Helpers.<br/><br/><a href='http://www.dzone.com/links/rss/view_helpers_in_zend_framework.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=78074' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>78074</dz:linkId>
      <dz:submitDate>2008-04-28T14:07:11Z</dz:submitDate>
      <dz:voteUpCount>4</dz:voteUpCount>
      <dz:voteDownCount>1</dz:voteDownCount>
      <dz:clickCount>22</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/78074.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Hooking a Growl publisher plugin into Xinc</title>
      <link>http://www.dzone.com/links/rss/hooking_a_growl_publisher_plugin_into_xinc.html</link>
      <description>This week I finally had the time to setup Xinc, PHP's shiny new Continuous Integration(CI) server, on my MacBook and started to fiddle with it's publisher plugins and plugin architecture. While still down with 'tool envy' influenza I recently came across some nice and inspiring blog posts from the Ruby/Rails camp, showing how to employ Growl as an useful and fun feedback radiator for test/spec results. Since then the idea of building a Growl publisher plugin for Xinc was travelling my mind repeatedly, so the following post will break this circle and show a possible approach to build such a plugin, which can be used to notify the build result for continuously integrated projects and thereby provide an on-point/immediate feedback.</description>
      <category>how-to</category>
      <category>php</category>
      <pubDate>Thu, 17 Apr 2008 01:03:19 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/76277.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-04-17T01:03:19Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/hooking_a_growl_publisher_plugin_into_xinc.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/76277.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>This week I finally had the time to setup Xinc, PHP's shiny new Continuous Integration(CI) server, on my MacBook and started to fiddle with it's publisher plugins and plugin architecture. While still down with 'tool envy' influenza I recently came across some nice and inspiring blog posts from the Ruby/Rails camp, showing how to employ Growl as an useful and fun feedback radiator for test/spec results. Since then the idea of building a Growl publisher plugin for Xinc was travelling my mind repeatedly, so the following post will break this circle and show a possible approach to build such a plugin, which can be used to notify the build result for continuously integrated projects and thereby provide an on-point/immediate feedback.<br/><br/><a href='http://www.dzone.com/links/rss/hooking_a_growl_publisher_plugin_into_xinc.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=76277' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>76277</dz:linkId>
      <dz:submitDate>2008-04-17T01:03:19Z</dz:submitDate>
      <dz:voteUpCount>6</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>12</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/76277.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Getting an overview of all targets accumulated in a Phing build file</title>
      <link>http://www.dzone.com/links/rss/getting_an_overview_of_all_targets_accumulated_in.html</link>
      <description>Looking for an equivalent to Ant's -p(rojecthelp) command-line option in Phing, I dug up that you can use Phing's -l(ist) option to get a quick overview of all targets hosted in a given build file. This comes in handy when you are maintaining build files or have to get a raw picture of the provided targets of a project specific build file.</description>
      <category>how-to</category>
      <category>php</category>
      <category>tools</category>
      <pubDate>Sat, 29 Mar 2008 18:19:56 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/73278.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-03-29T18:19:56Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/getting_an_overview_of_all_targets_accumulated_in.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/73278.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>Looking for an equivalent to Ant's -p(rojecthelp) command-line option in Phing, I dug up that you can use Phing's -l(ist) option to get a quick overview of all targets hosted in a given build file. This comes in handy when you are maintaining build files or have to get a raw picture of the provided targets of a project specific build file.<br/><br/><a href='http://www.dzone.com/links/rss/getting_an_overview_of_all_targets_accumulated_in.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=73278' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>73278</dz:linkId>
      <dz:submitDate>2008-03-29T18:19:56Z</dz:submitDate>
      <dz:voteUpCount>1</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>4</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/73278.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Sniffing refactoring needs</title>
      <link>http://www.dzone.com/links/rss/sniffing_refactoring_needs.html</link>
      <description>While still messing around with the PHP_CodeSniffer Pear package, I took a somehow jealous 1000 feet look at some prominent code inspection tools of the Java community: PMD and Checkstyle. Browsing their available rule sets/checks I soon recognized that guaranteeing the coding standard adherence is just a partial aspect of these tools. The following post will focus on one of these additional aspects, which is finding problems related to the code size of the inspected code artifacts, by showing how to port two selected rules to sniffs for utilization with the PHP_CodeSniffer tool. These ported sniffs can be used to automatically spot obvious code smells in the code base and to signal the need to apply the appropriate and odour reducing activity known as refactoring.</description>
      <category>how-to</category>
      <category>php</category>
      <category>research</category>
      <category>tools</category>
      <pubDate>Tue, 11 Mar 2008 18:25:58 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/70269.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-03-11T18:25:58Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/sniffing_refactoring_needs.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/70269.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>While still messing around with the PHP_CodeSniffer Pear package, I took a somehow jealous 1000 feet look at some prominent code inspection tools of the Java community: PMD and Checkstyle. Browsing their available rule sets/checks I soon recognized that guaranteeing the coding standard adherence is just a partial aspect of these tools. The following post will focus on one of these additional aspects, which is finding problems related to the code size of the inspected code artifacts, by showing how to port two selected rules to sniffs for utilization with the PHP_CodeSniffer tool. These ported sniffs can be used to automatically spot obvious code smells in the code base and to signal the need to apply the appropriate and odour reducing activity known as refactoring.<br/><br/><a href='http://www.dzone.com/links/rss/sniffing_refactoring_needs.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=70269' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>70269</dz:linkId>
      <dz:submitDate>2008-03-11T13:39:16Z</dz:submitDate>
      <dz:promoteDate>2008-03-11T18:25:58Z</dz:promoteDate>
      <dz:voteUpCount>9</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>118</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/70269.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Using TextMate with PHP_CodeSniffer</title>
      <link>http://www.dzone.com/links/rss/using_textmate_with_phpcodesniffer.html</link>
      <description>Scott Kim spent some time on developing a TextMate command for the PHP_CodeSniffer PEAR package.Check out it's blog post for more details and to get the Bundle including the command.</description>
      <category>apple</category>
      <category>php</category>
      <category>tools</category>
      <pubDate>Fri, 22 Feb 2008 15:25:43 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/67567.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-02-22T15:25:43Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/using_textmate_with_phpcodesniffer.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/67567.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>Scott Kim spent some time on developing a TextMate command for the PHP_CodeSniffer PEAR package.Check out it's blog post for more details and to get the Bundle including the command. <br/><br/><a href='http://www.dzone.com/links/rss/using_textmate_with_phpcodesniffer.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=67567' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>67567</dz:linkId>
      <dz:submitDate>2008-02-22T15:25:43Z</dz:submitDate>
      <dz:voteUpCount>5</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>25</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/67567.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Creating Zend Framework snippets for TextMate</title>
      <link>http://www.dzone.com/links/rss/creating_zend_framework_snippets_for_textmate.html</link>
      <description>After finally converting to Mac OS X, I really couldn't resist to fall for the famous TextMate editor. The editor comes with a nice PHP bundle authored by Ciarán Walsh that eases the typing and creation of common language constructs like classes and control structures by entering pre-defined keys and hitting the tab key to insert and customize them. To reduce the typing effort for the most common tasks in creating a Zend Framework based application, which are creating action controllers including their hosted actions and creating new models for accessing the underlying database, I spent some minutes to figure out how to create and add these valuable snippets to the default PHP bundle.</description>
      <category>apple</category>
      <category>how-to</category>
      <category>php</category>
      <category>usability</category>
      <pubDate>Mon, 18 Feb 2008 21:01:27 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/66852.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-02-18T21:01:27Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/creating_zend_framework_snippets_for_textmate.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/66852.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>After finally converting to Mac OS X, I really couldn't resist to fall for the famous TextMate editor. The editor comes with a nice PHP bundle authored by Ciarán Walsh that eases the typing and creation of common language constructs like classes and control structures by entering pre-defined keys and hitting the tab key to insert and customize them. To reduce the typing effort for the most common tasks in creating a Zend Framework based application, which are creating action controllers including their hosted actions and creating new models for accessing the underlying database, I spent some minutes to figure out how to create and add these valuable snippets to the default PHP bundle.<br/><br/><a href='http://www.dzone.com/links/rss/creating_zend_framework_snippets_for_textmate.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=66852' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>66852</dz:linkId>
      <dz:submitDate>2008-02-18T21:01:27Z</dz:submitDate>
      <dz:voteUpCount>1</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>87</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/66852.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Designing Klingon Warships Using Behaviour Driven Development</title>
      <link>http://www.dzone.com/links/rss/designing_klingon_warships_using_behaviour_driven.html</link>
      <description>In this article, Pádraic Brady  introduces a TDD related practice called Behaviour-Driven Development which has been gathering attention for over a year and gaining converts (like him!).</description>
      <category>methodology</category>
      <category>php</category>
      <category>tools</category>
      <pubDate>Tue, 12 Feb 2008 00:46:59 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/65813.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2008-02-12T00:46:59Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/designing_klingon_warships_using_behaviour_driven.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/65813.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>In this article, Pádraic Brady  introduces a TDD related practice called Behaviour-Driven Development which has been gathering attention for over a year and gaining converts (like him!).<br/><br/><a href='http://www.dzone.com/links/rss/designing_klingon_warships_using_behaviour_driven.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=65813' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>65813</dz:linkId>
      <dz:submitDate>2008-02-11T18:35:19Z</dz:submitDate>
      <dz:promoteDate>2008-02-12T00:46:59Z</dz:promoteDate>
      <dz:voteUpCount>11</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>328</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/65813.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Quick introduction to using Zend_Layout</title>
      <link>http://www.dzone.com/links/rss/quick_introduction_to_using_zendlayout.html</link>
      <description>Lately, the Zend_Layout component has been a very popular topic on #zftalk. It is indeed a very useful component, but a lot of people are having trouble understanding how it works. So Jani Hartikainen demonstrates the usage of the current Zend_Layout implementation, which can be found from the Zend Framework SVN or Snapshots in the Incubator directory.</description>
      <category>how-to</category>
      <category>php</category>
      <pubDate>Wed, 12 Dec 2007 19:31:46 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/56943.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2007-12-12T19:31:46Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/quick_introduction_to_using_zendlayout.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/56943.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>Lately, the Zend_Layout component has been a very popular topic on #zftalk. It is indeed a very useful component, but a lot of people are having trouble understanding how it works. So Jani Hartikainen demonstrates the usage of the current Zend_Layout implementation, which can be found from the Zend Framework SVN or Snapshots in the Incubator directory.<br/><br/><a href='http://www.dzone.com/links/rss/quick_introduction_to_using_zendlayout.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=56943' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>56943</dz:linkId>
      <dz:submitDate>2007-12-12T19:31:46Z</dz:submitDate>
      <dz:voteUpCount>3</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>84</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/56943.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Simple Zend_Layout Example</title>
      <link>http://www.dzone.com/links/rss/simple_zendlayout_example.html</link>
      <description>As Zend_Layout is in the trunk now, Rob Allen provides a super simple MVC example that shows it in action.</description>
      <category>how-to</category>
      <category>php</category>
      <pubDate>Wed, 12 Dec 2007 19:28:31 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/56940.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2007-12-12T19:28:31Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/simple_zendlayout_example.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/56940.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>As Zend_Layout is in the trunk now, Rob Allen provides a super simple MVC example that shows it in action.<br/><br/><a href='http://www.dzone.com/links/rss/simple_zendlayout_example.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=56940' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>56940</dz:linkId>
      <dz:submitDate>2007-12-12T19:28:31Z</dz:submitDate>
      <dz:voteUpCount>4</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>250</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/56940.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Zend Framework in Action Pre-review</title>
      <link>http://www.dzone.com/links/rss/zend_framework_in_action_prereview.html</link>
      <description>For the last few days I've been reading the MEAP release of Zend Framework in Action from Rob Allen and Nick Lo published by Manning Publications and as a pre-review I d'like to share my reading experience. Currently there are 6 of totally 16 intended chapters available, if them are already worth the money you might want to read further.</description>
      <category>php</category>
      <category>reviews</category>
      <pubDate>Mon, 03 Dec 2007 11:51:57 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/55612.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2007-12-03T11:51:57Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/zend_framework_in_action_prereview.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/55612.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>For the last few days I've been reading the MEAP release of Zend Framework in Action from Rob Allen and Nick Lo published by Manning Publications and as a pre-review I d'like to share my reading experience. Currently there are 6 of totally 16 intended chapters available, if them are already worth the money you might want to read further.<br/><br/><a href='http://www.dzone.com/links/rss/zend_framework_in_action_prereview.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=55612' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>55612</dz:linkId>
      <dz:submitDate>2007-12-03T11:51:57Z</dz:submitDate>
      <dz:voteUpCount>2</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>50</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/55612.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>PHPSpec Reporting Gets A Needed Boost</title>
      <link>http://www.dzone.com/links/rss/phpspec_reporting_gets_a_needed_boost.html</link>
      <description>PHPSpec is closing in on its first stable release, so the time had finally come to spruce up its output! No more the simple reporting of failed specs - now you get a few more details in a readable format, exceptions and errors even come with traces. In addition, Pádraic Brady implemented specdoc output as an option (using "-s") so you can get a list of specs in their plain text form.</description>
      <category>methodology</category>
      <category>php</category>
      <category>tools</category>
      <pubDate>Wed, 14 Nov 2007 18:07:49 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/52966.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2007-11-14T18:07:49Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/phpspec_reporting_gets_a_needed_boost.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/52966.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>PHPSpec is closing in on its first stable release, so the time had finally come to spruce up its output! No more the simple reporting of failed specs - now you get a few more details in a readable format, exceptions and errors even come with traces. In addition, Pádraic Brady implemented specdoc output as an option (using "-s") so you can get a list of specs in their plain text form.<br/><br/><a href='http://www.dzone.com/links/rss/phpspec_reporting_gets_a_needed_boost.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=52966' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>52966</dz:linkId>
      <dz:submitDate>2007-11-14T18:07:49Z</dz:submitDate>
      <dz:voteUpCount>1</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>13</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/52966.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
    <item>
      <title>Adding some BDD flavour to the PHPUnit framework</title>
      <link>http://www.dzone.com/links/rss/adding_some_bdd_flavour_to_the_phpunit_framework.html</link>
      <description>Influenced by an article written by David Astel and the latest 'interest resurrecting' blog entries of Pádraic Brady, I was looking for a way to bend over the PHPUnit test-centric vocabulary to a more behaviour-centric one. The motivation for this 'NLP' is best justified by a quote from David Astel's paper "... if you want to change how you think it can help to first change your language".</description>
      <category>how-to</category>
      <category>methodology</category>
      <category>php</category>
      <category>trends</category>
      <pubDate>Sun, 07 Oct 2007 16:07:38 GMT</pubDate>
      <guid isPermaLink="false">http://www.dzone.com/links/46660.html</guid>
      <dc:creator>Raphael Stolt</dc:creator>
      <dc:date>2007-10-07T16:07:38Z</dc:date>
      <content:encoded><![CDATA[<a href='http://www.dzone.com/links/rss/adding_some_bdd_flavour_to_the_phpunit_framework.html'><img src='http://cdn.dzone.com/images/thumbs/120x90/46660.jpg' style='width:120;height:90;float:left;vertical-align:top;border:1px solid #ccc;' /></a><p style='margin-left: 130px;'>Influenced by an article written by David Astel and the latest 'interest resurrecting' blog entries of Pádraic Brady, I was looking for a way to bend over the PHPUnit test-centric vocabulary to a more behaviour-centric one. The motivation for this 'NLP' is best justified by a quote from David Astel's paper "... if you want to change how you think it can help to first change your language".<br/><br/><a href='http://www.dzone.com/links/rss/adding_some_bdd_flavour_to_the_phpunit_framework.html'><img src='http://www.dzone.com/links/voteCountImage?linkId=46660' border='0'/></a></p>]]></content:encoded>
      <dz:linkId>46660</dz:linkId>
      <dz:submitDate>2007-10-07T16:07:38Z</dz:submitDate>
      <dz:voteUpCount>4</dz:voteUpCount>
      <dz:voteDownCount>0</dz:voteDownCount>
      <dz:clickCount>11</dz:clickCount>
      <dz:commentCount>0</dz:commentCount>
      <dz:thumbnail>http://www.dzone.com/links/images/thumbs/120x90/46660.jpg</dz:thumbnail>
      <dz:submitter>
        <dz:username>raphael76</dz:username>
        <dz:userimage>http://www.dzone.com/links/images/avatars/228496.gif</dz:userimage>
      </dz:submitter>
    </item>
  </channel>
</rss>

