<?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>Wed, 09 Jul 2008 07:22:15 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Jaisen Methai's Blog: Stop including class files and use __autoload() instead]]></title>
      <guid>http://www.phpdeveloper.org/news/10530</guid>
      <link>http://www.phpdeveloper.org/news/10530</link>
      <description><![CDATA[<p>
On his blog, <i>Jaisen Methai</i> <a href="http://www.jaisenmathai.com/blog/2008/06/25/stop-including-class-files-and-use-__autoload-instead/">posted about</a> a very handy feature of PHP5 - the __autoload function.
</p>
<blockquote>
It's one of the gems in PHP that I find to be relatively under used.  It's common for PHP applications to break out classes into their own files.  This becomes cumbersome when working on large projects as you wind up with numerous include/require calls for any given page. 
</blockquote>
<p>
He shows an example of its usage (loading class files dynamically from a specified directory) and mentions how it can help to make your code a lot less ugly. Comments on <a href="http://www.jaisenmathai.com/blog/2008/06/25/stop-including-class-files-and-use-__autoload-instead/">the post</a> range in topics - from comparing it to include paths, how the idea was borrowed from PEAR, and how proper naming conventions can make its use even easier.
</p>]]></description>
      <pubDate>Wed, 02 Jul 2008 11:11:50 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Zend Developer Zone: Desktop Image Uploaders Using Adobe AIR and JavaScript]]></title>
      <guid>http://www.phpdeveloper.org/news/10525</guid>
      <link>http://www.phpdeveloper.org/news/10525</link>
      <description><![CDATA[<p>
On the Zend Developer Zone today there's a <a href="http://devzone.zend.com/article/3650-Desktop-Image-Uploaders-Using-Adobe-AIR-and-JavaScript">new tutorial</a> (by <i>Jack Herrington</i>) talking about working with Adobe AIR and Javascript to make a desktop application for uploading images (or any other files) to a remote server.
</p>
<blockquote>
To solve the upload problem, most of the big services have dedicated upload applications that run on all the different platforms. But it takes a lot of work to develop them, especially when they have to run on both Macintosh and Windows. Or is it so tough? As it turns out, Adobe AIR technology makes it possible to write applications for any platform using just HTML and JavaScript. It also offers access to cool desktop features, notably drag and drop.
</blockquote>
<p>
The tutorial shows how to make the application with the HTML/Javascript version of an AIR app (as opposed to Flex) that lets you drag and drop files into it to be uploaded. They make the basic file upload form first as a foundation then extend it to make it accept the remote request (via POST) from the AIR application to handle the uploads. Javascript code and screenshots are included.
</p>]]></description>
      <pubDate>Wed, 02 Jul 2008 07:56:27 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Stefan Priebsch's Blog: TDD in a self-experiment]]></title>
      <guid>http://www.phpdeveloper.org/news/10489</guid>
      <link>http://www.phpdeveloper.org/news/10489</link>
      <description><![CDATA[<p>
<i>Stefan Priebsch</i> has posted <a href="http://inside.e-novative.de/archives/121-TDD-in-a-self-experiment.html">an overview</a> of some of his experiences with test-driven development in PHP. Specifically, he talks about it in the context of a small CMS he's been working up.
</p>
<blockquote>
The CMS I am using is a small engine that puts together (potentially multi-lingual) page content, templates, and a site structure, and creates semi-static pages. It does not have a sleek GUI frontend, because by nature I am not afraid of a text editor, and most of the time get quicker results by just writing HTML than fighting with one of these what-you-see-is-what-you-might-get HTML editors.
</blockquote>
<p>
He talks about the configuration files containing the app's settings (inspired by the YAML Symfony uses) and his work towards the "best matching pattern" algorithm. This is where the TDD came in - he cheated a little with some base classes (tests first!) and then came up with the tests for checking template names and more complex template interactions.
</p>
<p>
<a href="http://inside.e-novative.de/archives/121-TDD-in-a-self-experiment.html">The post</a> includes drops of code here and there as well - examples of the unit tests and of the configuration files.
</p>]]></description>
      <pubDate>Thu, 26 Jun 2008 07:57:32 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Alex Netkachov's Blog: BAT file tips]]></title>
      <guid>http://www.phpdeveloper.org/news/10355</guid>
      <link>http://www.phpdeveloper.org/news/10355</link>
      <description><![CDATA[<p>
<i>Alex Netkachov</i> has updated <a href="http://www.alexatnet.com/node/22">a post he made</a> a while back (in 2006 in fact) about making Windows batch files (.BAT) that would do the same thing as some of the functions in PHP. He's added two more to it today - one for string replace and another for splitting a string.
</p>
<p>
The <a href="http://www.alexatnet.com/node/22#string_replace">replace</a> is as simple three line call, much the same as PHP's and the <a href="http://www.alexatnet.com/node/22#string_split">split call</a>, while a bit more complex, is still pretty straight forward (it just needs a few extra variables).
</p>
<p>
Other methods in <a href="http://www.alexatnet.com/node/22">the post</a> include a "switch" method, defining a procedure and updating variable by its name.
</p>]]></description>
      <pubDate>Fri, 06 Jun 2008 07:58:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Implementing Internet Protocols with PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/10336</guid>
      <link>http://www.phpdeveloper.org/news/10336</link>
      <description><![CDATA[<p>
On DevShed today, there's a <a href="http://www.devshed.com/c/a/PHP/Implementing-Internet-Protocols-with-PHP/">new tutorial</a> on showing how to create a simple application to use one of the simpler protocols - FTP.
</p>
<blockquote>
PHP has many functions that help us to implement Internet and/or networking protocols. In this article, we will look at how to implement some of those protocols using PHP.
</blockquote>
<p>
They introduce the FTP functions for PHP (a basic list, PHP manual style) and include the code - the CSS to make it easier to use and the PHP code to make the FTP connection and grab the remote file listing. A <a href="http://images.devshed.com/ds/stories/Internet_Protocols/cntrlpanel.PNG">screenshot</a> is included to give you an idea of the end result.
</p>]]></description>
      <pubDate>Wed, 04 Jun 2008 09:32:22 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Comparing Files and Databases with PHP Benchmarking Applications]]></title>
      <guid>http://www.phpdeveloper.org/news/10136</guid>
      <link>http://www.phpdeveloper.org/news/10136</link>
      <description><![CDATA[<p>
DevShed is wrapping up their series looking at benchmarking your PHP applications with <A href="http://www.devshed.com/c/a/PHP/Comparing-Files-and-Databases-with-PHP-Benchmarking-Applications/">the third part</a> - a look at comparing execution times of scripts that can either pull from a database or from a flat file.
</p>
<blockquote>
This large, complex subject offers numerous possibilities for experimentation, which means that you'll surely have tons of fun creating timing systems with PHP. [...] his article, then, will be focused on evaluating different scripts that fetch sets of records, first from a database, and then from flat files.
</blockquote>
<p>
They use the Timer class they defined in a previous part of the series and wrap it around both a database class (pulling user information from a MySQL database) and a fetch to a flat file for similar information. General exceptions are handled as a part of the resource connection class.
</p>]]></description>
      <pubDate>Thu, 08 May 2008 07:58:38 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Setting Up a Web-Based File Manager: PHPfileNavigator2]]></title>
      <guid>http://www.phpdeveloper.org/news/10015</guid>
      <link>http://www.phpdeveloper.org/news/10015</link>
      <description><![CDATA[<p>
DevShed has posted <a href="http://www.devshed.com/c/a/PHP/Setting-Up-a-WebBased-File-Manager-PHPfileNavigator2/">the second part</a> of their series looking at installing and using web-based file managers written in PHP. This time they look at <a href="http://pfn.sourceforge.net/">PHPfileNavigator2</a>.
</p>
<blockquote>
We are going to continue with the installation and configuration of web-based file managers. We'll present another freeware, open-source PHP-based file manipulation utility in the same way we explained bfExplorer in the previous part. This time, it's going to be the PHPfileNavigator2 (pfn2).
</blockquote>
<p>
They cover the basics - <a href="http://www.devshed.com/c/a/PHP/Setting-Up-a-WebBased-File-Manager-PHPfileNavigator2/1/">installation</a> (on a pre-existing Apache/PHP server), <a href="http://www.devshed.com/c/a/PHP/Setting-Up-a-WebBased-File-Manager-PHPfileNavigator2/2/">configuuration</a> and some example screenshots of it in action when correctly set up.
</p>]]></description>
      <pubDate>Tue, 22 Apr 2008 12:35:47 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Setting Up a Web-Based File Manager: bfExplorer]]></title>
      <guid>http://www.phpdeveloper.org/news/9989</guid>
      <link>http://www.phpdeveloper.org/news/9989</link>
      <description><![CDATA[<p>DevShed has posted <a href="http://www.devshed.com/c/a/PHP/Setting-Up-a-WebBased-File-Manager-bfExplorer/">the first part of a series</a> looking at the installation, configuration and usage of two web-based file managers - <a href="http://bfexplorer.sourceforge.net/">BytesFall Explorer</a> and <a href="http://pfn.sourceforge.net/">PHPfileNavigator</a>. This first part of the series focuses on BytesFall.
</p>
<blockquote>
Everybody knows how to use a conventional desktop application that acts as a file manager. And we all know how useful these manipulation utilities really are. They give us a hierarchical view of the content of our folders. They also have dozens of extra functions. [...] We will present two freeware PHP-based file managers. You'll find out how to install and configure them.
</blockquote>
<p>
<a href="http://www.devshed.com/c/a/PHP/Setting-Up-a-WebBased-File-Manager-bfExplorer/">Part one</a> handles the first steps with BytesFall - the installation and configuration (you'll already need a web server with PHP installed for this one). 
</p>]]></description>
      <pubDate>Thu, 17 Apr 2008 15:29:27 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[DevShed: Developing a Modular Class For a PHP File Uploader]]></title>
      <guid>http://www.phpdeveloper.org/news/9977</guid>
      <link>http://www.phpdeveloper.org/news/9977</link>
      <description><![CDATA[<p>
DevShed has <a href="http://www.devshed.com/c/a/PHP/Developing-a-Modular-Class-For-a-PHP-File-Uploader/">posted the final part</a> of their series looking at the handling of file uploads in PHP5. This last installment shows how to take what yuou've learned so far and make things a bit more modular.
</p>
<blockquote>
At this stage, you've hopefully recalled how to build an expandable file uploading application with PHP 5 that uses only one custom function to transfer a target file from a client machine to a predefined web server. However, in the beginning, I said that I was going to teach you how to develop a brand new file uploading application using an object-oriented approach.
</blockquote>
<p>
The finish off the FileUploader class they were working on previously and show some testing examples of it in action.
</p>]]></description>
      <pubDate>Wed, 16 Apr 2008 13:28:49 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Sebastian Bergmann's Blog: Test Runner Improvement in PHPUnit 3.3]]></title>
      <guid>http://www.phpdeveloper.org/news/9956</guid>
      <link>http://www.phpdeveloper.org/news/9956</link>
      <description><![CDATA[<p>
<i>Sebastian Bergmann</i> has posted some details about <a href="http://sebastian-bergmann.de/archives/772-Test-Runner-Improvement-in-PHPUnit-3.3.html">an update</a> that's been made to the test runner for the PHPUnit (3.3) unit testing suite - an allowance for directories instead of just files on the command line.
</p>
<blockquote>
Given a directory, the test runner will recursively scan the directory for *Test.php files, build a test suite out of the *Test classes, and run it.
</blockquote>
<p>
<a href="http://www.phpunit.de/">PHPUnit</a> is framework that makes writing tests for your code easy and also includes functionality to run the tests and analyze their results.
</p>]]></description>
      <pubDate>Fri, 11 Apr 2008 09:46:29 -0500</pubDate>
    </item>
  </channel>
</rss>
