<?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>KILLERPHP.COM &#187; Object Oriented PHP</title>
	<atom:link href="http://www.killerphp.com/articles/category/object-oriented-php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.killerphp.com/articles</link>
	<description>Dedicated to teaching web designers PHP.</description>
	<lastBuildDate>Wed, 25 Jan 2012 21:28:46 +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>New Video Tutorial: Build A Content Management System</title>
		<link>http://www.killerphp.com/articles/new-video-tutorial-build-a-content-management-system/</link>
		<comments>http://www.killerphp.com/articles/new-video-tutorial-build-a-content-management-system/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 16:44:09 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[CMS Videos]]></category>
		<category><![CDATA[CMS and Blogs]]></category>
		<category><![CDATA[Object Oriented PHP]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=1400</guid>
		<description><![CDATA[
I am happy to announce yet another screencast tutorial for all you nerds out there: Build A Content Management System. 
OK, not the most exciting title, but still an exciting course for those PHP nerds who want to go from PHP basics and get into building a full-fledged PHP application from scratch. 
Learn how to [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.killerphp.com/articles/wp-content/uploads/2011/06/boxshot-buildacms.png" alt="" title="boxshot-build-a-cms" width="259" height="255" class="size-full wp-image-1401" style="float: right; margin: 10px;" /></p>
<p>I am happy to announce yet another screencast tutorial for all you nerds out there: Build A Content Management System. </p>
<p>OK, not the most exciting title, but still an exciting course for those PHP nerds who want to go from PHP basics and get into building a full-fledged PHP application from scratch. </p>
<blockquote><p>Learn how to build a content management system that provides a website all the tools needed to allow basic web users to manage the website content with ease. Over 6.5 hours of tutorials over 41 videos!</p></blockquote>
<p><strong>Here are some details about the video tutorial:</strong></p>
<p>This course is aimed at intermediate level web developers, demonstrating how to build a basic PHP based content management system that uses object oriented programming techniques and implements the MVC pattern. </p>
<p>Along the way, I cover a wide range of technologies, including HTML and CSS, a bit of javascript/jQuery/AJAX and PHP/MySQLi. I also show how to integrate Colorbox (a jquery plugin) and TinyMCE (for the WYSIWYG functionality.)</p>
<p>Read more: <a href="http://www.killersites.com/community/index.php?/blog/5/entry-34-build-a-content-management-system-course-completed/">Building a PHP based CMS</a></p>
<p>Check out the <a href="http://www.killervideostore.com/video-courses/build-a-cms.php">CMS course sample videos</a></p>
<p>Thanks,</p>
<p>Stefan Mischook</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/new-video-tutorial-build-a-content-management-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP OOP Basics Video on Creating Classes and Class Sizes</title>
		<link>http://www.killerphp.com/articles/php-oop-basics-video-on-creating-classes-and-class-sizes/</link>
		<comments>http://www.killerphp.com/articles/php-oop-basics-video-on-creating-classes-and-class-sizes/#comments</comments>
		<pubDate>Tue, 10 May 2011 10:00:57 +0000</pubDate>
		<dc:creator>Jody</dc:creator>
				<category><![CDATA[Object Oriented PHP]]></category>
		<category><![CDATA[PHP Videos]]></category>
		<category><![CDATA[basics]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=1321</guid>
		<description><![CDATA[In this video blog, Stefan answers a couple of basic questions on PHP classes.

For more information on Web Programming, check out the Killersites Video Tutorial Library!
Note that all of our videos are in a higher quality when purchased from our Killer Video Store or by subscription to our Video Tutorial Library!
Thanks,
Jody
Killersites.com
]]></description>
			<content:encoded><![CDATA[<p>In this video blog, <a href="http://www.killersites.com/about/">Stefan</a> answers a couple of basic questions on PHP classes.</p>
<p><object width="550" height="350"><param name="movie" value="http://www.youtube.com/v/X7CsFPvXR8o?fs=1&amp;hl=en_US&amp;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/X7CsFPvXR8o?fs=1&amp;hl=en_US&amp;rel=0" type="application/x-shockwave-flash" width="550" height="350" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>For more information on <a href="http://www.killervideostore.com/video-courses/complete-web-programmer.php">Web Programming</a>, check out the <a href="http://www.killersites.com/university/">Killersites Video Tutorial Library!</a></p>
<p>Note that all of our videos are in a higher quality when purchased from our <a href="http://www.killervideostore.com/">Killer Video Stor</a>e or by subscription to our Video Tutorial Library!</p>
<p>Thanks,</p>
<p>Jody<br />
Killersites.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/php-oop-basics-video-on-creating-classes-and-class-sizes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New PHP course on building a CMS is out!</title>
		<link>http://www.killerphp.com/articles/new-php-course-on-building-a-cms-is-out/</link>
		<comments>http://www.killerphp.com/articles/new-php-course-on-building-a-cms-is-out/#comments</comments>
		<pubDate>Mon, 02 May 2011 02:39:21 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Object Oriented PHP]]></category>
		<category><![CDATA[PHP Videos]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=1316</guid>
		<description><![CDATA[Hi,
I just wanted to mention a couple of changes in the video library:
- we have a new course: New PHP course: Build a Content Management System.
- we now simplified to the subscriber types to just two: Standard (3 month) and Premium (1 year)
Check out the details:

That&#8217;s all for now.
Stefan Mischook
killersites.com
]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>I just wanted to mention a couple of changes in the video library:</p>
<p>- we have a new course: <a href="http://www.killersites.com/community/index.php?/blog/5/entry-33-new-php-course-build-a-content-management-system/">New PHP course: Build a Content Management System.</a><br />
- we now simplified to the subscriber types to just two: Standard (3 month) and Premium (1 year)</p>
<p>Check out the details:</p>
<p><a href="http://www.killersites.com/university/"><img src="http://www.killersites.com/blog/wp-content/uploads/2011/05/Screen-shot-2011-05-01-at-10.01.35-PM.png" alt="video library subscription types" title="web design video library subscription types" width="530" height="345" class="alignnone size-full wp-image-2311" /></a></p>
<p>That&#8217;s all for now.</p>
<p>Stefan Mischook<br />
killersites.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/new-php-course-on-building-a-cms-is-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What are ORM Frameworks?</title>
		<link>http://www.killerphp.com/articles/what-are-orm-frameworks/</link>
		<comments>http://www.killerphp.com/articles/what-are-orm-frameworks/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 20:14:07 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Advanced PHP]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Object Oriented PHP]]></category>
		<category><![CDATA[PHP Videos]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=428</guid>
		<description><![CDATA[
In the following article we will learn a few things about ORM frameworks:

What they are.
What they do.
When and why to use them.
And finally, what ORM options PHP&#8217;ers have.

Let&#8217;s start &#8230;
If you&#8217;re working with PHP, you will certainly find yourself working with relational databases (like MySQL) sooner or later. Anyone who has ever built a reasonably [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.killerphp.com/articles/wp-content/uploads/2009/12/031.png" alt="Database Image" title="Database Image" width="128" height="128" class="alignright size-full wp-image-471" /></p>
<p>In the following article we will learn a few things about ORM frameworks:</p>
<ul>
<li>What they are.</li>
<li>What they do.</li>
<li>When and why to use them.</li>
<li>And finally, what ORM options PHP&#8217;ers have.</li>
</ul>
<p><strong>Let&#8217;s start &#8230;</strong></p>
<p>If you&#8217;re working with PHP, you will certainly find yourself working with relational databases (like MySQL) sooner or later. Anyone who has ever built a reasonably complex web application knows, that the SQL can get really hairy at times &#8211; especially when you consider all the data filtering that you have to deal with! </p>
<p><strong>ORM frameworks to the rescue!</strong></p>
<p>ORM is yet another nerd-acronym, it is short for Object Relational Mapping. In a nutshell, an ORM framework is written in an object oriented language (like PHP, Java, C# etc&#8230;) and it is designed to virtually wrap around a relational database. If you look at the name (ORM), it basically translates into: mapping objects to relational tables.</p>
<p>There are many different competing ORM frameworks out there, because many nerds have their own ideas as to how to best do things &#8211; nothing new here! But you know what, some of these nerds are right &#8230; not all ORM frameworks are created equal. </p>
<p><span id="more-428"></span></p>
<p><img src="http://www.killerphp.com/articles/wp-content/uploads/2009/12/orm-framework.png" alt="orm-framework" title="orm-framework" width="186" height="283" class="alignright size-full wp-image-487" /></p>
<p><strong>OK, but what does an ORM framework do?</strong></p>
<p>Basically, the ORM framework/software generates objects (as in OOP) that virtually map (like the map of a city) the tables in a database. Then you as a programmer, would use these objects to interact with the database. So the main idea, is to try and shield the programmer from having to write optimized SQL code &#8211; the ORM generated objects take care of that for you. So let&#8217;s take a look at a simple example:</p>
<p>Say for instance you had a database with two tables:</p>
<ul>
<li>Clients</li>
<li>Products</li>
</ul>
<p>With a little bit of configuration on your part, the ORM framework would then create corresponding objects (say, clients_object and products_object) that would handle all the database interaction. So let&#8217;s say you need to add a new client to the database, you would just have to use the ORM&#8217;s clients_object to add the new client. </p>
<p>For example, it could be as simple as calling the object&#8217;s &#8217;save()&#8217; method:</p>
<p><code>client = new clients_object("Stefan","Mischook");<br />
client.save();</code></p>
<p>The above of course, is just pseudo code, mainly because the syntax will vary from ORM framework and from language to language. But hopefully you get the general idea of how much easier an ORM framework can make things (no SQL!) .. not to mention how much cleaner your application&#8217;s code will be.</p>
<p><strong>Some other advantages of using ORM frameworks</strong></p>
<p>1. Harmonization of data types between the OO language (in our case, PHP) and the SQL database. All relational databases use data types for each of the fields, for example: int, small int, blob, char etc. The thing is, that sometimes you have to convert the data types on the fly to properly add a record to the database. A good ORM will take care of these details for you.</p>
<p>2. Using an ORM will create a consistent code base for your application since much (if not all) of the code used to interact with the database will be PHP &#8211; no SQL code to mess things up. This makes it easier to write and debug your application, especially if you have more programmers on a job.</p>
<p>3. ORM frameworks will shield your application from SQL injection attacks since the framework will be filtering the data for you.</p>
<p>4. Database Abstraction; I am a little hesitant to make this point because in practice, over the last 10-15 years, I have only seen it once where we switched databases on an application. That said, ORM will make this much easier since it takes care of writing all the SQL code, data type conversions etc &#8230; </p>
<p><strong>When to use an ORM framework?</strong></p>
<p>From my personal experience, an ORM framework becomes more useful as the size and complexity of the project increases. If you just have a simple database with say 5 tables and 5-6 queries &#8230; setting up an ORM framework may be overkill.  I would start considering the use of ORM when:</p>
<ul>
<li>You have 3 or more programmers on a web application.</li>
<li>Your database consist of 10+ tables.</li>
<li>You have say 10+ queries to make.</li>
</ul>
<p><strong>ORM frameworks can&#8217;t do it all</strong></p>
<p>If you think that using an ORM framework will allow you to forget SQL and never have to look back, think again. Once you jump into the ORM world, you will find that about 80-90% of your queries can be handled by the ORM generated objects. It is inevitable that at some point you will need to drop down and use some SQL or some SQL like query language.  </p>
<p>In fact, ORM frameworks often have their own *QL query language that looks a lot like SQL. Doctrine, a popular PHP based ORM framework has DQL (Doctrine Query Language) and the very popular Hibernate (used in the Java and .Net world) has HQL. Going even further, Hybernate allows you to write straight SQL if need be.  </p>
<p>Despite the need for a SQL like language in ORM frameworks, they can still be very valuable tools in your PHP work.</p>
<p><strong>ORM Frameworks for PHP programmers</strong></p>
<p>Not an exhaustive list, but here are a few ORM frameworks to consider:</p>
<ul>
<li><a href="http://www.doctrine-project.org/">Doctrine</a></li>
<li>Part of the cool Zend Framework <a href="http://framework.zend.com/manual/en/zend.db.html">Zend Db</a></li>
<li><a href="http://cakephp.org/">CakePHP has ORM</a> built into it.</li>
<li><a href="http://www.redbeanphp.com/">RedBean</a> ORM without configuration!</li>
</ul>
<p>Thanks for reading,</p>
<p>Stefan Mischook<br />
www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/what-are-orm-frameworks/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Live Webinar on Google Wave and the Zend Framework</title>
		<link>http://www.killerphp.com/articles/live-webinar-on-google-wave-and-the-zend-framework/</link>
		<comments>http://www.killerphp.com/articles/live-webinar-on-google-wave-and-the-zend-framework/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 16:31:29 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Advanced PHP]]></category>
		<category><![CDATA[Object Oriented PHP]]></category>
		<category><![CDATA[PHP Videos]]></category>
		<category><![CDATA[Zend-Framework]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=362</guid>
		<description><![CDATA[Hi Guys,
My good buddy and right-hand-nerd, Jon is being flown down to do a live webinar for the Zend geeks at Intuit. It seems the accounting giant has recognized Jon&#8217;s ability to take the complex and make it seem simple.
Just in case you don&#8217;t know, Jon is the author of our crazy cool shopping cart [...]]]></description>
			<content:encoded><![CDATA[<p>Hi Guys,</p>
<p>My good buddy and right-hand-nerd, Jon is being flown down to do a live webinar for the Zend geeks at Intuit. It seems the accounting giant has recognized Jon&#8217;s ability to take the complex and make it seem simple.</p>
<p>Just in case you don&#8217;t know, Jon is the author of our crazy cool <a href="http://www.killerphp.com/tutorials/shopping-cart-tutorial/">shopping cart tutorial</a> and our new series on <a href="http://www.killerphp.com/tutorials/advanced-php/">advanced PHP</a>. </p>
<p>&#8230; Jon is starting to realize that my choice to go with the Zend Framework a few years ago made sense. Actually, it made dollars and cents!</p>
<p> <img src='http://www.killerphp.com/articles/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>OK, bad nerd humor &#8230; I know. I&#8217;m just low on material that isn&#8217;t profanity laced.</p>
<p>If you want to know WHY, after looking at all the other PHP frameworks out there, that I thought the Zend Framework was the best choice long term (even back when Zend was still in Beta) .. you&#8217;re going to have to ask! </p>
<p>Anyway here is the official announcement:</p>
<blockquote><p>Jon Lebensold, author of the popular <a href="http://www.killerphp.com/tutorials/shopping-cart-tutorial/">PHP Shopping Cart</a> and founder of <a href="http://www.zendcasts.com">Zendcasts.com</a> will be writing a Google Wave Gadget in Boston at Intuit&#8217;s East coast office. Intuit is setting up a live webinar which you can attend by <a href="http://zendcasts.com/googlewave-quickbase-zend/">registering on the Zendcasts website</a>.</p>
<p>Zendcasts.com began this year with the hope of assisting intermediate PHP developers further their Zend Framework skills. If you&#8217;re a PHP developer interested in building apps on Google Wave or want to watch someone build an AJAX application with web services like Google Wave and Intuit&#8217;s QuickBase, this free webinar will be worth spending a lunch hour at your desk.</p>
<p>The webinar takes place <strong>Wednesday, November 18 at 12:00 (noon) Eastern Standard Time (GMT -05:00)</strong>.<a href="http://zendcasts.com/googlewave-quickbase-zend/">Register online now</a>.</p></blockquote>
<p>Here&#8217;s the banner:</p>
<p><img src="http://www.killerphp.com/articles/wp-content/uploads/2009/11/qb-gwave-promo.jpg" alt="qb-gwave-promo" title="qb-gwave-promo" width="300" height="240" /></p>
<p>Just in case you are not familiar with <a href="http://quickbase.intuit.com">Quickbase</a> &#8230; just click on the link.</p>
<p>That&#8217;s it for today. But coming soon, I will have some pretty big news &#8230; actually, the biggest thing to come to killerphp.com since we ordered that huge pizza! Ok, even bigger than that!!</p>
<p> <img src='http://www.killerphp.com/articles/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Stefan Mischook<br />
www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/live-webinar-on-google-wave-and-the-zend-framework/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Getting into PHP6 and Advanced PHP Concepts Part 7</title>
		<link>http://www.killerphp.com/articles/getting-into-php6-and-advanced-php-concepts-part-7/</link>
		<comments>http://www.killerphp.com/articles/getting-into-php6-and-advanced-php-concepts-part-7/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 16:55:51 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Advanced PHP]]></category>
		<category><![CDATA[Object Oriented PHP]]></category>
		<category><![CDATA[PHP Videos]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=356</guid>
		<description><![CDATA[Hi,
In our never ending quest for pure PHP nerdness, we continue our look at advanced PHP. This is video 7 of a series of videos where we explore PHP6 and other advanced PHP concepts, concepts often seen in PHP frameworks like Zend, PHP Cake and others. 
The video:

More to come.
Stefan Mischook
www.killerphp.com
]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>In our never ending quest for pure PHP nerdness, we continue our look at advanced PHP. This is video 7 of a series of videos where we explore PHP6 and other advanced PHP concepts, concepts often seen in PHP frameworks like Zend, PHP Cake and others. </p>
<p><strong>The video:</strong></p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/YTAdjIE5Wkk&#038;hl=en&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/YTAdjIE5Wkk&#038;hl=en&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>More to come.</p>
<p>Stefan Mischook<br />
www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/getting-into-php6-and-advanced-php-concepts-part-7/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Getting into PHP6 and Advanced PHP Concepts Part 2</title>
		<link>http://www.killerphp.com/articles/getting-into-php6-and-advanced-php-concepts-part-2/</link>
		<comments>http://www.killerphp.com/articles/getting-into-php6-and-advanced-php-concepts-part-2/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 12:25:06 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Advanced PHP]]></category>
		<category><![CDATA[Object Oriented PHP]]></category>
		<category><![CDATA[PHP Videos]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=332</guid>
		<description><![CDATA[
Hi everyone,
As promised, here is my second installment of our new PHP video tutorial course that covers more advanced PHP subjects including:
- PHP 6
- Advanced PHP architectures seen in PHP frameworks like Zend, CakePHP etc …
- Magic methods
- anonymous functions
- namespaces
Etc …
The second video:

Just in case you missed it, here is the link to the [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.killerphp.com/articles/wp-content/uploads/2009/10/boxshot-advphp.jpg" alt="boxshot-advphp" title="boxshot-advphp" width="190" height="200" class="alignright size-full wp-image-326" /></p>
<p>Hi everyone,</p>
<p>As promised, here is my second installment of our new PHP video tutorial course that covers more advanced PHP subjects including:</p>
<p>- PHP 6<br />
- Advanced PHP architectures seen in PHP frameworks like Zend, CakePHP etc …<br />
- Magic methods<br />
- anonymous functions<br />
- namespaces</p>
<p>Etc …</p>
<p>The second video:</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/JFNTX7QwQzA&#038;hl=en&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/JFNTX7QwQzA&#038;hl=en&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>Just in case you missed it, here is the link to the first part of <a href="http://www.killerphp.com/articles/getting-into-php6-and-advanced-php-concepts-part-1/">Getting into PHP6</a>.</p>
<p>Thanks for watching,</p>
<p>Stefan Mischook<br />
www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/getting-into-php6-and-advanced-php-concepts-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting into PHP6 and Advanced PHP Concepts Part 1</title>
		<link>http://www.killerphp.com/articles/getting-into-php6-and-advanced-php-concepts-part-1/</link>
		<comments>http://www.killerphp.com/articles/getting-into-php6-and-advanced-php-concepts-part-1/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 21:31:09 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Advanced PHP]]></category>
		<category><![CDATA[Object Oriented PHP]]></category>
		<category><![CDATA[PHP Videos]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=316</guid>
		<description><![CDATA[
Hi everyone!
I&#8217;m back again (after my big move across town) and this time, I&#8217;ve got a new set of PHP video tutorials! 
&#8230; Yes, people started to wonder why killerphp.com had a bunch of Javascript videos coming out; shouldn&#8217;t those videos belong on killerjavascript.com!?
  
Anyway, I am happy to announce our new set of [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.killerphp.com/articles/wp-content/uploads/2009/10/boxshot-advphp.jpg" alt="boxshot-advphp" title="boxshot-advphp" width="190" height="200" class="alignright size-full wp-image-326" /></p>
<p>Hi everyone!</p>
<p>I&#8217;m back again (after my big move across town) and this time, I&#8217;ve got a new set of PHP video tutorials! </p>
<p>&#8230; Yes, people started to wonder why killerphp.com had a bunch of Javascript videos coming out; shouldn&#8217;t those videos belong on killerjavascript.com!?</p>
<p> <img src='http://www.killerphp.com/articles/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Anyway, I am happy to announce our new set of PHP videos that cover more advanced PHP subjects including:</p>
<p>- PHP 6<br />
- Advanced PHP architectures seen in PHP frameworks like Zend, CakePHP etc &#8230;<br />
- Magic methods<br />
- anonymous functions<br />
- namespaces</p>
<p>Etc &#8230;</p>
<p>The ultimate goal of these techniques is to learn how we can write more compact PHP code.</p>
<p>The first video:</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/v72L3VjLxuE&#038;hl=en&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/v72L3VjLxuE&#038;hl=en&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>That&#8217;s all for now.</p>
<p>&#8230; Now if only I can figure out why my new external drive is clicking?</p>
<p>Stefan Mischook<br />
www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/getting-into-php6-and-advanced-php-concepts-part-1/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>What makes a professional programmer?</title>
		<link>http://www.killerphp.com/articles/what-makes-a-professional-programmer/</link>
		<comments>http://www.killerphp.com/articles/what-makes-a-professional-programmer/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 13:15:08 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Advanced PHP]]></category>
		<category><![CDATA[Object Oriented PHP]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=176</guid>
		<description><![CDATA[I recently got an email question put to me by someone wanting to know what makes a professional programmer:
Since I have started my career, I have been working for managers who really don&#8217;t know how to program. I have been improving myself through tutorials and books. However, I still don&#8217;t know whether i&#8217;m a good [...]]]></description>
			<content:encoded><![CDATA[<p>I recently got an email question put to me by someone wanting to know what makes a professional programmer:</p>
<blockquote><p>Since I have started my career, I have been working for managers who really don&#8217;t know how to program. I have been improving myself through tutorials and books. However, I still don&#8217;t know whether i&#8217;m a good programmer or just better than the guys i&#8217;m working with.</p>
<p>Can you tell me what makes a good programmer? Better yet, please tell me what level should a PHP programmer be at after three years of development?</p></blockquote>
<p><strong>The short answer:</strong></p>
<p>A good programmer is able to put out clean code that works and is easy to update. Simplicity is a sign of professionalism in any profession or discipline. </p>
<p>In the same email, he continues to ask:</p>
<blockquote><p>
Can you give me a list of books or subjects I should know by now (three years of development). Any advice you give would be much appreciated.</p></blockquote>
<p>Beyond PHP basics (and the core functionality), I would suggest that PHP programmers should work to learn the following:</p>
<ol>
<li>Object Oriented PHP</li>
<li>Learn about design patterns. Important ones include: MVC, decorators and factories.</li>
<li>Learn an MVC framework like the Zend Framework or PHPCake etc &#8230;</li>
<li>Get deeper into PHP; understand how it works under the hood. This will help you later on when trying to decided how to most effectively build applications.</li>
</ol>
<p><strong>Notes:</strong></p>
<p>Like any other language, PHP sometimes gives you a few ways to do the same thing. It makes sense to learn the advantages and disadvantages of each for the sake of optimized code. For example, PHP provides a few different ways to interface with MySQL &#8230; you have the classic libs but you also have new object oriented methods.</p>
<p>When it comes to learning design patterns, it might be easier to learn a PHP framework at the same time. Why? Many of these frameworks often times provide great examples of popular design patterns.</p>
<p><strong>Final comment:</strong></p>
<p>Though the above is ideal, I&#8217;ve have seen many PHP programmers who don&#8217;t have half the skills I mention above, but were still effective programmers who got the job done.</p>
<p>Stefan Mischook</p>
<p>www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/what-makes-a-professional-programmer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP Video: Controllers in MVC</title>
		<link>http://www.killerphp.com/articles/php-video-controllers-in-mvc/</link>
		<comments>http://www.killerphp.com/articles/php-video-controllers-in-mvc/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 03:06:42 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
				<category><![CDATA[Advanced PHP]]></category>
		<category><![CDATA[Object Oriented PHP]]></category>
		<category><![CDATA[PHP Videos]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=172</guid>
		<description><![CDATA[
Hi,
In this video, I talk a little about the MVC design pattern with special attention to the middle layer in MVC: the &#8216;controller&#8217;.
A few points:
- MVC is short for Model View Controller
- The Controller is the part that brokers the communication between the View and the Model.
- The Controller is the throw-away part in MVC.
Watch [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.killerphp.com/articles/wp-content/uploads/2008/09/video-wheel.png" alt="php video " title="video-wheel" width="65" height="65" class="alignright size-full wp-image-154" /></p>
<p>Hi,</p>
<p>In this video, I talk a little about the MVC design pattern with special attention to the middle layer in MVC: the &#8216;controller&#8217;.</p>
<p>A few points:</p>
<p>- MVC is short for Model View Controller<br />
- The Controller is the part that brokers the communication between the View and the Model.<br />
- The Controller is the throw-away part in MVC.</p>
<p>Watch the video for more details.</p>
<p><span id="more-172"></span></p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/Vgv1NlNHmcQ&#038;hl=en&#038;fs=1&#038;rel=0&#038;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Vgv1NlNHmcQ&#038;hl=en&#038;fs=1&#038;rel=0&#038;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
<p>Stefan Mischook<br />
www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/php-video-controllers-in-mvc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

