<?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>David Kuhta &#187; BambooInvoice</title>
	<atom:link href="http://davidkuhta.com/tag/bambooinvoice/feed/" rel="self" type="application/rss+xml" />
	<link>http://davidkuhta.com</link>
	<description></description>
	<lastBuildDate>Sat, 13 Mar 2010 15:56:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Open Source PHP Framework &#8211; CodeIgniter</title>
		<link>http://davidkuhta.com/2010/02/open-source-php-framework-codeigniter/</link>
		<comments>http://davidkuhta.com/2010/02/open-source-php-framework-codeigniter/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 08:22:28 +0000</pubDate>
		<dc:creator>David Kuhta</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[BambooInvoice]]></category>
		<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[EllisLab]]></category>
		<category><![CDATA[Model-View-Controller]]></category>
		<category><![CDATA[open source applications]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP Framework]]></category>
		<category><![CDATA[rapid application development]]></category>
		<category><![CDATA[Web application framework]]></category>

		<guid isPermaLink="false">http://davidkuhta.com/?p=261</guid>
		<description><![CDATA[A look into CodeIgniter, an Open Source PHP framework that lays a foundation for Web application development according to the model-view-controller software architecture philosophy.]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fdavidkuhta.com%252F2010%252F02%252Fopen-source-php-framework-codeigniter%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FbQ6khW%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Open%20Source%20PHP%20Framework%20-%20CodeIgniter%22%20%7D);"></div>
<p style="text-align: justify;"><img class="alignright" style="border: 0px; padding: 0px 0px 5px 10px;" title="Codeigniter Logo" src="http://static.flickr.com/4041/4329753987_bab5da6bee.jpg" alt="" width="200px" height="160px" />PHP is currently the <a id="aptureLink_Pt6F2GNOH4" href="http://www.tiobe.com/content/paperinfo/tpci/images/tpci_trends.png">3rd most popular coding language</a> according to the <a id="aptureLink_rwoCOKu34J" href="http://en.wikipedia.org/wiki/Measuring%20programming%20language%20popularity">TIOBE Index</a> and accounts for over 10% of the of cumulative search hits for any given programming language across Google, Google Blogs, MSN, Yahoo!, Wikipedia and YouTube. In the age of <a id="aptureLink_RzeGiZ408U" href="http://en.wikipedia.org/wiki/Rapid%20application%20development"><em>rapid application development</em></a>, a <a id="aptureLink_1vv4f2iE93" href="http://en.wikipedia.org/wiki/Web%20application%20framework">web application framework</a> can greatly assist in the construction of a PHP application.  This is exactly where <a id="aptureLink_M9RdXccSN8" href="http://en.wikipedia.org/wiki/EllisLab">EllisLab</a>&#8216;s CodeIgniter comes into play. Not a huge proponent of frameworks, the creator of PHP, <a id="aptureLink_BMZhj1ZLLX" href="http://en.wikipedia.org/wiki/Rasmus%20Lerdorf">Rasmus Lerdorf</a> , liked CodeIgniter &#8220;because it is faster, lighter, and the least like a framework.&#8221;  Accordingly, CodeIgniter provides a PHP developers with <em>a set of tools</em> to utilize in construction of their web application.</p>
<h3>So What Does CodeIgniter Do?</h3>
<p style="text-align: justify;"><img class="alignleft" style="border: 0px; padding: 20px 0px;" title="Woodworking Tools" src="http://static.flickr.com/13/18454981_6bfedc0420.jpg" alt="" width="200px" height="150px" />In short, &#8220;give you the tools and groundwork to write PHP programs.&#8221; CodeIgniter reduces the amount of overhead and foundational programming required to construct a Web application by providing developers with a logically constructed set of libraries for common tasks in addition to a simple interface. Furthermore, CodeIgniter leverages its small footprint and thorough documentation to facilitate rapid deployment of a PHP Web application.</p>
<h3>How Does CodeIgniter Work?</h3>
<p style="text-align: justify;">CodeIgniter holds loosely to the Model-View-Controller approach to application architecture, striking a middle-ground between strict convention and no framework at all, while maintaining the separation of presentation and logic. An installation of CodeIgniter contains an application framework that would utilize this systematic flow of data:</p>
<p><a id="aptureLink_egQviKj8gK" style="margin-top: 0px; margin-right: auto; margin-bottom: 0px; margin-left: auto; text-align: center; display: block; padding-top: 0px; padding-right: 6px; padding-bottom: 0px; padding-left: 6px;" href="http://codeigniter.com/user_guide/images/appflowchart.gif"><img style="border: 0px initial initial;" title="CodeIgniter Application Data Flow Chart" src="http://codeigniter.com/user_guide/images/appflowchart.gif" alt="" width="500px" height="147px" /></a></p>
<h4>What makes CodeIgniter different?</h4>
<ul>
<li>Controller functions will denote paths and routes &gt; <code>example.com/<dfn><span style="color: #339966;">class</span></dfn>/<samp><span style="color: #800080;">function</span></samp>/<var><span style="color: #ff9900;">id</span></var>/</code></li>
<li>Data related concepts are placed in models</li>
<li>Models are not required &#8211; An understandably contentious point for MVC purists</li>
<li>Views control everything visible to the end user</li>
</ul>
<h4>Architectural Goals*:</h4>
<ul>
<li><strong>Dynamic Instantiation.</strong> In CodeIgniter, components are loaded and routines executed only when requested, rather than globally. No assumptions are made by the system regarding what may be needed beyond the minimal core resources, so the system is very light-weight by default. The events, as triggered by the HTTP request, and the controllers and views you design will determine what is invoked.</li>
<li><strong>Loose Coupling.</strong> Coupling is the degree to which components of a system rely on each other. The less components depend on each other the more reusable and flexible the system becomes. Our goal was a very loosely coupled system.</li>
<li><strong>Component Singularity.</strong> Singularity is the degree to which components have a narrowly focused purpose. In CodeIgniter, each class and its functions are highly autonomous in order to allow maximum usefulness.</li>
</ul>
<p>*Denoted in the <a id="aptureLink_5bkhIXgHlf" href="http://codeigniter.com/user_guide/overview/goals.html">User Guide</a></p>
<h3>How Can CodeIgniter Help Me?</h3>
<p style="text-align: justify;">In providing a robust set of Web application tools, CodeIgniter allows you to focus on developing the intricacies of your application and saves you the headache of starting from scratch. For both the budding and advanced PHP developer, a framework rapidly speeds up the development process.  On the other hand, knowledge of the CodeIgniter architecture will also alllow you to customize open source applications built using CodeIgniter.</p>
<h4>From a development standpoint CodeIgniter <em>will</em> help you if your looking for any or all of these:</h4>
<ul>
<li style="text-align: justify;"><strong>Apache/BSD-style open source license</strong> :: Free to use as you wish.</li>
<li style="text-align: justify;"><strong>Light-Weight &amp; Fast</strong> :: Core system needs only a few libraries and others are loaded dynamically based on your applications requests.</li>
<li style="text-align: justify;"><strong>M-V-C Architecture</strong> :: Separate application presentation and logic.</li>
<li style="text-align: justify;"><strong>Clean URLS</strong> :: Search friendly segmented approach</li>
<li style="text-align: justify;"><strong>Robust</strong> :: Packed full of libraries that enable common tasks (Database, email delivery, form data validation, session maintenance, image manipulation) and more.</li>
<li style="text-align: justify;"><strong>Extensible</strong> :: Plugins and helper libraries available in addition to class extensions or system hooks.</li>
<li style="text-align: justify;"><strong>No Template Engine <em>Required</em></strong> ::  A simple template parser is included but not necessary.</li>
<li style="text-align: justify;"><strong>Documentation</strong> :: Source Code is extremely well documented and an <em>extensive</em> &#8220;User Guide&#8221; is available both online and included with the source code.</li>
<li style="text-align: justify;"><strong>Community</strong> :: A large, friendly group of CodeIgniters help, teach, and collaborate in the CodeIgniter Community Forums.</li>
</ul>
<h4>Example applications &amp; sites built with CodeIgniter:</h4>
<ul>
<li style="text-align: justify;"><a id="aptureLink_gmKmlXoQoh" style="padding-top: 0px; padding-right: 6px; padding-bottom: 0px; padding-left: 6px; display: inline !important;" href="http://images.google.com/images?q=tbn:sNT8wGavkPO7SM:https://secure.expressionengine.com/images/store_ee2.gif"><img class="alignright" style="border: 0px;" title="ExpressionEngine Logo" src="http://images.google.com/images?q=tbn:sNT8wGavkPO7SM:https://secure.expressionengine.com/images/store_ee2.gif" alt="" width="86px" height="79px" /></a>Content Management System :: <a id="aptureLink_Cpp4MVt1B1" href="http://expressionengine.com/">ExpressionEngine</a></li>
<li style="text-align: justify;">Invoice Management :: <a id="aptureLink_PrVLfcbwI7" href="http://blog.worldlabel.com/wp-content/myfiles/2009/03/bambooinvoice.png">BambooInvoice</a>*</li>
<li style="text-align: justify;">Room Bookings :: <a id="aptureLink_MZ4JtRCbyz" href="http://classroombookings.com/">Classroombookings</a>*</li>
<li style="text-align: justify;">Help System &amp; Documentation :: <a id="aptureLink_jkztdBBzYw" href="http://68kb.com/">Knowledge Base Script</a>*</li>
<li style="text-align: justify;">Social Network :: <a id="aptureLink_zUSV1BcHzT" href="http://www.wittygraphy.com/">Wittygraphy</a></li>
<li style="text-align: justify;">Blog :: <a id="aptureLink_oIvJvBcwcK" href="http://www.open-blog.info/index.php">Open Blog</a>*</li>
<li style="text-align: justify;">Q&amp;A Site :: <a id="aptureLink_MDYIxvCsud" href="http://mindzinger.com/answers/home">MindZinger</a></li>
<li style="text-align: justify;">Stock Portfolio Analysis :: <a id="aptureLink_eEsxYE52E3" href="http://www.stockalicious.com/">Stockalicious</a></li>
</ul>
<p>*<em>source code available</em></p>
<h3>How Do I use CodeIgniter?</h3>
<p style="text-align: justify;">Assuming you&#8217;ve already searched for &#8220;&lt;Your application function&gt; CodeIgniter&#8221; (why reinvent the wheel?) and your looking to develop your own PHP Web application on CodeIgniter:</p>
<ul>
<li style="text-align: justify;">Download the latest version of <a id="aptureLink_uHlZZPJg2Z" href="http://codeigniter.com/downloads/">CodeIgniter</a></li>
<li style="text-align: justify;">Follow the <a id="aptureLink_fA1MN3xUd6" href="http://codeigniter.com/user_guide/installation/index.html">installation instructions</a> from the User Guide</li>
<li style="text-align: justify;">Print Copies of the <a id="aptureLink_04W4TBbJDx" href="http://codeigniter.com/user_guide/images/codeigniter_1.7.1_library_reference.pdf">CodeIgniter Cheatsheets</a></li>
<li style="text-align: justify;">Get coding!</li>
</ul>
<h4>Still looking for help?</h4>
<ul>
<li style="text-align: justify;">Watch the official CodeIgniter <a id="aptureLink_ULGHKHqoXY" href="http://codeigniter.com/tutorials/watch/intro/">Intro</a> and <a id="aptureLink_So2hNNIA2s" href="http://codeigniter.com/tutorials/watch/blog/">Create Blog in 20 Minutes</a> tutorial videos</li>
<li style="text-align: justify;">Check out the <a id="aptureLink_2srUz4O1wY" href="http://codeigniter.com/user_guide/">CodeIgniter User Guide</a></li>
<li style="text-align: justify;">Check out the <a id="aptureLink_sbGfpiVcm6" href="http://codeigniter.com/wiki/">CodeIgniter Wiki</a></li>
<li style="text-align: justify;">Ask for help in the <a id="aptureLink_nFGFFi7zmF" href="http://codeigniter.com/forums/">CodeIgniter Forums</a></li>
<li style="text-align: justify;">Check out the Source Code from some of the applications listed above.</li>
<li style="text-align: justify;">Order a copy of <em><a id="aptureLink_0YcWjHaoGj" href="http://www.packtpub.com/files/9485-codeigniter-1-7-sample-chapter-3-%20navigating-your-site.pdf">CodeIgniter 1.7</a> </em>by <a id="aptureLink_HfBzC2ulNY" href="http://twitter.com/jose_argudo">Jose Argudo</a></li>
<li style="text-align: justify;">Check out <a id="aptureLink_KieYQDYwGU" href="http://www.2expertsdesign.com/tutorials/codeigniter-framework-tutorials-for-php-application">40+ CodeIgniter Framework Tutorials</a></li>
</ul>
<p style="text-align: justify;"><strong>Note</strong>: EllisLab provides the community with special non-staff position called the <a id="aptureLink_qE4tdJZvkZ" href="http://codeigniter.com/forums/viewannounce/85513_49/">CodeIgniter Community Chieftain</a> (currently <a id="aptureLink_GUPPvEKe3P" href="http://twitter.com/jamierumbeloW">Jamie Rumbelow</a>) who &#8220;helps maintain the forums, wiki, and the bug tracker, and acts as a public liaison to the EllisLab development team when necessary.&#8221;</p>
<h3>In A Nutshell</h3>
<p style="text-align: justify;"><img class="alignright" style="border: 0px; padding: 25px 0px 25px 10px;" title="IMG_0071" src="http://static.flickr.com/3164/2337616758_6ae8a0e0c5.jpg" alt="" width="200px" height="150px" />CodeIgniter provides a wealth of opportunity for PHP developers by <strong>enabling</strong>. Personally, I use BambooInvoice and have found it to be both simple to use and elegant in results. Furthermore, with the backing of EllisLab, I&#8217;m confident CodeIgniter can only gain more ground in the PHP frameworks community. With its small footprint, robust framework, extensive libraries, helpful community forums, and well documented user guide, CodeIgniter lays a firm foundation from which developers can focus on what they do best&#8230;<em>developing</em>.</p>
<h3>Keep Your Code Hot With CodeIgniter!</h3>

<img src="http://davidkuhta.com/?ak_action=api_record_view&id=261&type=feed" alt="" /><div class="wpbuzzer_button" style="float: right; border: 0px; margin-top: -3px;"><a title="Post on Google Buzz" class="google-buzz-button" href="http://www.google.com/buzz/post" data-button-style="normal-count" data-url="http://davidkuhta.com/2010/02/open-source-php-framework-codeigniter/" data-imageurl=""></a><script type="text/javascript" src="http://www.google.com/buzz/api/button.js"></script></div>]]></content:encoded>
			<wfw:commentRss>http://davidkuhta.com/2010/02/open-source-php-framework-codeigniter/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: davidkuhta.com @ 2012-02-05 04:17:28 -->
