<?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, 25 Jul 2008 07:30:11 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Developer Tutorials Blog: SimpleTest: Unit Testing for PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/10607</guid>
      <link>http://www.phpdeveloper.org/news/10607</link>
      <description><![CDATA[<p>
<i>Akash Mehta</i> has <a href="http://www.developertutorials.com/blog/php/simpletest-unit-testing-for-php-332/">posted a look</a> at unit testing for PHP applications with the SimpleTest tool in a new post to the Developer Tutorials blog.
</p>
<blockquote>
We recently looked at <a href="http://www.developertutorials.com/blog/web/selenium-ide-front-end-web-application-testing-322/">front-end testing of web applications with Selenium</a>. Today, we'll take another approach to testing your PHP applications: backend unit testing for your actual PHP code. As part of our posts on test driven development, here's a quick intro to using SimpleTest to test your PHP applications.
</blockquote>
<p>
He introduces the <a href="http://simpletest.org/">SimpleTest</a> software and shows what a sample test might look like for a simple math question (testing to see if the result of the addition is correct). He also points out <a href="http://simpletest.org/en/first_test_tutorial.html">a good tutorial</a> on the SimpleTest website to help you get started.
</p>]]></description>
      <pubDate>Tue, 15 Jul 2008 10:24:54 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[IBM developerWorks: Create a productivity package with the Zend Framework V1.5 & Google applications]]></title>
      <guid>http://www.phpdeveloper.org/news/10494</guid>
      <link>http://www.phpdeveloper.org/news/10494</link>
      <description><![CDATA[<p>
On the IBM developerWorks site, there's <a href="http://www.ibm.com/developerworks/edu/os-dw-os-php-zend-google-pt1.html">part one</a> of a new series that combines the latest version of the Zend Framework with the power of Google applications to create a custom web application.
</p>
<blockquote>
In this three-part "Create a productivity package with the Zend Framework V1.5 and Google applications" tutorial series, we will build an application with Zend Framework V1.5 that uses the Google applications. Here in Part 1, we explore the various features of the Zend Framework, outlining the many new features in V1.5 that we will take advantage of to build an example Web site. 
</blockquote>
<p>
This first part introduces the Framework briefly and helps you create some simple controllers and views. They use the Zend_Layout to help with the output and show how to implement view helpers to make components for the pages. There's no connections to Google in this initial part - that'll come later on.
</p>
<p>
You'll need to <a href="https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?lang=en_US&source=dw-os-php-zend-google-pt1&S_TACT=105AGX44&S_CMP=TUT">register/login</a> to get to it. 
</p>]]></description>
      <pubDate>Thu, 26 Jun 2008 12:02:44 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPFreaks: OO PHP Parts One & Two]]></title>
      <guid>http://www.phpdeveloper.org/news/10366</guid>
      <link>http://www.phpdeveloper.org/news/10366</link>
      <description><![CDATA[<p>
PHPFreaks has posted <a href="http://feeds.feedburner.com/~r/phpfreaks/~3/306320302/oo-php-part-1-oop-in-full-effect">part one</a> and <a href="http://feeds.feedburner.com/~r/phpfreaks/~3/306839599/oo-php-part-2-boring-oo-principles">part two</a> of a new series they're working on to introduce those new to the language to the concepts of object-oriented programming in PHP.
</p>
<blockquote>
On the old site, I started a series of tutorials named "PHP Application Design". I planned for at least three parts, and while I did publish the first two and wrote at least half of part three, I found myself out of time to make it to the finish. Still dedicated to writing reusable and extensible PHP code and spreading the knowledge, this is a restart of the series, renamed as simply "OO PHP"
</blockquote>
<p>
In <a href="http://www.phpfreaks.com/tutorial/oo-php-part-1-oop-in-full-effect">part one</a> he looks at the basics of OOP (terms, defining properties/methods, autoload, exceptions, type hinting, etc) with some code examples sprinkled through out. <a href="http://www.phpfreaks.com/tutorial/oo-php-part-2-boring-oo-principles">Part two</a> looks at the "boring OOP principles" like polymorphism, encapsulation and heuristics.
</p>
]]></description>
      <pubDate>Mon, 09 Jun 2008 08:48:00 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPFreaks.com: Sessions and cookies: Adding state to a stateless protocol]]></title>
      <guid>http://www.phpdeveloper.org/news/10349</guid>
      <link>http://www.phpdeveloper.org/news/10349</link>
      <description><![CDATA[<p>
On the PHPFreaks website, there's a <a href="http://www.phpfreaks.com/tutorial/sessions-and-cookies-adding-state-to-a-stateless-protocol">new tutorial</a> talking about sessions and cookies in PHP:
</p>
<blockquote>
HTTP is a stateless protocol. This means that each request is handled independently of all the other requests and it means that a server or a script cannot remember if a user has been there before. However, knowing if a user has been there before is often required and therefore something known as cookies and sessions have been implemented in order to cope with that problem.
</blockquote>
<p>
The <a href="http://www.phpfreaks.com/tutorial/sessions-and-cookies-adding-state-to-a-stateless-protocol">tutorial</a> is pretty introductory, so if you're not new to the PHP world, you won't learn much. New developers, though, will learn how to set cookies, use sessions and learn a bit about the security of both.
</p>]]></description>
      <pubDate>Thu, 05 Jun 2008 12:05:11 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[SitePoint PHP Blog: A PHP Guy's Look At Python]]></title>
      <guid>http://www.phpdeveloper.org/news/10149</guid>
      <link>http://www.phpdeveloper.org/news/10149</link>
      <description><![CDATA[<p>
Focusing on PHP day in and day out is nice, but sometimes it's good to branch out a bit. <i>Kevin Yank</i> agrees and decided to <a href="http://www.sitepoint.com/blogs/2008/05/09/a-php-guy%e2%80%99s-look-at-python/">give Python a try</a>. He's written up this post to the SitePoint PHP blog as he explores the language from a PHP developer's perspective.
</p>
<blockquote>
Like may SitePoint readers, I cut my teeth on PHP. I've become very comfortable with it over the years, warts and all. PHP continues to be a dependable choice, but PHP hasn’t changed a whole lot lately. [...] Python has a lot in common with PHP: it’s a dynamically typed, open source scripting language with excellent documentation and a thriving community around it.
</blockquote>
<p>
He <a href="http://www.sitepoint.com/blogs/2008/05/09/a-php-guy%e2%80%99s-look-at-python/">includes</a> a few basic "Hello World" kinds of examples in Python just to introduce you to the language structure (indenting for code structure? that's crazy talk for us PHPers) and some of the handy features of the language like sequences and the language's automatic namespace support.
</p>]]></description>
      <pubDate>Fri, 09 May 2008 08:48:46 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Debuggable Blog: Unit Testing in CakePHP Part 1 - Introduction to Unit Testing]]></title>
      <guid>http://www.phpdeveloper.org/news/10131</guid>
      <link>http://www.phpdeveloper.org/news/10131</link>
      <description><![CDATA[<p>
On the Debuggable blog, <i>Tim Koschutki</i> has posted the <a href="http://www.debuggable.com/posts/unit-testing-in-cakephp-part-1---introduction-to-unit-testing:48102610-c5d0-4398-a010-76974834cda3">first part</a> of a series looking at unit testing the CakePHP framework. This first article introduces you to the idea of unit testing to help lay the foundation for what's to come.
</p>
<blockquote>
So you want to read up on Unit Testing in CakePHP? That is great, testing can be such a help in finding bugs. [...] Surprisingly, many people do not know yet what unit testing is. In this first part of a whole series you can get a good grasp of what it is and is not.
</blockquote>
<p>
He goes over the basic concepts behind the testing - setting up test cases, comparing results, automating them and how they related to code coverage. He gets into more detail with a list of the assert functions (like assertNotEqual or assertClone) and some examples using the simpletest unit testing software. He wraps it up by listing some of the benefits of unit testing, the limitations of it, TDD and what Mock objects are.
</p>]]></description>
      <pubDate>Wed, 07 May 2008 10:23:29 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPEveryDay.com: New Tutorials Posted (WDDX in PHP)]]></title>
      <guid>http://www.phpdeveloper.org/news/10084</guid>
      <link>http://www.phpdeveloper.org/news/10084</link>
      <description><![CDATA[<p>
The PHPEveryDay.com website has several new tutorials they've posted recently - here's the list:
</p>
<ul>
<li><a href="http://www.phpeveryday.com/articles/PHP-WDDX-Creating-Web-Service-Client-P598.html">PHP WDDX: Creating Web Service Client</a>
<li><a href="http://www.phpeveryday.com/articles/PHP-WDDX-Creating-Web-Service-Server-P597.html">PHP WDDX: Creating Web Service Server</a>
<li><a href="http://www.phpeveryday.com/articles/PHP-WDDX-Unserializing-Data-P596.html">PHP WDDX: Unserializing Data</a>
<li><a href="http://www.phpeveryday.com/articles/PHP-WDDX-Complex-Serialization-P595.html">PHP WDDX: Complex Serialization</a>
<li><a href="http://www.phpeveryday.com/articles/PHP-WDDX-Simple-Serialization-Using-PHP-function-P594.html">PHP WDDX: Simple Serialization Using PHP function</a>
<li><a href="http://www.phpeveryday.com/articles/PHP-WDDX-Recordset-Element-P593.html">PHP WDDX: Recordset Element</a>
<li><a href="http://www.phpeveryday.com/articles/PHP-WDDX-Struct-Element-P592.html">PHP WDDX: Struct Element</a>
<li><a href="http://www.phpeveryday.com/articles/PHP-WDDX-Using-Array-Elements-P591.html">PHP WDDX: Using Array Elements</a>
<li><a href="http://www.phpeveryday.com/articles/PHP-WDDX-Understanding-Simple-Data-Type-P590.html">PHP WDDX: Understanding Simple Data Type</a>
<li><a href="http://www.phpeveryday.com/articles/PHP-WDDX-Understanding-Data-Elements-P589.html">PHP WDDX: Understanding Data Elements</a>
<li><a href="http://www.phpeveryday.com/articles/PHP-WDDX-Understanding-Anatomy-of-WDDX-P588.html">PHP WDDX: Understanding Anatomy of WDDX</a>
<li><a href="http://www.phpeveryday.com/articles/PHP-WDDX-Introduction-P587.html">PHP WDDX: Introduction</a>
</ul>
<p>
Check out <a href="http://www.phpeveryday.com">PHPEveryDay.com</a> for even more great tutorials and articles.
</p>
]]></description>
      <pubDate>Thu, 01 May 2008 07:58:15 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Tiger Heron Blog: First steps with PHP - booting a script, Part 2]]></title>
      <guid>http://www.phpdeveloper.org/news/10056</guid>
      <link>http://www.phpdeveloper.org/news/10056</link>
      <description><![CDATA[<p>
<i>Tony Freixas</i> continues his introductory look at "booting" a PHP script with <a href="http://www.tigerheron.com/article/2008/04/first-steps-php-booting-script-part-2">part two</a> of his series (here's <a href="http://www.phpdeveloper.org/news/9819">part one</a>) looking at using libraries.
</p>
<blockquote>
In the good old days, if you wanted to create re-usable code, you would create a library of related functions or objects. Now, the excitement is all around frameworks. Everyone has one. What is the difference between the two?
</blockquote>
<p>
He compares a library and a framework, pointing out key differences like how they fit with the application (controlled by or controlling) and dependencies they require. He rounds out his boot sequence, adding a few new parts to the structure of his example application.
</p>]]></description>
      <pubDate>Mon, 28 Apr 2008 12:57:33 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Michael Kimsal's Blog: PHP Continuous Integration with phpUnderControl]]></title>
      <guid>http://www.phpdeveloper.org/news/10054</guid>
      <link>http://www.phpdeveloper.org/news/10054</link>
      <description><![CDATA[<p>
<i>Michael Kimsal</i> has <a href="http://michaelkimsal.com/blog/continuous-integration-with-phpundercontrol/">put together</a> a <a href="http://michaelkimsal.com/blog/php-continuous-integration-with-phpundercontrol/">small page</a> to help you get started using the phpUnderControl continuous integration system:
</p>
<blockquote>
If you're not using phpUnderControl, you owe it to yourself to check it out, as I think 'continuous integration' will likely change the way you think of development.  I've used CruiseControl in the past for PHP, but the PHP-specifics phpUnderControl brings to the project are too much to pass up.
</blockquote>
<p>
The <a href="http://michaelkimsal.com/blog/php-continuous-integration-with-phpundercontrol/">page</a> mentions some of the common issues you might have in getting started - installation problem, the use of the PHP Code Sniffer and the Project Mess Detector from <a href="http://www.phpunit.de">PHPUnit</a>.
</p>]]></description>
      <pubDate>Mon, 28 Apr 2008 11:18:20 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPEveryDay.com: Zend Framework Tutorials Posted (Sessions)]]></title>
      <guid>http://www.phpdeveloper.org/news/10045</guid>
      <link>http://www.phpdeveloper.org/news/10045</link>
      <description><![CDATA[<p>
There's a few new Zend Framework tutorials posted today over on the PHPEveryDay.com website:
</p>
<ul>
<li><a href="http://www.phpeveryday.com/articles/Zend-Framework-Session-Automatic-Expiration-P576.html">Zend Framework Session: Automatic Expiration</a>
<li><a href="http://www.phpeveryday.com/articles/Zend-Framework-Session-Locking-and-Unlocking-Namespace-P575.html">Zend Framework Session: Locking and Unlocking Namespace</a>
<li><a href="http://www.phpeveryday.com/articles/Zend-Framework-Session-Seing-All-Values-at-Namespace-P574.html">Zend Framework Session: Seing All Values at Namespace</a>
<li><a href="http://www.phpeveryday.com/articles/Zend-Framework-Session-Accessing-Session-Data-P573.html">Zend Framework Session: Accessing Session Data</a>
<li><a href="http://www.phpeveryday.com/articles/Zend-Framework-Session-Using-Namespace-P572.html">Zend Framework Session: Using Namespace</a>
<li><a href="http://www.phpeveryday.com/articles/Zend-Framework-Session-Introduction-P571.html">Zend Framework Session: Introduction</a>
</ul>
<p>
Check out <a href="http://www.phpeveryday.com/articles/">their articles section</a> for even more great PHP-related content.
</p>]]></description>
      <pubDate>Fri, 25 Apr 2008 13:43:24 -0500</pubDate>
    </item>
  </channel>
</rss>
