<?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>PHP Musings &#187; PHP</title>
	<atom:link href="http://www.charles-reace.com/blog/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.charles-reace.com/blog</link>
	<description>Random thoughts about PHP, MySQL, and life in general</description>
	<lastBuildDate>Tue, 13 Jul 2010 22:48:55 +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>Undoing Magic Quotes</title>
		<link>http://www.charles-reace.com/blog/2010/07/13/undoing-magic-quotes/</link>
		<comments>http://www.charles-reace.com/blog/2010/07/13/undoing-magic-quotes/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 22:48:20 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[array_walk_recursive]]></category>
		<category><![CDATA[create_function]]></category>
		<category><![CDATA[magic quotes]]></category>

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=280</guid>
		<description><![CDATA[The often maligned (and rightfully so) magic_quotes_gpc &#8220;feature&#8221; of PHP can be problematic, especially if you are trying to develop scripts for general consumption on any platform. A brief example of the sort of problem it can cause is that if it is turned on and you do not undo its addition of back-slash escape [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2010/07/13/undoing-magic-quotes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book Review: CodeIgniter 1.7 Professional Development</title>
		<link>http://www.charles-reace.com/blog/2010/06/08/book-review-codeigniter-1-7-professional-development/</link>
		<comments>http://www.charles-reace.com/blog/2010/06/08/book-review-codeigniter-1-7-professional-development/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 04:09:04 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[OOP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[CodeIgniter]]></category>

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=268</guid>
		<description><![CDATA[I was recently provided a review copy of CodeIgniter 1.7 Professional Development by Adam Griffith (Packt Publishing). It claims that it will help the reader &#8220;Become a CodeIgniter expert with professional tools, techniques and  extended libraries.&#8221; As someone who has used CodeIgniter and found it to be very useful, I was looking forward to [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2010/06/08/book-review-codeigniter-1-7-professional-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Object Iteration in PHP 5</title>
		<link>http://www.charles-reace.com/blog/2010/06/01/object-iteration-in-php-5/</link>
		<comments>http://www.charles-reace.com/blog/2010/06/01/object-iteration-in-php-5/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 04:30:52 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[OOP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[iterator]]></category>
		<category><![CDATA[object]]></category>

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=262</guid>
		<description><![CDATA[PHP 5 gives us the ability to iterate through objects much as we can with arrays, such as with the foreach() loop construct. I knew this ability existed but had not really looked into it or made use of it. However as a result of a thread at PHPBuilder.com, I thought this might be a [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2010/06/01/object-iteration-in-php-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good News / Bad News</title>
		<link>http://www.charles-reace.com/blog/2010/03/21/good-news-bad-news/</link>
		<comments>http://www.charles-reace.com/blog/2010/03/21/good-news-bad-news/#comments</comments>
		<pubDate>Sun, 21 Mar 2010 05:21:43 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[built-in functions]]></category>
		<category><![CDATA[tmpfile]]></category>

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=259</guid>
		<description><![CDATA[The good news: PHP has lots and lots of useful built-in functions for all sorts of things.
The bad news: PHP has lots and lots of useful built-in functions I don&#8217;t know about.
Sometimes it&#8217;s almost an embarrassment of riches. You think you know PHP pretty well and know how to write some pretty slick code. In [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2010/03/21/good-news-bad-news/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beginners&#8217; Corner: Variable Function Parameters</title>
		<link>http://www.charles-reace.com/blog/2010/01/25/beginners-corner-variable-function-parameters/</link>
		<comments>http://www.charles-reace.com/blog/2010/01/25/beginners-corner-variable-function-parameters/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 04:19:47 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[Beginners' Corner]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[args]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[parameter]]></category>

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=252</guid>
		<description><![CDATA[Sometimes when defining a function in PHP, you find that there may be cases where you do not want to specify all the possible parameters when calling it. This could be because you want it to use a default value, or that in certain cases it does not logically apply. If you find yourself in [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2010/01/25/beginners-corner-variable-function-parameters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book List App: One Query to Rule Them All</title>
		<link>http://www.charles-reace.com/blog/2009/12/10/book-list-app-one-query-to-rule-them-all/</link>
		<comments>http://www.charles-reace.com/blog/2009/12/10/book-list-app-one-query-to-rule-them-all/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 08:58:12 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[booklist]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[duplicate key]]></category>
		<category><![CDATA[insert]]></category>

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=246</guid>
		<description><![CDATA[I got side-tracked from working on this project for awhile, but I am trying to get back to it now.
One thing I needed to address was that for many of the database tables I would have situations where a user supplies some data, and if it already exists in the table then I just need [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2009/12/10/book-list-app-one-query-to-rule-them-all/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Memory Usage in PHP GD Image Functions</title>
		<link>http://www.charles-reace.com/blog/2009/11/18/memory-usage-in-php-gd-image-functions/</link>
		<comments>http://www.charles-reace.com/blog/2009/11/18/memory-usage-in-php-gd-image-functions/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 01:32:16 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[GD]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[memory]]></category>

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=243</guid>
		<description><![CDATA[When working with the PHP GD Image functions, memory usage can become a serious issue. Where PHP developers often stumble is in not realizing that the various imagecreate*() functions create a bitmap in memory with data for each and every pixel. Therefore a source JPEG file that is only a few tens of kilobytes in [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2009/11/18/memory-usage-in-php-gd-image-functions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Beginners&#8217; Corner: Learning Object-Oriented PHP</title>
		<link>http://www.charles-reace.com/blog/2009/10/27/beginners-corner-learning-object-oriented-php/</link>
		<comments>http://www.charles-reace.com/blog/2009/10/27/beginners-corner-learning-object-oriented-php/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 03:39:58 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[Beginners' Corner]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[classes]]></category>
		<category><![CDATA[objects]]></category>

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=231</guid>
		<description><![CDATA[I often see PHP newbies (and even not-so-newbies) who are confused by the world of object-oriented programming (OOP). At least part of this confusion results from the vast majority of introductory books and tutorials for PHP beginning by teaching procedural programming techniques, treating OOP as an &#8220;advanced&#8221; subject with a chapter or two at the [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2009/10/27/beginners-corner-learning-object-oriented-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Implementing a Database-based Session-handler</title>
		<link>http://www.charles-reace.com/blog/2009/10/20/implementing-a-database-based-session-handler/</link>
		<comments>http://www.charles-reace.com/blog/2009/10/20/implementing-a-database-based-session-handler/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 23:46:35 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[OOP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[session-handler]]></category>

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=221</guid>
		<description><![CDATA[While I&#8217;ve been using the database session data handler in the CodeIgniter framework for some time, upon reading this thread at PHPBuilder forums I decided it was time to write my own. In part I just wanted to gain a more thorough understanding of the process, and I also figured I could use it some [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2009/10/20/implementing-a-database-based-session-handler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book List App: Using Auto-Suggest with CodeIgniter</title>
		<link>http://www.charles-reace.com/blog/2009/09/22/book-list-app-using-auto-suggest-with-codeigniter/</link>
		<comments>http://www.charles-reace.com/blog/2009/09/22/book-list-app-using-auto-suggest-with-codeigniter/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 19:22:08 +0000</pubDate>
		<dc:creator>Charles</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[auto-complete]]></category>
		<category><![CDATA[auto-suggest]]></category>
		<category><![CDATA[book list]]></category>
		<category><![CDATA[CodeIgniter]]></category>

		<guid isPermaLink="false">http://www.charles-reace.com/blog/?p=217</guid>
		<description><![CDATA[I had a couple fields on the form for adding authors/books to the DB for which I wanted to use an &#8220;auto-suggest&#8221; feature via JavaScript; one of those things where after you start typing it pops up a list of matching choices from which you can select the one you want. After trying several different [...]]]></description>
		<wfw:commentRss>http://www.charles-reace.com/blog/2009/09/22/book-list-app-using-auto-suggest-with-codeigniter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
