CodeIgniter at a Glance
***********************


CodeIgniter is an Application Framework
=======================================

CodeIgniter is a toolkit for people who build web applications using
PHP. Its goal is to enable you to develop projects much faster than
you could if you were writing code from scratch, by providing a rich
set of libraries for commonly needed tasks, as well as a simple
interface and logical structure to access these libraries. CodeIgniter
lets you creatively focus on your project by minimizing the amount of
code needed for a given task.


CodeIgniter is Free
===================

CodeIgniter is licensed under the MIT license so you can use it
however you please. For more information please read the license
agreement.


CodeIgniter is Light Weight
===========================

Truly light weight. The core system requires only a few very small
libraries. This is in stark contrast to many frameworks that require
significantly more resources. Additional libraries are loaded
dynamically upon request, based on your needs for a given process, so
the base system is very lean and quite fast.


CodeIgniter is Fast
===================

Really fast. We challenge you to find a framework that has better
performance than CodeIgniter.


CodeIgniter Uses M-V-C
======================

CodeIgniter uses the Model-View-Controller approach, which allows
great separation between logic and presentation. This is particularly
good for projects in which designers are working with your template
files, as the code these files contain will be minimized. We describe
MVC in more detail on its own page.


CodeIgniter Generates Clean URLs
================================

The URLs generated by CodeIgniter are clean and search-engine
friendly. Rather than using the standard “query string” approach to
URLs that is synonymous with dynamic systems, CodeIgniter uses a
segment-based approach:

   example.com/news/article/345

Note:

  By default the *index.php* file is included in the URL but it can be
  removed using a simple *.htaccess* file.


CodeIgniter Packs a Punch
=========================

CodeIgniter comes with full-range of libraries that enable the most
commonly needed web development tasks, like accessing a database,
sending email, validating form data, maintaining sessions,
manipulating images, working with XML-RPC data and much more.


CodeIgniter is Extensible
=========================

The system can be easily extended through the use of your own
libraries, helpers, or through class extensions or system hooks.


CodeIgniter Does Not Require a Template Engine
==============================================

Although CodeIgniter *does* come with a simple template parser that
can be optionally used, it does not force you to use one. Template
engines simply can not match the performance of native PHP, and the
syntax that must be learned to use a template engine is usually only
marginally easier than learning the basics of PHP. Consider this block
of PHP code:

   <ul>
   <?php foreach ($addressbook as $name):?>
           <li><?=$name?></li>
   <?php endforeach; ?>
   </ul>

Contrast this with the pseudo-code used by a template engine:

   <ul>
   {foreach from=$addressbook item="name"}
           <li>{$name}</li>
   {/foreach}
   </ul>

Yes, the template engine example is a bit cleaner, but it comes at the
price of performance, as the pseudo-code must be converted back into
PHP to run. Since one of our goals is *maximum performance*, we opted
to not require the use of a template engine.


CodeIgniter is Thoroughly Documented
====================================

Programmers love to code and hate to write documentation. We’re no
different, of course, but since documentation is **as important** as
the code itself, we are committed to doing it. Our source code is
extremely clean and well commented as well.


CodeIgniter has a Friendly Community of Users
=============================================

Our growing community of users can be seen actively participating in
our Community Forums.
