推荐一款轻量级PHP开发框架:CodeIgniter
Posted by LEMON | Filed under CodeIgniter, LAMP, PHP
欢迎使用 CodeIgniter
CodeIgniter 是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为 PHP 程序员建立功能完善的 Web 应用程序。
CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用 CodeIgniter 可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。
CodeIgniter 是为谁准备的?
CodeIgniter 就是你所需要的,如果…
- 你想要一个小巧的框架。
- 你需要出色的性能。
- 你需要广泛兼容标准主机上的各种 PHP 版本和配置(例如 PHP4)。
- 你想要一个几乎只需 0 配置的框架。
- 你想要一个不需使用命令行的框架。
- 你想要一个不需坚守限制性编码规则的框架。
- 你对 PEAR 这种大规模集成类库不感兴趣。
- 你不希望被迫学习一门模板语言(虽然可以选择你要求的模板解析器)。
- 你不喜欢复杂,热爱简单。
- 你需要清晰、完整的文档。
关于 CodeIgniter
CodeIgniter 是由 Ellislab 公司的 CEO Rick Ellis 开发的。其核心框架是为这个程序特别编写的,而其他很多类库、辅助函数和子系统则来自于 Rick Ellis 和 Paul Burdick 编写的内容管理系统 ExpressionEngine。
来自 Ruby on Rails 的灵感启发我们创造了一个 PHP 框架,并且将框架的概念引入到网络社区的一般意识中。
CodeIgniter 的 logo 和 icons 是由 Rick Ellis 设计的。
手册目录的下拉菜单使用了 moo.fx 库来编写。
服务器要求
- PHP 版本 4.3.2 或更新的版本。
- 大多数 Web 应用程序需要数据库。当前支持的数据库为:MySQL (4.1+), MySQLi, MS SQL, Postgre, Oracle, SQLite 和 ODBC。
下载 CodeIgniter
- CodeIgniter_1.7.0(最新)
- CodeIgniter V 1.6.3
- CodeIgniter V 1.6.2
- CodeIgniter V 1.6.1
- CodeIgniter V 1.6.0
- CodeIgniter V 1.5.4
- CodeIgniter V 1.5.3
- CodeIgniter V 1.5.2
- CodeIgniter V 1.5.1
- CodeIgniter V 1.4.1
- CodeIgniter V 1.3.3
- CodeIgniter V 1.3.2
- CodeIgniter V 1.3.1
- CodeIgniter V 1.3
- CodeIgniter V 1.2
- CodeIgniter V 1.1
- CodeIgniter V 1.0
Subversion 服务器
Subversion 是一个版本控制系统。
你可以通过 http://dev.ellislab.com/svn/CodeIgniter/trunk 访问公共 Subversion,请注意:通过这个代码仓库取得的文件,我们不能保证代码完全实现功能。
从 1.6.1 版开始,版本快照(tags)也可以通过 Subversion 服务器访问,地址:http://dev.ellislab.com/svn/CodeIgniter/tags。
安装指导
CodeIgniter 安装分为四个步骤:
- 解压缩安装包。
- 把 CodeIgniter 文件夹和里面的文件上传到你的服务器。通常 index.php 在根目录。
- 用任何文本编辑器打开 application/config/config.php 去设置你的网站根 URL。如果你打算使用加密或 Session,请设置你的加密密钥。
- 如果你打算使用数据库,用任何文本编辑器打开 application/config/database.php 去设置你的数据库参数。
如果你希望通过隐藏 CodeIgniter 文件的位置来增加安全性,你可以修改 system 目录的名字,把它改成任何你想改的。如果已经修改了名字,你必须打开你主目录下面的 index.php 文件设置里面的 $system_folder 变量,把它设成你新改的名字。
以上就是全部安装过程!
如果你刚刚接触 CodeIgniter,请阅读用户指南的入门指引部分,开始学习如何构造动态的 PHP 应用。让我们享受这个过程吧!
如果下载CodeIgniter之后,对于其中的英文注释看不明白,推荐您到CodeIgniter中国社区学习一下,很多朋友都从那里学到了许多知识,相信您会得到得更多!
CodeIgniter 是什么?
CodeIgniter 是一个应用程序框架
CodeIgniter 是一个为用 PHP 编写网络应用程序的人员提供的工具包。它的目标是实现让你比从零开始编写代码更快速地开发项目,为此,CI 提供了一套丰富的类库来满足通常的任务需求,并且提供了一个简单的接口和逻辑结构来调用这些库。CodeIgniter 可以将需要完成的任务代码量最小化,这样你就可以把更多的精力放到项目的开发上了。
CodeIgniter 是免费的
CodeIgniter 是经过 Apache/BSD-style 开源许可授权的,只要你愿意就可以使用它。阅读 许可协议 可获得更多的信息。
CodeIgniter 在 PHP 4 上运行
CodeIgniter 的编写完全兼容 PHP 4。尽管 PHP 5 在面向对象处理方面更具优势,我们本该利用此优势来简化我们(在 PHP4 下的)实现创造性解决方案的(例如:多继承)工作,但是我们建立此框架时,PHP 5 并未被广泛使用,这意味着(如果用 PHP 5来写)我们将要放弃大部分的潜在用户。主流操作系统供应商比如 REDHAT 非常缓慢得转向对 PHP5 的支持,并且短期内他们不大可能会全面支持 PHP5。所以,我们认为用 PHP 5 来写 CodeIgniter 不合 PHP 社区的最大利益。
注解: CodeIgniter 能够在PHP5环境下运行。只是它没有使用PHP5独有的高级特征。
CodeIgniter 是轻量级的
真正的轻量级。我们的核心系统只需要一些非常小的库,这与那些需要更多资源的框架完全相反。额外的库文件只在请求的时候加载,依需求而定,所以核心系统是非常快而且轻的。
CodeIgniter 是快速的
速度非常快。你要找到一个比 CodeIgniter 表现更优的框架应该很难吧。
CodeIgniter 使用 M-V-C 模型
CodeIgniter 使用了模型(Model)- 视图(View)- 控制器(Controllers)的方法,这样可以更好地使表现层和逻辑层分离。这对项目的模板设计者来说是非常有用的,它最小化了模板中的程序代码量。我们在 MVC 各自的页面中对此做了更多的介绍。
CodeIgniter 生成干净的 URL
CodeIgniter 生成的 URL 非常干净而且是对搜索引擎友好化的。不同于标准的“字符串查询”方法,CodeIgniter使用了 segment-based 这样的方法:
example.com/news/article/345
注意:index.php 文件是被默认包含在 URL 中的,但是可以通过更改 .htaccess 文件来改变这个设置。
CodeIgniter 功能强大
CodeIgniter 拥有全范围的类库,可以完成大多数通常需要的网络开发任务,包括: 读取数据库、发送电子邮件、数据确认、保存 session 、对图片的操作,以及支持 XML-RPC 数据传输等。
CodeIgniter 是可扩展的
这个系统可以非常简单的通过插件和 helper 类库来进行扩展,或者也可以通过扩展类、系统钩子来实现。
CodeIgniter 不需要模板引擎
虽然 CodeIgniter 确实 自带了一个可选的模板解析器程序,但不要求你必须使用模板。模板引擎完全与本地化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 拥有一个友好的用户社区
你可以在我们的 社区论坛 中看到一个成长中的积极活跃的用户社区。
CodeIgniter 特性
开发框架优秀与否与它有多少特性没有太大的关系。你从特性中不能推断出用户的体验、不能体验到框架设计是不是直接了当,是不是智能。特性也不能告诉你框架代码的质量如何、性能如何、细节处理的如何、安全性如何。判断一个框架的唯一办法是在使用中了解它。安装CodeIgniter很简单,所以,请你使用它。CodeIgniter的主要特性如下:
- 基于 MVC 体系
- 兼容 PHP 4
- 超轻量级
- 对数种数据库平台的全特性支持的数据库类
- Active Record 支持
- 表单与数据验证
- 安全性与 XSS 过滤
- Session 管理
- 邮件发送类,支持附件,HTML 或文本邮件,多协议(sendmail, SMTP 和 Mail)及更多。
- 图像处理类库(剪裁,缩放,旋转等)。支持 GD,ImageMagick 和 BetPBM
- 文件上传类
- FTP 类
- 本地化
- 分页
- 数据加密
- 基准测试
- 全页面缓存
- 错误日志
- 应用程序评测
- 脚手架(Scaffolding)
- 日历类
- User-Agent 类
- Zip 编码类
- 模板引擎类
- Trackback 类
- XML-RPC 类库
- 单元测试类
- “搜索引擎友好”的 URL
- 灵活的 URI 路由
- 支持勾子,类扩展及插件
- 大量的辅助函数
应用程序流程图
下图说明数据流如何贯穿整个系统:

- index.php 作为前端控制器,初始化运行 CodeIgniter 所需要的基本资源。
- Router 检查 HTTP 请求,以确定谁来处理请求。
- 如果缓存(Cache)文件存在,它将绕过通常的系统执行顺序,被直接发送给浏览器。
- 安全(Security)。应用程序控制器(Application Controller)装载之前,HTTP 请求和任何用户提交的数据将被过滤。
- 控制器(Controller)装载模型、核心库、插件、辅助函数,以及任何处理特定请求所需的其它资源。
- 最终视图(View)渲染发送到 Web 浏览器中的内容。如果开启缓存(Caching),视图首先被缓存,所以将可用于以后的请求。
Related posts:
Tags: CodeIgniter, Framework, PHP
Leave a Reply
You must be logged in to post a comment.

