<?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, 16 May 2008 11:15:05 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Larry Garfield's Blog: Drupal 7 gets introspective code registry]]></title>
      <guid>http://www.phpdeveloper.org/news/10143</guid>
      <link>http://www.phpdeveloper.org/news/10143</link>
      <description><![CDATA[<p>
<i>Larry Garfield</i> talks about a new feature of Drupal 7 in <a href="http://www.garfieldtech.com/drupal-7-registry">a new post</a> to his blog - the new introspective code registry that's been introduced in this latest version.
</p>
<blockquote>
As a GHOP Task , Cornil did a performance analysis of Drupal and found its two largest performance drains were the bootstrap process and the theming layer. Quite simply, Drupal spends too much time including code. [...] Fortunately, Drupal 7's self-learning <a href="http://drupal.org/node/221964">code registry system</a> has <a href="http://drupal.org/cvs?commit=114916">just</a> <a href="http://drupal.org/cvs?commit=114932">landed</a>, which should obliterate most of the wasted bootstrap cost.
</blockquote>
<p>
<i>Larry</i> <a href="http://www.garfieldtech.com/drupal-7-registry">describes</a> the "heart of it all", the token_get_all call, that parses through an entire PHP file, splitting out things like classes included and functions called. This is passed through a function_exists call to the current script and, if it's already there, the file isn't included repetitively.
</p>]]></description>
      <pubDate>Thu, 08 May 2008 12:53:14 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: Web-based Frontend for XDebuxg - Webgrind]]></title>
      <guid>http://www.phpdeveloper.org/news/10102</guid>
      <link>http://www.phpdeveloper.org/news/10102</link>
      <description><![CDATA[<p>
<i>Joakim</i> passed along a note today about a new <a href="http://jokke.dk/2008/04/webgrind_a_web_frontend_for_xdebug">web-based frontend</a> for XDebug:
</p>
<blockquote>
My about page has mentioned a web based frontend for Xdebug for some time. The project has a name now: The idea for Webgrind, a spin on Valgrind, came from lack of profiling tools for PHP, particularly on OSX. Though it is possible to install kcachegrind on osx it seems overkill for many uses and is definitely not as easy as unzipping a folder to the webroot.
</blockquote>
<p>
He and <a href="http://oettinger.dk/">Jacob Oettinger</a> have started up the project and have posted some <a href="http://code.google.com/p/webgrind/">initial code</a> over on the Google Code page for Webgrind. You can check out a screenshot of it in action <a href="http://jokke.dk/media/2008-webgrind/webgrind_small.png">here</a> too.
</p>]]></description>
      <pubDate>Fri, 02 May 2008 16:07:14 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Debuggable Blog: Code Coverage Analysis soon in CakePHP - Test How Well You Test]]></title>
      <guid>http://www.phpdeveloper.org/news/10088</guid>
      <link>http://www.phpdeveloper.org/news/10088</link>
      <description><![CDATA[<p>
In <a href="http://www.debuggable.com/posts/code-coverage-analysis-soon-in-cakephp---test-how-well-you-test:4814f6a0-fe60-4f50-be0b-07194834cda3">a new post</a> to the Debuggable blog, <i>Tim Koschutzki</i> talks some about the work he's been doing on the code coverage analysis for the upcoming CakePHP release:
</p>
<blockquote>
There are several different kinds of criteria to code coverage. The two most important ones are line coverage (or statement coverage as wikipedia puts it) and path coverage. [...] So how is it going to work? Pretty simple actually. Whenever you run a CakePHP test case Cake assembles information in the background about which lines of your subject-under-test are called.
</blockquote>
<p>
He includes <a href="http://www.debuggable.com/posts/code-coverage-analysis-soon-in-cakephp---test-how-well-you-test:4814f6a0-fe60-4f50-be0b-07194834cda3">a few screenshots</a> of the code coverage being run and the end result of the runner with the percent covered.
</p>]]></description>
      <pubDate>Thu, 01 May 2008 11:19:54 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Developer Tutorials Blog: RSS feeds in PHP: 3 simple steps to PHP RSS generation]]></title>
      <guid>http://www.phpdeveloper.org/news/9985</guid>
      <link>http://www.phpdeveloper.org/news/9985</link>
      <description><![CDATA[<p>
On the Developer Tutorials blog today, there's <a href="http://www.developertutorials.com/blog/php/rss-feeds-in-php-3-simple-steps-to-php-rss-generation-121/">a new post</a> talking about the "three easy steps" to making an RSS feed for your blog:
</p>
<blockquote>
Adding an RSS feed to your site is quick and painless, and can be done with pure PHP (and some kind of data source). After the jump, 3 simple steps to building an RSS feed in php.
</blockquote>
<p>
The steps are pretty simple - figure out what content you want to serve, set up the basic RSS XML structure, and loop through your data to push it in to the template and echoed out. Some simple example code is included.
</p>]]></description>
      <pubDate>Thu, 17 Apr 2008 08:47:50 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Richard Heyes' Blog: Reading a specific line in a file]]></title>
      <guid>http://www.phpdeveloper.org/news/9925</guid>
      <link>http://www.phpdeveloper.org/news/9925</link>
      <description><![CDATA[<p>
<i>Richard Heyes</i> has <a href="http://www.phpguru.org/article.php/266">thrown together</a> some code for a simple thing that he's seen developers request over and over again - moving to/reading from a specific line in a file.
</p>
<blockquote>
After reading something on the php-general list I decided that a) I'm bored, and b) I'll write something which handles it. So <a href="http://www.phpguru.org/downloads/LineReader/">here</a> it is.
</blockquote>
<p>
His code is simple - looping through the lines of the file until it locates your desired target (with some error checking along the way). Plus, if it's already fetched, it keeps it in a cached array for future retrieval.
</p>]]></description>
      <pubDate>Mon, 07 Apr 2008 12:56:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Community News: New Yahoo! Pipes PHP serialized output renderer]]></title>
      <guid>http://www.phpdeveloper.org/news/9924</guid>
      <link>http://www.phpdeveloper.org/news/9924</link>
      <description><![CDATA[<p>
As <a href="http://devzone.zend.com/article/3355-Yahoo-Pipes-adds-Serialized-PHP-support">mentioned</a> on the Zend Developer Zone and by <i>John Herren</i>, Yahoo! has added a new feature to its Pipes functionality - <a href="http://jhherren.wordpress.com/2008/04/03/yahoo-pipes-adds-support-for-serialized-php/">serialized PHP results</a>.
</p>
<blockquote>
Until now JSON output has been the only way to obtain all the data flowing through a Pipe. Starting today we've added a second way of getting all the data - serialized PHP Pipe output. [...] It's then up to you on how you want to display or use the Pipe data. The possibilities are endless.
</blockquote>
<p>
If you haven't messed with <a href="http://pipes.yahoo.com/">Yahoo's Pipes</a> system, you owe to it to yourself to at least go and play with it for a little bit.
</p>]]></description>
      <pubDate>Mon, 07 Apr 2008 12:05:17 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Rob Allen's Blog: Simple Zend_Form File Upload Example]]></title>
      <guid>http://www.phpdeveloper.org/news/9921</guid>
      <link>http://www.phpdeveloper.org/news/9921</link>
      <description><![CDATA[<p>
<i>Rob Allen</i> has <a href="http://akrabat.com/2008/04/07/simple-zend_form-file-upload-example/">posted an example</a> (a simple one to get you started) of creating a file upload form in the Zend Framework.
</p>
<blockquote>
Zend Framework 1.5's Zend_Form component is missing support for the file input element as it is waiting on a file upload component to build upon. We're busy people, so we'll fake it...
</blockquote>
<p>
His example gives a screenshot of the end result and includes all of the code needed to make it all work - the form, the custom file form element, a ValidFile validation class to ensure you're getting exactly what you want and the controller to define the form and execute it once the user submits.
</p>]]></description>
      <pubDate>Mon, 07 Apr 2008 09:30:30 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Sebastian Bergmann's Blog: Generating Code from Tests]]></title>
      <guid>http://www.phpdeveloper.org/news/9788</guid>
      <link>http://www.phpdeveloper.org/news/9788</link>
      <description><![CDATA[<p>
<i>Sebastian Bergmann</i> has <a href="http://sebastian-bergmann.de/archives/756-Generating-Code-from-Tests.html">posted a quick example</a> of how to use the <a href="http://www.phpunit.de/">PHPUnit</a> unit testing suite for PHP to create code for you (assuming you're using the <a href="http://www.phpunit.de/pocket_guide/3.3/en/test-first-programming.html">test first</a> method of development.
</p>
<p>
His example builds the class off of a set of test for a "BowlingGame" that ends up with roll() and score() methods based off of the naming conventions used in the test:
</p>
<blockquote>
Following the convention that the tests for a class BowlingGame (see below) are written in a class named BowlingGameTest (see above), the test case class' source is searched for variables that reference objects of the BowlingGame class and analyzing what methods are called on these objects.
</blockquote>]]></description>
      <pubDate>Thu, 13 Mar 2008 08:43:50 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[David Goodwin's Blog: Book Review: Object-Orientated Programming with PHP5 (Hasin Hayder, Packt)]]></title>
      <guid>http://www.phpdeveloper.org/news/9747</guid>
      <link>http://www.phpdeveloper.org/news/9747</link>
      <description><![CDATA[<p>
<i>David Goodwin</i> has <a href="http://codepoets.co.uk/book-review-object-orientated-programming-php5-hasin-hayder-packt-publishing">posted a book review</a> of a book put out by Packt Publishing, "Object Oriented Programming with PHP5" (from <i>Hasin Hayder</i>).
</p>
<blockquote>
After an email out of the blue from someone at <a href="http://packtpub.com/">Packt publishing</a>, here's a review of "<a href="http://www.packtpub.com/oop-php-5/book">Object-Orientated Programming with PHP5</a>" I don't think I've done a book review before, so apologies in advance if it's not structured in any logical manner.
</blockquote>
<p>
He's <a href="http://codepoets.co.uk/book-review-object-orientated-programming-php5-hasin-hayder-packt-publishing">broken it up</a> into a few lists to make it very straight forward and easy to see if it's the book for you - the pros, the cons, the contents of the book and a random code sample (this one showing the Decorator pattern in action).
</p>]]></description>
      <pubDate>Thu, 06 Mar 2008 10:28:00 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Developer Tutorials: Easy PDF Generation in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/9736</guid>
      <link>http://www.phpdeveloper.org/news/9736</link>
      <description><![CDATA[<p>
On the Developer Tutorials website, they're posted <A href="http://www.developertutorials.com/tutorials/php/easy-pdf-generation-in-php-8-02-27/page1.html">this new article</a> talking about a simple way to create PDFs with PHP:
</p>
<blockquote>
[PDFs] also serve as a perfect way of allowing your users to download or email a page from your website. In this tutorial, I'll show you how to generate PDF files in pure PHP and distribute your content in a single, consistent format.
</blockquote>
<p>
They look at the <a href="http://www.developertutorials.com/tutorials/php/easy-pdf-generation-in-php-8-02-27/page2.html">why</a> behind creating PDFs in PHP, what <a href="http://www.developertutorials.com/tutorials/php/easy-pdf-generation-in-php-8-02-27/page3.html">options</a> you have and <a href="http://www.developertutorials.com/tutorials/php/easy-pdf-generation-in-php-8-02-27/page4.html">an example</a> creating a basic "hello world" PDF.
</p>]]></description>
      <pubDate>Tue, 04 Mar 2008 09:57:00 -0600</pubDate>
    </item>
  </channel>
</rss>
