Designed to enable, not overwhelm, Code Igniter is a powerful PHP framework with a very small footprint,
built for PHP coders who need a simple and elegant toolkit to create full-featured web applications.
If you're a developer who lives in the real world of shared hosting accounts and
clients with deadlines, and if you're tired of ponderously large and thoroughly undocumented frameworks that require
rocket science to understand, Code Igniter might just be the right tool for you.
Code Igniter at a Glance
Code Igniter is an Application Framework
Code Igniter is a toolkit for people who build web application 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. Code Igniter lets you
creatively focus on your project by
minimizing the amount of code needed for a given task.
Code Igniter is Free
Code Igniter is licensed under an Apache/BSD-style open source license so you can use it however you please.
For more information please read the license agreement.
Code Igniter Runs on PHP 4
Code Igniter is written to be compatible with PHP 4. Although we
would have loved to take advantage of the better object handling
in PHP 5 since it would have simplified some things we had to find
creative solutions for (looking your way, multiple inheritance),
at the time of this writing PHP 5 is not in widespread use, which means
we would be alienating most of our
potential audience. Major OS vendors like RedHat have yet to support
PHP 5, and they are unlikely to do so until 2007, so
we felt that it did not serve the best interests of the PHP community
to write Code Igniter in PHP 5.
Note: Code Igniter will run on PHP 5. It simply does not take
advantage of any native features that are only available in that
version.
Code Igniter 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.
Code Igniter is Fast
Really fast. We challenge you to find a framework that has better performance then Code Igniter.
Code Igniter Uses M-V-C
Code Igniter 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 file contain will be
minimized. We describe MVC in more detail on its own page.
Code Igniter Generates Clean URLs
The URLs generated by Code Igniter are clean and search-engine friendly. Rather than using the standard "query string"
approach to URLs that is synonymous with dynamic systems, Code Igniter uses a segment-based approach:
1 | www.your-site.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.
Code Igniter Packs a Punch
Code Igniter 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.
Code Igniter is Extensible
The system can be easily extended through the use of plugins and helper libraries, or through class extensions or system hooks.
Code Igniter Does Not Require a Template Engine
Although Code Igniter 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <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.
Code Igniter 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.
Code Igniter has a Friendly Community of Users
Our growing community of users can be seen actively participating in our Community Forums.