<?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>PhilFreo.com &#187; PHP</title>
	<atom:link href="http://philfreo.com/blog/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://philfreo.com/blog</link>
	<description>The portfolio and blog of Phil Freo, on web design, development, and entrepreneurship.</description>
	<lastBuildDate>Mon, 18 Jan 2010 07:33:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>New Job with Startup: Old School Industries</title>
		<link>http://philfreo.com/blog/new-job-with-startup-old-school-industries/</link>
		<comments>http://philfreo.com/blog/new-job-with-startup-old-school-industries/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 00:47:53 +0000</pubDate>
		<dc:creator>Phil Freo</dc:creator>
				<category><![CDATA[California]]></category>
		<category><![CDATA[Collectors Weekly]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Quizlet]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://philfreo.com/blog/?p=275</guid>
		<description><![CDATA[I just accepted a full-time position at a small startup in San Francisco as a lead Developer and Product Manager.  The company is called Old School Industries LLC and is a combination of two businesses: Quizlet and Collectors Weekly.

I&#8217;ve been working with the founders, Dave Margulius and Andrew Sutherland (student at MIT), for around 6 [...]]]></description>
			<content:encoded><![CDATA[<p>I just accepted a full-time position at a small startup in San Francisco as a lead Developer and Product Manager.  The company is called Old School Industries LLC and is a combination of two businesses: <a href="http://quizlet.com/" target="_blank">Quizlet</a> and <a href="http://www.collectorsweekly.com/" target="_blank">Collectors Weekly</a>.</p>
<p><span id="more-275"></span></p>
<p>I&#8217;ve been working with the founders, <a href="http://www.linkedin.com/pub/dave-margulius/3/827/613" target="_blank">Dave Margulius</a> and <a href="http://quizlet.com/about/" target="_blank">Andrew Sutherland</a> (student at MIT), for around 6 months remotely and on short term trips as a contractor, and have now decided to accept an offer with the team full-time.  I&#8217;ll be responsible for developing new features on both websites, improving user experience, increasing monetization, and overall growing the businesses.</p>
<p><a href="http://quizlet.com/" target="_blank">Quizlet.com</a> is a studying website that lets students make flashcards online and study in a more effective and more fun way.  The site serves over a million students each month, has over 750,000 registered users, and has over 50 million user-generated flash cards.  As only the second developer on Quizlet, I&#8217;m excited to grow the website in huge ways and spend most of my time helping make studying better for a lot of people.</p>
<p><a href="http://www.collectorsweekly.com/" target="_blank">Collectors Weekly</a> is a resource for all things collecting, antiques, and vintage.  It&#8217;s a combination of great original content and providing tools to browse eBay in a better way (<a href="http://www.collectorsweekly.com/model-trains/auctions" target="_blank">SuperBrowse example</a>).  I just helped launched its new geo-targetted <a href="http://www.collectorsweekly.com/events" target="_blank">events section</a> and will spend about one third of my time developing new features for this site.</p>
<p>Both websites run on the LAMP stack.  I&#8217;ll be working heavily with Apache, PHP, JavaScript / Ajax, MySQL, Memcache, Sphinx, etc. to help grow traffic and features in a scalable way.  A decent number of the interesting technologies that I <a href="/blog/technologies-ive-worked-with-in-2009/">used for the first time in 2009</a> were a result of working with these guys.</p>
<p>This is an exciting time and a big opportunity for me as I&#8217;ll be able to significantly impact the growth and success of the startup.  It will also nice to be able to focus all my work attention in one direction rather than juggling many projects, as I&#8217;ve just <a href="/blog/graduation-thoughts-best-classes-at-uf-for-computer-engineering/">graduated</a> from UF and won&#8217;t be continuing freelance web work.  And of course, moving to San Francisco from Florida will be a big change and I&#8217;m excited, although I&#8217;ll still get to fly back every so often.  Wish me luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://philfreo.com/blog/new-job-with-startup-old-school-industries/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Book Review: &#8220;jQuery 1.3 with PHP&#8221;</title>
		<link>http://philfreo.com/blog/book-review-jquery-1-3-with-php/</link>
		<comments>http://philfreo.com/blog/book-review-jquery-1-3-with-php/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 07:30:59 +0000</pubDate>
		<dc:creator>Phil Freo</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://philfreo.com/blog/?p=255</guid>
		<description><![CDATA[I was given another book to review, called &#8220;jQuery 1.3 with PHP&#8221;, so here it is.  The book is aimed at beginners or intermediate developers wanting to learn how to &#8220;enhance your PHP applications by increasing their responsiveness through jQuery and its plugins&#8220;.

Chapter 1: Introduction &#38; Overview, Chapter 2: Quick Tricks &#8211; Good chapter to teach [...]]]></description>
			<content:encoded><![CDATA[<p>I was given another book to review, called &#8220;jQuery 1.3 with PHP&#8221;, so here it is.  The book is aimed at beginners or intermediate developers wanting to learn how to &#8220;<em>enhance your PHP applications by increasing their responsiveness through jQuery and its plugins</em>&#8220;.</p>
<p><span id="more-255"></span></p>
<p><strong>Chapter 1: Introduction &amp; Overview, Chapter 2: Quick Tricks</strong> &#8211; Good chapter to teach beginners to both JavaScript, jQuery, and PHP the differences between client-side and server-side code, and how the jQuery framework fits into it all.</p>
<p><strong>Chapter 3: Tabs and Accordions</strong> &#8211; At first this chapter looks to be nothing more than glorified examples of <a href="http://docs.jquery.com/UI">jQuery UI</a> Widgets, but later it actually does a nice job showing how PHP can be used with these widgets to do server-side management of the tabs.</p>
<p><strong>Chapter 4: Forms and Form Validation</strong> &#8211; Interesting and insightful way of validating forms (both on the client and server side, which is necessary) without having to duplicate all the validation rules.</p>
<p><strong>Chapter 5: File Management</strong>, <strong>Chapter 6: Calendars</strong> &#8211; Very specific examples, but Ch. 6 uses the very nice <a href="http://www.redredred.com.au/projects/jquery-week-calendar/">jquery-week-calendar</a> plugin to create an interface very similar to Google Calendar and shows how to link it up with PHP managing the events server-side.</p>
<p><strong>Chapter 7: Image Manipulation</strong> &#8211; Another nice example of bringing using both PHP and jQuery plugins (<a href="http://plugins.jquery.com/project/treeview">treeview</a> and <a href="http://deepliquid.com/content/Jcrop.html">jcrop</a>) to create something really useful.  In this case an image browser, resizer, rotator, and cropper.</p>
<p><strong>Chapter 8: Drag and Drop</strong> &#8211; Standard sorting/dragging examples + persisting data.</p>
<p><strong>Chapter 9: Data Tables</strong> &#8211; Using the <a href="http://datatables.net/">DataTables</a> jQuery plugin with PHP on very large data sets.</p>
<p><strong>Chapter 10: Optimization</strong> &#8211; A few helpful tips regarding caching, automatically merging .js source files, JavaScript code optimization, perceived user load times, etc.</p>
<p>Overall, if you&#8217;re a programmer not super familiar with PHP or JavaScript, this book does have some very helpful explanations with good examples.</p>
<p>One small gripe about the book: while I do know that black and white books are much cheaper to produce, reading code without syntax coloring makes it unnecessarily harder to understand.</p>
<p>To learn more or purchase: <a href="http://www.packtpub.com/jquery-1-3-with-php?utm_source=philfreo.com&#038;utm_medium=bookrev&#038;utm_content=blog&#038;utm_campaign=mdb_001650">&#8220;jQuery 1.3 with PHP&#8221; by Kae Verens</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://philfreo.com/blog/book-review-jquery-1-3-with-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ExpressionEngine: “Freo Add-on Installer” makes installing add-ons a breeze</title>
		<link>http://philfreo.com/blog/freo-addon-installer/</link>
		<comments>http://philfreo.com/blog/freo-addon-installer/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 06:00:39 +0000</pubDate>
		<dc:creator>Phil Freo</dc:creator>
				<category><![CDATA[ExpressionEngine]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://philfreo.com/blog/?p=143</guid>
		<description><![CDATA[I wrote my first module for ExpressionEngine, called &#8220;Freo Add-on Installer&#8221;, with the aim of saving EE developers a lot of time.  Here&#8217;s what it&#8217;s all about.

[Jump to Download/Installation Link]
Each time you set up a website with ExpressionEngine you probably want to install several different modules, extensions, and plugins.  Doing that usually involves downloading [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote my first module for ExpressionEngine, called &#8220;Freo Add-on Installer&#8221;, with the aim of <strong>saving EE developers a lot of time</strong>.  Here&#8217;s what it&#8217;s all about.</p>
<p><span id="more-143"></span></p>
<p>[<a href="#installation">Jump to Download/Installation Link</a>]</p>
<p>Each time you set up a website with ExpressionEngine you probably want to install several different modules, extensions, and plugins.  Doing that usually involves downloading a .zip file for each add-on, then individually unzipping and uploading each file/folder to the corresponding <span style="background-color: #dedede; font-size: 0.9em;">modules/</span>, <span style="background-color: #dedede; font-size: 0.9em;">extensions/</span>, <span style="background-color: #dedede; font-size: 0.9em;">plugins/</span>, <span style="background-color: #dedede; font-size: 0.9em;">language/</span>, and <span style="background-color: #dedede; font-size: 0.9em;">themes/</span> folders.<em> Then each time any add-on is updated, you have to repeat the process across all your websites.</em></p>
<p><strong>With my module,</strong> <strong>installing other add-ons is basically a one-click process</strong>.  You just visit the module page (shown below) and then either upload a .zip/.php file, or give it the URL to the source from the developer&#8217;s website.  Hit one button and my module takes the source file, extracts, and searches through the files and determines where each file/folder goes.</p>
<p>Screenshot:</p>
<p><img class="alignleft size-full wp-image-153" style="border: solid 1px #ccc;" title="Freo Add-on Installer for ExpressionEngine" src="http://philfreo.com/blog/wp-content/uploads/2009/10/screenshot1.png" alt="Freo Add-on Installer for ExpressionEngine" width="623" height="473" /></p>
<p>For example, if you just upload a .zip file that contains a folder for a module, a pi.someplugin.php, and a lang.someplugin.php, all of the files will get extracted and moved to their proper locations.  If it comes across a file it doesn&#8217;t understand, it will let you know.</p>
<p><strong>Requirements: </strong></p>
<ul>
<li>ExpressionEngine 1.6.8</li>
<li>PHP cannot be in Safe Mode</li>
<li>You may need to change permissions for a few folders if instructed</li>
</ul>
<p>These likely would only be a problem with some shared hosting companies. (If you need good <a href="/services/">ExpressionEngine hosting</a> let me know).</p>
<p><strong><a name="installation">Installation</a>:</strong></p>
<ol>
<li><strong>Download <a href="/blog/wp-content/uploads/2009/10/freo_addon_installer_1.2.zip">freo_addon_installer_1.2.zip</a></strong><strong> </strong>and unzip</li>
<li>Upload the <span style="background-color: #dedede; font-size: 0.9em;">freo_addon_installer/</span> folder to your <span style="background-color: #dedede; font-size: 0.9em;">system/modules/</span> folder</li>
<li>From the Modules page of your EE Control Panel, click &#8220;Install&#8221; next to &#8220;Freo Add-on Installer&#8221;</li>
<li>If you&#8217;re running a version of EE <strong>older</strong> than 1.6.8, copy <span style="background-color: #dedede; font-size: 0.9em;">freo_addon_installer/language/english/lang.freo_addon_installer.php</span> to <span style="background-color: #dedede; font-size: 0.9em;">system/languages/english/</span></li>
<li><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=8685097">Please donate to support development</a> of this and future add-ons.</li>
</ol>
<p><strong>Changes:</strong></p>
<ul>
<li><strong>v1.2 &#8211; </strong>Bug fixes (Oct. 25, 2009)</li>
<li><strong>v1.1</strong> &#8211; Fixed problem when URLs redirect, like on github download zip URLs.  Added better support for installing fieldtypes for Brandon Kelly&#8217;s <a href="http://brandon-kelly.com/fieldframe">FieldFrame</a> extension.  (Oct. 7, 2009)</li>
<li><strong>v1.0</strong> &#8211; Initial Release. (Oct. 7, 2009)</li>
</ul>
<p><strong>Ideas &amp; Plans:</strong></p>
<ul>
<li>Create a long list of known add-ons to choose from so that installing will truly be one-click and not require looking up a source .zip URL.</li>
<li>Integrate with LG Addon Updater so installing updates will be more of a breeze.</li>
</ul>
<p><strong>Feedback &amp; Support:</strong></p>
<p><strong></strong>If you encounter any problems or have any ideas for improvement at all please let me know. <strong>Leave a comment below and let me know how you like it. </strong><a href="http://expressionengine.com/forums/viewthread/131282/">This support thread</a> in the forums is the best place to resolve any problems you may have.</p>
<p><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=8685097">Please donate to support development</a> of this and future add-ons.</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="hosted_button_id" type="hidden" value="8685097" />
<input style="border:none !important;" alt="PayPal - The safer, easier way to pay online!" name="submit" src="https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif" type="image" /> <img src="https://www.paypal.com/en_US/i/scr/pixel.gif" border="0" alt="" width="1" height="1" /><br />
</form>
]]></content:encoded>
			<wfw:commentRss>http://philfreo.com/blog/freo-addon-installer/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Magento eCommerce &#8211; First Thoughts &amp; Tips</title>
		<link>http://philfreo.com/blog/magento-ecommerce-first-thoughts-tips/</link>
		<comments>http://philfreo.com/blog/magento-ecommerce-first-thoughts-tips/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 21:50:38 +0000</pubDate>
		<dc:creator>Phil Freo</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://philfreo.com/blog/?p=122</guid>
		<description><![CDATA[Magento is an incredible open-source PHP eCommerce platform built around the idea of flexibility, and has been gaining a huge amount of traction over the last 18 months.  Unlike &#8220;old&#8221; open-source solutions such as osCommerce, Magento was architected very carefully using OOP principles and MVC so that the entire system can be customized (both visually [...]]]></description>
			<content:encoded><![CDATA[<p><a title="a open-source PHP eCommerce platform" href="http://www.magentocommerce.com/">Magento</a> is an incredible <strong>open-source PHP eCommerce platform</strong> built around the idea of <strong>flexibility</strong>, and has been gaining a huge amount of traction over the last 18 months.  Unlike &#8220;old&#8221; open-source solutions such as osCommerce, Magento was architected very carefully using <em><abbr title="object-oriented programming">OOP</abbr> principles</em> and <em><abbr title="model view controller">MVC</abbr></em> so that the entire system can be customized (both visually and functionally) without having to modify core application files.  This ensures that future updates aren&#8217;t a pain, and that multiple extensions can live peacefully together.<br />
<span id="more-122"></span></p>
<p>I&#8217;ve been working with Magento for over a year now, and overall I&#8217;m <strong>extremely impressed</strong>.  The architecture of the system is certainly very complex, but once you start to poke around and understand why there are so many different directories and files, and how everything is organized, you&#8217;ll love the flexibility that it creates.</p>
<p>The biggest complaint of Magento is the <strong>lack of documentation. </strong>From the wiki pages, to user guides, to source code comments, the documentation is severely lacking and often out-of-date.  I hope this improves over time (I think it will).  What I&#8217;ve found is that you can eventually figure things out, but the learning curve is just a little steeper than it needs to be.  It is pretty necessary to understand many core concepts of Magento (how XML layout files are used, how data is stored, how template blocks and functionality interact, etc.) in order to correctly make even the simplest of changes.  But once you get it, you can do a lot.  I think the <abbr title="content management system">CMS</abbr> <a href="http://expressionengine.com/">ExpressionEngine</a> does extremely well at this, in comparison, and they are both products aimed at similar audiences.</p>
<p>When I started developing on top of the Magento platform, I kept a log of some of the help things that I learned along the way, that I wish I had known upfront.  Many of these tips seem obvious upon looking back, but I thought I&#8217;d share them for anyone just getting started programming or designing for Magento.</p>
<p><strong>For everybody:</strong></p>
<ul>
<li>Use the <a href="http://www.magentocommerce.com/wiki/">Wiki</a>, <a href="http://www.magentocommerce.com/knowledge-base">Knowledge Base</a>, and <a href="http://www.magentocommerce.com/boards">forums</a></li>
<li><strong>Don&#8217;t ever modify core Magento files!</strong> Seriously.  <a href="http://inchoo.net/ecommerce/magento/top-3-mistakes-by-magento-beginners/">This quick article</a> is a <strong>must read</strong> for all beginners.</li>
<li><strong>To upgrade to a new version of Magento:</strong> just upgrade all of the components by using <em>Magento Connect Manager</em>.  This is found in the admin&#8217;s System menu, or by adding /downloader to the Magento home page URL.</li>
<li><strong>To add Google Analytics:</strong> simply add your Analytics account profile&#8217;s tracking number under Config &gt; Google API</li>
<li><strong>To setup PayPal IPN</strong>: there is no need to change IPN settings in your PayPal account.  Magento automatically passes the IPN path with each checkout.</li>
<li><strong>Refresh the cache! </strong>If you make a change and wonder why it&#8217;s not showing up, use the dropdown on System &gt; Cache Management.  It&#8217;s helpful to disable the cache during development.</li>
<li>Learn how to <a href="http://www.magentocommerce.com/wiki/how-to/customize_part_of_configuration">customize via XML</a></li>
<li>After installing Magento with sample data and SEO URL rewrites, the same data shows up on the index page but many of the links are broken, even with my .htaccess file present.  Solution: Refresh catalog rewrites in Admin &gt; System &gt; Cache &gt; Refresh catalog rewrites</li>
<li><strong>Learn how to optimize and speed up Magento&#8217;s performance.</strong> It&#8217;s very slow by default but can be drastically improved. (I&#8217;ll be writing another blog post on this soon, but for now check out <a href="http://www.magentocommerce.com/boards/viewthread/36225/">this thread</a>.)</li>
</ul>
<p><strong>Design/theming tips:</strong></p>
<ul>
<li><strong>Read the <a href="http://www.magentocommerce.com/design_guide">Design Guide</a></strong></li>
<li><strong>To figure out which template file to edit:</strong> turn on &#8220;Template Path Hints&#8221; through System &gt; Configuration &gt; Advanced &gt; Developer &gt; Debug &gt; Template Path Hints = ON.  This option is <em>only</em> visible if you change the &#8220;Current Configuration Scope&#8221; dropdown to a website (like &#8220;Main Website&#8221;) rather than &#8220;Default Config&#8221;.</li>
<li><strong>To switch to a theme</strong> (such as &#8220;Modern&#8221;), after downloading it in Magento Connect Manager, go to System &gt; Design and then click &#8220;Add Design Change&#8221;.</li>
</ul>
<p><strong>Programming tips:</strong></p>
<ul>
<li><strong>Understand the <a href="http://www.magentocommerce.com/wiki/doc/magento-architecture">architecture</a></strong></li>
<li><strong>To d</strong><strong>ebug and output PHP variables</strong>: set System &gt; Configuration &gt; Advanced &gt; Developer &gt; Log Settings- &gt; Enabled = Yes.  Then, from a <abbr title="command line interface">CLI</abbr> in your web root do &#8220;cd var/log/&#8221; and &#8220;tail -f system.log&#8221;.  In PHP, you can say Mage::log(&#8221;hello world&#8221;); to write to this log.</li>
<li><strong>Locate the PHP error log</strong> when getting a blank/white page, or an error message.  Mine was in public_html/error_log.</li>
</ul>
<p>That&#8217;s all for now.  If you&#8217;re looking for a Magento designer or developer, <a href="/contact/">get in contact</a> with me.</p>
]]></content:encoded>
			<wfw:commentRss>http://philfreo.com/blog/magento-ecommerce-first-thoughts-tips/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Now I&#8217;m a PHP5 Zend Certified Engineer</title>
		<link>http://philfreo.com/blog/php5-zend-certified-engineer/</link>
		<comments>http://philfreo.com/blog/php5-zend-certified-engineer/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 03:15:40 +0000</pubDate>
		<dc:creator>Phil Freo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://philfreo.com/blog/?p=96</guid>
		<description><![CDATA[I had a few goals for this summer away from school.  I wanted to go to some tech conferences, check out more startups and web companies in both Silicon Valley and closer to home in Florida, and continue with my freelance development work.  I also decided I wanted to take the Zend PHP 5 Certification [...]]]></description>
			<content:encoded><![CDATA[<p>I had a few goals for this summer away from school.  I wanted to go to some <a href="http://philfreo.com/blog/category/io2009/">tech</a> <a href="http://2009.sf.wordcamp.org/">conferences</a>, check out more startups and web companies in both Silicon Valley and closer to home in Florida, and continue with my freelance development work.  I also decided I wanted to take the <a href="http://www.zend.com/en/services/certification/php-5-certification/">Zend PHP 5 Certification</a> test to learn more, see what I know, and to separate myself from every other kid who thinks they know PHP.</p>
<p><span id="more-96"></span></p>
<p>By the way, the thing I hate about PHP most is that, because it&#8217;s so easy to get started with, you can&#8217;t immediately differentiate between people who really know PHP (with a solid understanding of security issues, scalability, MVC, object-oriented programming, design patterns, etc.) and people who know just enough to be dangerous.  I&#8217;ve seen way too many websites written with PHP and HTML scattered together, SQL injection vulnerabilities, lack of code reusability, etc. This problem isn&#8217;t specific to PHP only, but I find the percentage of novice PHP developers to be <em>far</em> worse than, say, Ruby or Python developers.</p>
<p>So I looked through the &#8220;php|architect&#8217;s Zend PHP 5 Certification&#8221; study guide for the last couple days and took an online practice test.  I actually learned a lot of interesting things about PHP that I didn&#8217;t know – so it was a good experience.</p>
<p>Today I took the exam at a local testing center and am happy to announce that I am officially a PHP 5 Zend Certified Engineer (ZCE).</p>
<p><a href="http://zend.com/zce.php?c=ZEND011307&#038;r=231006815"><img src="http://static.zend.com/topics/php5-zce-logo-new.gif" alt="Zend Certified Engineer, PHP 5" /></a></p>
<p>By the way, if you&#8217;re looking to hire a good PHP developer, let me know (<a href="/resume/">resume is here</a>).  I graduate in December 2009.</p>
]]></content:encoded>
			<wfw:commentRss>http://philfreo.com/blog/php5-zend-certified-engineer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
