# CodeIgniter 概览

## CodeIgniter 是一个应用程序框架

CodeIgniter 是为 PHP 开发人员提供的一套 Web 应用程序工具包。 它的目标是能够让你比从零开始更加快速的完成项目，它提供了一套 丰富的的类库来满足我们日常的任务需求，并且提供了一个简单的 接口和逻辑结构来调用这些库。CodeIgniter 通过最小化你需要的代码量， 让你把更多的精力放到项目的创造性开发上。

## CodeIgniter 是免费的

CodeIgniter 通过 MIT 开源许可协议授权，你可以任意使用。阅读 许可协议 了解更多内容。

## CodeIgniter 是轻量级的

真正的轻量级。我们的核心系统只需要一些非常小的库，这和那些 需要大量资源的框架完全相反。而且，库都是根据请求动态加载， 你需要什么才加载什么，所以核心系统是个非常轻快的系统。

## CodeIgniter 是快速的

真正的快速。我们保证你很难找到一个比 CodeIgniter 性能更好的框架。

## CodeIgniter 使用 M-V-C 架构

CodeIgniter 使用了模型-视图-控制器 架构，它能很好的将逻辑层和表示层分离。 特别是对于那些使用了模板文件的项目来说更好，它能减少模板文件中的代码量。 我们在介绍 MVC 架构的页面有更详细的介绍。

## CodeIgniter 生成干净的 URL

CodeIgniter 生成的 URL 非常干净，而且对搜索引擎友好。不同于标准的 “查询字符串” 方法， CodeIgniter 使用了基于段的方法:

    example.com/news/article/345

注解

默认 URL 中会包含 index.php 文件，但是可以通过更改 .htaccess 文件来去掉它。

## CodeIgniter 功能强大

CodeIgniter 拥有全面的类库，能满足大多数 Web 开发任务的需要， 例如：访问数据库，发送邮件，验证表单数据，会话管理，处理图像， 处理 XML-RPC 数据，等等等等。

## CodeIgniter 是可扩展的

系统可以非常简单的通过你自己的类库和辅助函数来扩展，也可以通过 类扩展或系统钩子来实现。

## CodeIgniter 不需要模板引擎

尽管 CodeIgniter 自带了一个非常简单的可选的模板解析器，但并不强制你 使用模板。模板引擎的性能无法和原生的 PHP 代码相比，另外使用模板引擎 还需要学习一种新的语法，而使用原生 PHP 代码只需要你掌握基本的 PHP 语法即可。看下面的 PHP 代码:

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

再来看看使用模板引擎的代码（伪代码）:

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

的确，模板引擎中的代码要清晰一点，但是它是以性能为代价的， 因为模板引擎中的伪代码必须要转换回 PHP 代码才能运行。 我们的一个目标是： 性能最大化 ，所以，我们决定不使用模板引擎。

## CodeIgniter 拥有全面的文档

程序员们都喜欢写代码而讨厌写文档，当然，我们也不例外。 但是由于文档和代码是一样重要的，所以我们尽力来做好它。 我们的代码非常简洁并且注释也非常全面。

## CodeIgniter 拥有一个友好的用户社区

你可以看到我们的社区用户在不断的增长，在 社区论坛 里活跃的参与着各种话题。