<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>From the Code Mill &#187; PHP</title>
	<atom:link href="http://codemill.studio-connect.com/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://codemill.studio-connect.com</link>
	<description>Tutorials, thoughts, and rants about programming.</description>
	<lastBuildDate>Sat, 12 Jun 2010 18:45:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Implementing the Observer Pattern with SplObserver and SplSubject</title>
		<link>http://codemill.studio-connect.com/2010/06/06/implementing-the-observer-pattern-with-splobserver-and-splsubject/</link>
		<comments>http://codemill.studio-connect.com/2010/06/06/implementing-the-observer-pattern-with-splobserver-and-splsubject/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 06:03:34 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[object-oriented programming]]></category>

		<guid isPermaLink="false">http://codemill.studio-connect.com/?p=240</guid>
		<description><![CDATA[As PHP applications grow into complex object-oriented systems, developers look to create centralized components to execute repetitive tasks.  These include logging, emailing, redirects, and more.  The Observer pattern is a commonly used design pattern to hook such components into an application during runtime, thereby making them reusable.  Since PHP 5.1, there are two interfaces built [...]]]></description>
		<wfw:commentRss>http://codemill.studio-connect.com/2010/06/06/implementing-the-observer-pattern-with-splobserver-and-splsubject/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Our Wheels Are Rounder</title>
		<link>http://codemill.studio-connect.com/2010/05/17/our-wheels-are-rounder/</link>
		<comments>http://codemill.studio-connect.com/2010/05/17/our-wheels-are-rounder/#comments</comments>
		<pubDate>Tue, 18 May 2010 00:59:42 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[content management]]></category>
		<category><![CDATA[best practices]]></category>

		<guid isPermaLink="false">http://codemill.studio-connect.com/?p=214</guid>
		<description><![CDATA[As web developers we are familiar with the DRY (Don&#8217;t Repeat Yourself) principle of programming.  Cut &#38; paste is the bane of object-oriented programmers, and we will frequently hear the phrase &#8220;Don&#8217;t reinvent the wheel&#8221;.  However, I typically find myself and other colleagues in the world of PHP doing just that.  The plethora of actively [...]]]></description>
		<wfw:commentRss>http://codemill.studio-connect.com/2010/05/17/our-wheels-are-rounder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flexible Data Display with PDO and HTML_Table_Matrix</title>
		<link>http://codemill.studio-connect.com/2009/10/18/flexible-data-display-with-pdo-and-html_table_matrix/</link>
		<comments>http://codemill.studio-connect.com/2009/10/18/flexible-data-display-with-pdo-and-html_table_matrix/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 04:05:25 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Databases]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://codemill.studio-connect.com/?p=194</guid>
		<description><![CDATA[Have you ever wanted to set up an application that displays tabular data, and wanted to use the same view for each query?  While PHP is excellent for writing small-footprint queries, its ability to be embedded in HTML leaves the creativity to the programmer to figure out a consistent display solution for tabular data.
We need [...]]]></description>
		<wfw:commentRss>http://codemill.studio-connect.com/2009/10/18/flexible-data-display-with-pdo-and-html_table_matrix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Writing a Cross-Domain Proxy in PHP</title>
		<link>http://codemill.studio-connect.com/2009/09/15/writing-a-cross-domain-proxy-in-php/</link>
		<comments>http://codemill.studio-connect.com/2009/09/15/writing-a-cross-domain-proxy-in-php/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 03:22:31 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://codemill.studio-connect.com/?p=188</guid>
		<description><![CDATA[Today I encountered a problem that many developers will likely face while building a web application with Ajax, so I wanted to share my experience with it.
The Problem:
You create a web site with the goal of consuming content from the web.  This may be in the form of a geocoding service, or perhaps a lightbox [...]]]></description>
		<wfw:commentRss>http://codemill.studio-connect.com/2009/09/15/writing-a-cross-domain-proxy-in-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP and Javascript Combine with PHP.JS</title>
		<link>http://codemill.studio-connect.com/2009/07/10/php-js/</link>
		<comments>http://codemill.studio-connect.com/2009/07/10/php-js/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 04:23:24 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Product Highlights]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://codemill.studio-connect.com/?p=172</guid>
		<description><![CDATA[I wanted to write a quick post about a library one of my co-workers stumbled upon this week.  It is called php.js and is a compilation of php functions ported to javascript.  That sounds pretty convenient!

There are two flavors of php.js &#8211; one contains just the compiled functions, and the other a namespaced version, capable [...]]]></description>
		<wfw:commentRss>http://codemill.studio-connect.com/2009/07/10/php-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working on a Propel Form Builder&#8230;</title>
		<link>http://codemill.studio-connect.com/2009/05/29/working-on-a-propel-form-builder/</link>
		<comments>http://codemill.studio-connect.com/2009/05/29/working-on-a-propel-form-builder/#comments</comments>
		<pubDate>Sat, 30 May 2009 04:53:51 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[Propel]]></category>

		<guid isPermaLink="false">http://codemill.studio-connect.com/?p=166</guid>
		<description><![CDATA[Tonight I started working on a set of classes that will build forms for Propel objects.  While Propel already has implementations of PatForms and HTML_QuickForm, they are both not up-to-date in svn.  They both also require Creole for gathering metadata, and I am not at all interested in integrating another library into this project &#8211; [...]]]></description>
		<wfw:commentRss>http://codemill.studio-connect.com/2009/05/29/working-on-a-propel-form-builder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick PHP Debugging with FirePHP</title>
		<link>http://codemill.studio-connect.com/2009/05/26/quick-php-debugging-with-firephp/</link>
		<comments>http://codemill.studio-connect.com/2009/05/26/quick-php-debugging-with-firephp/#comments</comments>
		<pubDate>Wed, 27 May 2009 03:38:48 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[object-oriented programming]]></category>

		<guid isPermaLink="false">http://codemill.studio-connect.com/?p=157</guid>
		<description><![CDATA[Recently when browsing past issues of php&#124;architect magazine, I came across mention of a Firefox add-on called FirePHP.  For those who have not heard of it, FirePHP is both a Firefox add-on and a PHP library used to send messages to the Firebug console.

Installation of FirePHP was simple enough &#8211; install the add-on either [...]]]></description>
		<wfw:commentRss>http://codemill.studio-connect.com/2009/05/26/quick-php-debugging-with-firephp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joomla! Applications: The Basics</title>
		<link>http://codemill.studio-connect.com/2009/03/14/joomla-applications-the-basics/</link>
		<comments>http://codemill.studio-connect.com/2009/03/14/joomla-applications-the-basics/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 04:58:51 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Sites]]></category>
		<category><![CDATA[content management]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://codemill.studio-connect.com/?p=124</guid>
		<description><![CDATA[As I posted in a previous blog, the Gentle Beginnings site that I left over a half a year ago was 90% done, but was missing one core feature &#8211; the ability to post and read birthing stories.  Recently I revisited this site to add the birthing story component, and learned a couple of hard [...]]]></description>
		<wfw:commentRss>http://codemill.studio-connect.com/2009/03/14/joomla-applications-the-basics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Application Caching with Cache_Lite</title>
		<link>http://codemill.studio-connect.com/2009/03/02/application-caching-with-cache_lite/</link>
		<comments>http://codemill.studio-connect.com/2009/03/02/application-caching-with-cache_lite/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 03:49:58 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[site optimization]]></category>

		<guid isPermaLink="false">http://codemill.studio-connect.com/?p=95</guid>
		<description><![CDATA[When developing a web application using PHP, it is important to follow best practices for optimizing memory usage, database access, and file sizes.  All these thing taken into account for, you will likely still find parts of an application to be bulky, or you may find repeated data calls an unnecessary overhead.  When you need [...]]]></description>
		<wfw:commentRss>http://codemill.studio-connect.com/2009/03/02/application-caching-with-cache_lite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>To PHP or not to PHP&#8230;Let the Framework Debate Begin! (Part 1)</title>
		<link>http://codemill.studio-connect.com/2009/02/15/to-php-or-not-to-phplet-the-framework-debate-begin-part-1/</link>
		<comments>http://codemill.studio-connect.com/2009/02/15/to-php-or-not-to-phplet-the-framework-debate-begin-part-1/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 19:29:00 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[object-oriented programming]]></category>

		<guid isPermaLink="false">http://codemill.studio-connect.com/?p=65</guid>
		<description><![CDATA[While PHP Frameworks have become quite popular with web developers over the last two years, they have their drawbacks.  They can be bulky and/or bloated, bringing the simplest of tasks into a fold of dependencies and data calls.  They can be difficult to administrate remotely &#8211; if you use a shared host, some command-line configurations [...]]]></description>
		<wfw:commentRss>http://codemill.studio-connect.com/2009/02/15/to-php-or-not-to-phplet-the-framework-debate-begin-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
