<?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"
	>

<channel>
	<title>KILLERPHP.COM</title>
	<atom:link href="http://www.killerphp.com/articles/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.killerphp.com/articles</link>
	<description>Dedicated to teaching web designers PHP.</description>
	<pubDate>Fri, 26 Jun 2009 16:21:11 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<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>
		</item>
		<item>
		<title>PHP Video: Improve your PHP skills by learning ANOTHER programming language.</title>
		<link>http://www.killerphp.com/articles/improve-your-php-skills-by-learning-another-programming-language/</link>
		<comments>http://www.killerphp.com/articles/improve-your-php-skills-by-learning-another-programming-language/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 07:28:41 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
		
		<category><![CDATA[PHP Videos]]></category>

		<category><![CDATA[php podcast]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=171</guid>
		<description><![CDATA[
In this video, I discuss how learning another programming language will make you a better PHP programmer. This may seem strange at first, but watch the video and you will see that I am not smoking anything &#8230;
Check out the video:


The major points:
Most modern programming languages:
- PHP
- Java
- Actionscript
- Javascript
- etc
&#8230; Share a common foundation, [...]]]></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>In this video, I discuss how learning another programming language will make you a better PHP programmer. This may seem strange at first, but watch the video and you will see that I am not smoking anything &#8230;</p>
<p>Check out the video:</p>
<p><span id="more-171"></span></p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/Z1mkB3az17Q&#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/Z1mkB3az17Q&#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><strong>The major points:</strong></p>
<p>Most modern programming languages:</p>
<p>- PHP<br />
- Java<br />
- Actionscript<br />
- Javascript<br />
- etc</p>
<p>&#8230; Share a common foundation, and as such, are very similar. Though similar, they all do things in their own unique ways. So for example, learning how to create classes in Actionscript 3.0 and then comparing this to how you would do it in PHP, is like looking at something from another angle.  </p>
<p><strong>Contrasting and Comparing Programming Languages</strong></p>
<p>Being able to compare languages this way, will give you insight into both languages that might take you much longer to learn otherwise. This is something I discovered years ago by accident, when I started to dive into Java &#8230; learning Java gave me a much deeper understanding of Javascript. It was a huge eye opener.</p>
<p><strong>Does that mean you should drop PHP?</strong></p>
<p>No! PHP is the Web programming language of the day. I would suggest you choose a second or third language that will compliment your day-to-day PHP work. For example, something like <a href="http://www.killerjavascript.com/">Javascript</a> so that you can get into Web 2.0, Ajax and libraries like JQuery. Or maybe Flash Actionscript, if you think you may want to get into rich internet applications. </p>
<p><strong>What?! Actionscript and PHP!</strong></p>
<p>You bet. Actionscript/Flash has been used with PHP for years. And now the connection is getting even deeper where <a href="http://www.zend.com/en/company/news/press/zend-to-collaborate-with-adobe">Flex Builder will be working with Zend</a>.</p>
<p><strong>Conclusion</strong></p>
<p>Whichever language you choose, by selecting something that is complementary to PHP, you will be killing two birds with one stone, as you deepen your overall programming knowledge.</p>
<p>Thanks,</p>
<p>Stefan Mischook</p>
<p>www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/improve-your-php-skills-by-learning-another-programming-language/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP Video: Why Zend instead of other PHP Frameworks?</title>
		<link>http://www.killerphp.com/articles/php-video-why-zend-instead-of-other-php-framework/</link>
		<comments>http://www.killerphp.com/articles/php-video-why-zend-instead-of-other-php-framework/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 02:21:40 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
		
		<category><![CDATA[Advanced PHP]]></category>

		<category><![CDATA[PHP Videos]]></category>

		<category><![CDATA[Zend-Framework]]></category>

		<category><![CDATA[php podcast]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=170</guid>
		<description><![CDATA[
Hi,
In response to my a recent podcast where I recommended that PHP programmers learn the Zend Framework,  I was asked why I choose Zend, rather than other PHP frameworks. 
The video:


Some notes:
Just in case you can&#8217;t stand listening me bather about this in my videocast, here are the bullet points:

Choose an MVC framework.
Choose a [...]]]></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 response to my a recent podcast where I recommended that <a href="http://www.killerphp.com/articles/php-video-the-zend-framework-and-web-20/">PHP programmers learn the Zend Framework</a>,  I was asked why I choose Zend, rather than other PHP frameworks. </p>
<p><strong>The video:</strong></p>
<p><span id="more-170"></span></p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/A1dmxvN6vRs&#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/A1dmxvN6vRs&#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>Some notes:</p>
<p>Just in case you can&#8217;t stand listening me bather about this in my videocast, here are the bullet points:</p>
<ul>
<li>Choose an MVC framework.</li>
<li>Choose a framework that is flexible.</li>
<li>Choose a framework that has a strong community backing it.</li>
</ul>
<p>The details to the above points are of course found in the videocast.</p>
<p><strong>HD videos are still a work in progress:</strong></p>
<p>I know the new video presentations need some polish - they are a work in progress. So I appreciate your patience with me as I work out my kinks. </p>
<p>Anyway, I hope you find them useful.</p>
<p>Stefan Mischook</p>
<p>www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/php-video-why-zend-instead-of-other-php-framework/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP Video: always MySQL with PHP?</title>
		<link>http://www.killerphp.com/articles/php-video-always-mysql-with-php/</link>
		<comments>http://www.killerphp.com/articles/php-video-always-mysql-with-php/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 18:55:07 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
		
		<category><![CDATA[Beginners PHP Articles]]></category>

		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=169</guid>
		<description><![CDATA[
Hi,
In this HD video (running time: 4:06), I answer a question put to me recently: 
Should you always use MySQL as your database when working with PHP?
Yes, this is a beginners question, I know. Nonetheless, it is a legitimate question that I think is worthy of comment. In answering this question though, I briefly talk [...]]]></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 HD video (running time: 4:06), I answer a question put to me recently: </p>
<blockquote><p>Should you always use MySQL as your database when working with PHP?</p></blockquote>
<p>Yes, this is a beginners question, I know. Nonetheless, it is a legitimate question that I think is worthy of comment. In answering this question though, I briefly talk about the other database options you have with PHP.</p>
<p><strong>The video:</strong></p>
<p><a href="http://www.killerphp.com/videos-2009/mysql-and-php.html">MySQL with PHP </a></p>
<p>Note: I am using Youtube&#8217;s new HD streaming capabilities as an experiment. This is 720p video so you should have a fast connection to watch it, or some patience. If you find the video is stuttering, just press &#8216;play&#8217;, then pause it and then give it a minute or two to download. </p>
<p>Thanks,</p>
<p>Stefan Mischook </p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/php-video-always-mysql-with-php/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP Video: the Zend Framework and Web 2.0.</title>
		<link>http://www.killerphp.com/articles/php-video-the-zend-framework-and-web-20/</link>
		<comments>http://www.killerphp.com/articles/php-video-the-zend-framework-and-web-20/#comments</comments>
		<pubDate>Tue, 26 May 2009 20:09:37 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
		
		<category><![CDATA[PHP Videos]]></category>

		<category><![CDATA[php podcast]]></category>

		<category><![CDATA[Zend-Framework]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=168</guid>
		<description><![CDATA[
Hi,
I just released a new PHP video podcast where I answer a few questions put to me about php. I answer these questions:
1. Do you need to learn the Zend Framework?
2. Do you need a PHP certificate?
3. How does PHP fit into Web 2.0.
I am using a totally new format for this video and would [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="lightbox" href='http://www.killerphp.com/articles/wp-content/uploads/2008/09/video-wheel.png'><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" /></a><br />
Hi,</p>
<p>I just released a new <a href="http://www.killerphp.com/videos-2009/php-zend-web-2.html">PHP video podcast</a> where I answer a few questions put to me about php. I answer these questions:</p>
<p>1. Do you need to learn the Zend Framework?<br />
2. Do you need a PHP certificate?<br />
3. How does PHP fit into Web 2.0.</p>
<p>I am using a totally new format for this video and would appreciate your comments, good and bad about it.</p>
<p>Thanks,</p>
<p>Stefan Mischook</p>
<p>www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/php-video-the-zend-framework-and-web-20/feed/</wfw:commentRss>
		</item>
		<item>
		<title>I&#8217;m back bearing the gift of Javascript.</title>
		<link>http://www.killerphp.com/articles/im-back-bearing-the-gift-of-javascript/</link>
		<comments>http://www.killerphp.com/articles/im-back-bearing-the-gift-of-javascript/#comments</comments>
		<pubDate>Sun, 17 May 2009 18:53:12 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
		
		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=167</guid>
		<description><![CDATA[
Hi,
I&#8217;ve been away for a little while and I just haven&#8217;t had the time to post anything new to the blog. OK, it is probably more of a question of pure laziness on my part I admit. But I&#8217;m back and hopefully will have some interesting new PHP stuff for you guys very soon.
In the [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="lightbox" href='http://www.killerphp.com/articles/wp-content/uploads/2008/09/video-wheel.png'><img src="http://www.killerphp.com/articles/wp-content/uploads/2008/09/video-wheel.png" alt="video tutorial" title="video-wheel" width="65" height="65" class="alignright size-full wp-image-154" /></a><br />
Hi,</p>
<p>I&#8217;ve been away for a little while and I just haven&#8217;t had the time to post anything new to the blog. OK, it is probably more of a question of pure laziness on my part I admit. But I&#8217;m back and hopefully will have some interesting new PHP stuff for you guys very soon.</p>
<p>In the meantime, I just started releasing a new series of <a href="http://www.killerjavascript.com/">videos on beginners Javascript</a>. Like the PHP basics videos, I am targeting beginners to Javascript in this new series. </p>
<p>There are a few differences about these videos when compared to my PHP videos:</p>
<ol>
<li>I am using a larger capture size 800&#215;600 - the videos dimensions are bigger.</li>
<li>I am using a new clearer mic. The same mic that Howard Stern uses.</li>
<li>The volume should be much louder.</li>
</ol>
<p>So if you had trouble hearing or seeing the PHP videos &#8230; (for the visually impaired or inebriated) these new Javascript videos should be easier to watch. There are about 10 videos for you to watch at this time.</p>
<p>Hope you guys find them useful.</p>
<p>Stefan Mischook</p>
<p>www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/im-back-bearing-the-gift-of-javascript/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Wordpress Themes Video Tutorial</title>
		<link>http://www.killerphp.com/articles/new-wordpress-themes-video-tutorial/</link>
		<comments>http://www.killerphp.com/articles/new-wordpress-themes-video-tutorial/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 21:31:25 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
		
		<category><![CDATA[News]]></category>

		<category><![CDATA[PHP Videos]]></category>

		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=166</guid>
		<description><![CDATA[
Hi,
I just released a new video course on how to create a Wordpress theme/template from scratch.
About the video:
Video Synopsis - Building a Simple WordPress Theme
In these 12 videos, we will take someone with some beginner HTML and CSS skills through the steps needed to build a WordPress template from scratch. The videos use only a [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.killerphp.com/articles/wp-content/uploads/2008/09/video-wheel.png" alt="video tutorial" title="video-wheel" width="65" height="65" class="alignright size-full wp-image-154" /></p>
<p>Hi,</p>
<p>I just released a new video course on how to create a <a href="http://www.killersites.com/wordpress/wordpress-themes-tutorial.php">Wordpress theme/template from scratch</a>.</p>
<p><strong>About the video:</strong></p>
<blockquote><p><strong>Video Synopsis - Building a Simple WordPress Theme</strong></p>
<p>In these 12 videos, we will take someone with some beginner HTML and CSS skills through the steps needed to build a WordPress template from scratch. The videos use only a collection of freely downloadable tools that are available on Windows and Mac. </p>
<p>The goal of this set is to focus on the different files used in a functional WordPress template and how they all work together to build a unified design that is extensible and driven as much as possible from the WordPress blogging framework. </p>
<p>Included in this set is the construction of a dynamic top-level navigation, a widget-friendly sidebar, a customized search form and a specially-designed home page.</p>
<p>It is assumed that the viewer understands HTML and a bit of CSS. A basic understanding of PHP is helpful, but not required.</p>
<p>While its best to follow along, the project files are included in this video.</p></blockquote>
<p>Those who know me, know that I am a big believer that both PHP programmers and web designers, should learn at least one CMS or blog software package. I jumped into the Wordpress camp a while back for a bunch of reasons:</p>
<p>- It&#8217;s popular.<br />
- It&#8217;s easy to use.<br />
- It&#8217;s easy to customize.</p>
<p>&#8230; And it is built with PHP. </p>
<p>Regardless, learning to create templates for Wordpress will help you with your PHP skills because you will learn about how PHP can be used to build a templating system. </p>
<p>Thanks for reading,</p>
<p>Stefan Mischook</p>
<p>www.killerphp.com<br />
www.killersites.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/new-wordpress-themes-video-tutorial/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Podcast: Structuring PHP Projects</title>
		<link>http://www.killerphp.com/articles/podcast-structuring-php-projects/</link>
		<comments>http://www.killerphp.com/articles/podcast-structuring-php-projects/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 22:35:04 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
		
		<category><![CDATA[php podcast]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=163</guid>
		<description><![CDATA[In the following podcast I go over the key factor when determining how to structure a PHP project.
In a nutshell, it comes down to the size and complexity of the job. For the details, listen to me yap:
php-podcast-project-structure
Thanks,
Stefan Mischook
www.killerphp.com
]]></description>
			<content:encoded><![CDATA[<p>In the following podcast I go over the key factor when determining how to structure a PHP project.</p>
<p>In a nutshell, it comes down to the size and complexity of the job. For the details, listen to me yap:<br />
<a target="podcast" href='http://www.killerphp.com/articles/wp-content/uploads/2008/11/php-podcast-project-structure.mp3'>php-podcast-project-structure</a></p>
<p>Thanks,</p>
<p>Stefan Mischook</p>
<p>www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/podcast-structuring-php-projects/feed/</wfw:commentRss>
<enclosure url="http://www.killerphp.com/articles/wp-content/uploads/2008/11/php-podcast-project-structure.mp3" length="7042671" type="audio/mpeg" />
		</item>
		<item>
		<title>Free PDF Chapter: PHP5 CMS Framework Development</title>
		<link>http://www.killerphp.com/articles/free-pdf-chapter-php5-cms-framework-development/</link>
		<comments>http://www.killerphp.com/articles/free-pdf-chapter-php5-cms-framework-development/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 17:42:33 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
		
		<category><![CDATA[PHP Books]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=160</guid>
		<description><![CDATA[
Hi,
The people at Packt Publishing just sent me a free sample chapter (in PDF format) of their latest PHP book (PHP5 CMS Framework Development) for me to pass on to you guys. 
I haven&#8217;t had a chance to read the book, so I can&#8217;t comment on it. If any of you have, please feel free [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.killerphp.com/articles/wp-content/uploads/2008/10/php5-cms-book.png" alt="PHP5 CMS Book" style="float: right; margin: 15px;" /><br />
Hi,</p>
<p>The people at Packt Publishing just sent me a free sample chapter (in PDF format) of their latest PHP book (PHP5 CMS Framework Development) for me to pass on to you guys. </p>
<p>I haven&#8217;t had a chance to read the book, so I can&#8217;t comment on it. If any of you have, please feel free to post a comment.</p>
<p><strong>The PDF:</strong></p>
<p> <a href='http://www.killerphp.com/articles/wp-content/uploads/2008/10/php-5-cms-framework-development-sample-chapter-chapter-6-access-control.pdf'>PHP5 CMS Framework Development - Chapter 6 Access Control.</a></p>
<p>-</p>
<p>PHP5 CMS Framework Development </p>
<p>This book guides you through the design and implementation decisions necessary to create a working architecture for a PHP5-based content management system. Each of the major areas and decision points are reviewed and discussed. Code examples, which take advantage of PHP5&#8217;s object oriented nature, are provided and explained. They serve as a means of illustrating the detailed development issues created by a CMS. In areas where the code is too voluminous to be reproduced in detail, the design principles are explained along with some critical pieces of code. A basic knowledge of PHP is assumed. </p>
<p><span id="more-160"></span></p>
<p>All of the code samples are taken from a frozen version of the Aliro development project, and you can visit a site running on that version at http://packt.aliro.org. Apart from being a demonstration of the code in action, the site provides access to the whole of the code both through a class browser, built using Doxygen and a code repository, powered by Subversion. </p>
<p><strong>What This Book Covers </strong></p>
<p>Chapter 1: This chapter introduces the reasons why CMS frameworks have become such a widely used platform for websites and defines the critical features. The technical environment is considered, in particular the benefits of using PHP5 for a CMS. Some general questions about MVC, XHTML generation, and security are reviewed. </p>
<p>Chapter 2: This chapter takes us from a general overview of the CMS framework into the specifics of user management. Every CMS-based site needs to make distinctions between different types of user, if only between administrators and visitors. Often the requirements are much more complex. The framework can provide a sound platform on which more elaborate mechanisms can be built </p>
<p>Chapter 3: This chapter explores class and code loading strategies to decrease bloat and increase security. Focus is placed on extensible approaches that can support additions to the system. </p>
<p>Chapter 4: This chapter addresses and dispels the mystique of session management. Very often continuity is needed, whether it is to support user login, or to allow the operation of something like a shopping cart. The standard way to handle this is with sessions, and we look at ways to provide a robust and secure basis for session handling. </p>
<p>Chapter 5: This chapter provides a basis for effective data handling in the applications that use our CMS framework. The heart of a CMS is its database, and although PHP can connect to databases, we look at services that can be built to make access easier. Likewise, a standard abstract class for data objects corresponding to database rows can considerably aid the development of the rest of the CMS. </p>
<p>Chapter 6: This chapter shows an outline of a highly flexible role-based access control system. The culmination of much research and experimentation into access control mechanisms is the role-based access control system. We look at an implementation specifically designed for the CMS environment. </p>
<p>Chapter 7: This chapter focusses on defining a uniform architecture to support functionality that is actually visible to the user. One of the reasons for building a CMS is to use the same code repeatedly. But it will often be desirable to add another application to the framework, and for this we need to look at standardized mechanisms for installing and managing extensions. </p>
<p>Chapter 8: This chapter helps us gain efficiency by building specialized handlers. A powerful way to make a CMS more efficient is to use a cache. This can be done in various ways, and we look at the most profitable and at efficient code for their implementation. </p>
<p>Chapter 9: This chapter shows how the CMS framework can provide all the basic mechanisms for menu handling. While the styling of the menu, or equivalent navigational device, is outside the core of a CMS framework, we can look at standard mechanisms for handling the raw data that drives menus. If this is done well, building attractive displays will be much easier. </p>
<p>Chapter 10: In more and more cases, software needs to cater for use of different languages and other local standards. The CMS is no exception, and here we explore a powerful mechanism for language and locale hand </p>
<p>Chapter 11: How best to create the final XHTML is an area rife with controversy. In this chapter, we will look at the strengths and weaknesses of approaches such as templating and widgets, along with the code needed to create them. </p>
<p>Chapter 12: This chapter describes the basic principles of a generalized configuration system. There are a number of small but important services that are well provided by a CMS framework. We look at mail, file system management, XML handling, and several others. </p>
<p>Chapter 13: This chapter reviews the handling of the inevitable errors that go with software systems. Error handling is an area where a good CMS framework can be very helpful to applications by trapping and logging errors, making it relatively easy to present user friendly messages and avoid giving away information that would compromise security. </p>
<p>Chapter 14: The actual content that is organized by a CMS may be extremely varied. In this chapter, we look at the most popular areas with a brief review of the implementation issues for each. Less significant areas are discussed in outline. A simple text handling application is described in some detail to illustrate the principles involved, and ways in which it could be made more sophisticated are discussed. </p>
<p>Appendix A: This appendix describes how to create the setup files that are used by the install.</p>
<p>-</p>
<p>Thanks,</p>
<p>Stefan Mischook</p>
<p>www.killerphp.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/free-pdf-chapter-php5-cms-framework-development/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to Build a Content Management System</title>
		<link>http://www.killerphp.com/articles/how-to-build-a-content-management-system/</link>
		<comments>http://www.killerphp.com/articles/how-to-build-a-content-management-system/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 00:47:40 +0000</pubDate>
		<dc:creator>Stefan Mischook</dc:creator>
		
		<category><![CDATA[Beginners PHP Articles]]></category>

		<category><![CDATA[Editorial]]></category>

		<guid isPermaLink="false">http://www.killerphp.com/articles/?p=158</guid>
		<description><![CDATA[OK, I just tricked you! This article is not going to teach you how to build a content management system with PHP from scratch. 
Why not? 
&#8230; Because building a content management system from scratch is (probably) a really dumb idea!! Now that I come to think about it, building any of the most commonly [...]]]></description>
			<content:encoded><![CDATA[<p>OK, I just tricked you! This article is not going to teach you how to build a content management system with PHP from scratch. </p>
<p>Why not? </p>
<p>&#8230; Because building a content management system from scratch is (probably) a really dumb idea!! Now that I come to think about it, building any of the most commonly used software from scratch, is kinda stupid. </p>
<p>Things you should not build from scratch:</p>
<ul>
<li>Content Management Systems</li>
<li>Blog Software</li>
<li>Forums</li>
<li>Directory scripts</li>
</ul>
<p><strong>The Top 3 Rules in Programming</strong></p>
<p>The real estate business has a famous set of rules - the top three rules in fact:</p>
<ol>
<li>Location</li>
<li>Location</li>
<li>Location</li>
</ol>
<p>The idea behind this rule, is to stress how important location is to a piece of property. In software development (programming), we have a similar set of key rules:</p>
<ol>
<li>Reuse</li>
<li>Reuse</li>
<li>Reuse</li>
</ol>
<p><span id="more-158"></span></p>
<p>Yes, if you are a smart and experienced programmer, you know that the first thing you do when someone approaches you with a project, is to fire up Google to check if someone else has already built something that is at least similar to what you want to create.</p>
<p>&#8230; Simply stated, it is crazy to reinvent the wheel and build something that has already been created. Especially within the context of building a program to help support some business. What I mean by that is, that unless you are building a piece of software as the core of a business, where the software itself is the business, then you should not be starting from scratch. It&#8217;s just too expensive.</p>
<p>Lucky for us PHP nerds, there is a huge collection of open source, free and nearly free software out there created in PHP. Things like the above mentioned blogs, cms&#8217;, forums etc &#8230; have been created many times over by teams of adventurous nerds. Given that fact, it makes even less sense to build these things yourself, just because you need one for your website.</p>
<p><strong>Don&#8217;t ask me how to build a CMS!</strong><br />
No, instead of trying to build these (typically) big and complicated programs from scratch, you should download a proven mature product where they have already worked out many of the bugs and spent the hundreds of hours refining them. </p>
<p><strong>Suggestions:</strong></p>
<p>A good blog software: <a href="http://wordpress.org/">http://wordpress.org/</a></p>
<p><strong>Forums: </strong></p>
<p><a href="http://www.phpbb.com/">http://www.phpbb.com/</a><br />
<a href="http://fluxbb.org/">http://fluxbb.org/</a><br />
<a href="http://punbb.informer.com/">http://punbb.informer.com/</a><br />
<a href="http://www.vbulletin.com/">http://www.vbulletin.com/</a><br />
<a href="http://www.invisionpower.com/community/board/features.html">http://www.invisionpower.com/community/board/features.html</a></p>
<p><strong>CMS</strong></p>
<p><a href="http://drupal.org/">http://drupal.org/</a><br />
<a href="http://expressionengine.com/">http://expressionengine.com/</a><br />
<a href="http://www.cmsmadesimple.org/">http://www.cmsmadesimple.org/</a></p>
<p>Believe me, there are many more out there. </p>
<p>Thanks for reading,</p>
<p>Stefan Mischook</p>
<p>www.killerphp.com<br />
www.killersites.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.killerphp.com/articles/how-to-build-a-content-management-system/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
