文档库 最新最全的文档下载
当前位置:文档库 › CodeIgniter 用户指南 版本 1

CodeIgniter 用户指南 版本 1

CodeIgniter 用户指南 版本 1
CodeIgniter 用户指南 版本 1

CodeIgniter 用户指南版本 1.7.2 (基本信息、安装、介绍)

服务器要求

?PHP版本 4.3.2 或更新的版本。

?大多数 Web 应用程序需要数据库。当前支持的数据库为:MySQL (4.1+), MySQLi, MS SQL, Postgres, Oracle, SQLite 和 ODBC。

CodeIgniter 许可协议

版权所有 (c) 2008 - 2009, EllisLab 公司

保留所有权利.

本协议是你和EllisLab公司之间为使用CodeIgniter软件(以下简称“软件”)达成的法律协议。获取软件的同时你必须同意完全遵守本协议的条款及条件。

允许使用

只要符合以下条件,你将被允许使用、复制、修改以及分发本软件和它相关的文档,包括你可以修改或者不修改地用于任何目的:

1.这个许可协议的一份拷贝必须包含在分发的软件中。

2.再分发源代码时必须在所有源代码文件中保留上方的版权提醒。

3.以二进制形式再分发时,必须在文档以及/或者随分发提供的其他物品上保留上面的

版权提醒。

4.任何修改过的文件必须加上对原始代码修改的注释以及修改者名称。

5.任何由本软件衍生的产品必须在它们的文档以及/或者随分发提供的物品中表明它

们来源于CodeIgniter。

6.从本软件衍生的产品可以在名称中完全不出现"CodeIgniter"或者出现"CodeIgniter",

这一点不需要事先从EllisLab 公司得到许可。

赔偿

你同意对任何因你使用或者误用本软件或者违反任何本许可协议条款所产生的直接、间接、附带的或相应的第三者索赔、诉讼费用承担赔偿,以及对本软件的作者和任何贡献者无害化。

保修免责条款

该软件提供的是“现况”,没有任何保证,表示或暗示,包括但不限于担保的质量,性能,不侵权,适销性或特定用途的适用性。

责任限制

你将承担所有安装和使用本软件的风险。

安装指导

CodeIgniter 安装分为四个步骤:

1.解压缩安装包。

2.把 CodeIgniter 文件夹和里面的文件上传到你的服务器。通常 index.php 在根目

录。

3.用任何文本编辑器打开application/config/config.php去设置你的网站根 URL。

如果你打算使用加密或 Session,请设置你的加密密钥。

4.如果你打算使用数据库,用任何文本编辑器打开

application/config/database.php去设置你的数据库参数。

如果你希望通过隐藏 CodeIgniter 文件的位置来增加安全性,你可以修改system目录的名字,把它改成任何你想改的。如果已经修改了名字,你必须打开你主目录下面的index.php 文件设置里面的 $system_folder 变量,把它设成你新改的名字。

以上就是全部安装过程!

如果你刚刚接触 CodeIgniter,请阅读用户指南的开始部分,开始学习如何构造动态的 PHP 应用。让我们享受这个过程吧!

如果下载CodeIgniter之后,对于其中的英文注释看不明白,推荐您到CodeIgniter

中国社区学习一下,很多朋友都从那里学到了许多知识,相信您会得到得更多!CodeIgniter 将从这里开始

任何应用软件的学习都需要花费一定的精力。我们尽了自己最大的努力使大家在学习中少走弯路,并且充满乐趣。

第一步就是安装 CodeIgniter,然后阅读介绍部分的所有主题。

接下来按顺序阅读常规主题(请点击右上角的“目录” 或点击目录页)里面的每一个内容。那里的每个内容都是承接前一个的,并且提供了方便实践的例子代码。

一旦你掌握了这些基础概念,你就可以浏览类库参考和辅助函数参考,学习如何使用类库和辅助函数文件了。

如果遇到了问题可以到我们的中国开发者社区寻找解答,同时,英文的Wiki里面也提供了其他用户所写的例子代码。

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 这样的方法:

https://www.wendangku.net/doc/9514355754.html,/news/article/345

注意:index.php 文件是被默认包含在 URL 中的,但是可以通过更改 .htaccess 文件来改变这个设置。

CodeIgniter 功能强大

CodeIgniter 拥有全范围的类库,可以完成大多数通常需要的网络开发任务,包括:读取数据库、发送电子邮件、数据确认、保存 session 、对图片的操作,以及支持 XML-RPC 数据传输等。

CodeIgniter 是可扩展的

这个系统可以非常简单的通过插件和 helper 类库来进行扩展,或者也可以通过扩展类、系统钩子来实现。

CodeIgniter 不需要模板引擎

虽然 CodeIgniter 确实自带了一个可选的模板解析器程序,但不要求你必须使用模板。模板引擎完全与本地化PHP代码的性能需求不符,使用模板引擎我们要学习其语法,这最低限度只比学PHP基础要容易一点点。考虑以下PHP代码:

再来对比模板引擎所使用的伪代码:

    {foreach from=$addressbook item="name"}

  • {$name}
  • {/foreach}

的确,例中模板引擎的代码比较清晰,但这带来一个性能问题,因为伪代码要先被转换成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 路由

?支持勾子,类扩展及插件

?大量的辅助函数

应用程序流程图

下图说明数据流如何贯穿整个系统:

1.index.php 作为前端控制器,初始化运行 CodeIgniter 所需要的基本资源。

2.Router 检查 HTTP 请求,以确定谁来处理请求。

3.如果缓存(Cache)文件存在,它将绕过通常的系统执行顺序,被直接发送给浏览器。

4.安全(Security)。应用程序控制器(Application Controller)装载之前,HTTP 请求

和任何用户提交的数据将被过滤。

5.控制器(Controller)装载模型、核心库、插件、辅助函数,以及任何处理特定请求

所需的其它资源。

6.最终视图(View)渲染发送到 Web 浏览器中的内容。如果开启缓存(Caching),视图

首先被缓存,所以将可用于以后的请求。

模型-视图-控制器

CodeIgniter 是基于模型-视图-控制器这一设计模式的。MVC 是一种将应用程序的逻辑层和表现层进行分离的方法。在实践中,由于表现层从 PHP 脚本中分离了出来,所以它允许你的网页中只包含很少的脚本。

?模型(Model)代表你的数据结构。通常来说,你的模型类将包含取出、插入、更新你的数据库资料这些功能。

?视图(View)是展示给用户的信息。一个视图通常是一个网页,但是在 CodeIgniter 中,一个视图也可以是一个页面片段,如页头、页尾。它还可以是一个 RSS 页面,或任何其它类型的“页面”。

?控制器(Controller)是模型、视图以及其他任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。

CodeIgniter 在 MVC 使用上非常宽松,因此模型不是必需的。如果你不需要使用这种分离方式,或是发觉维护模型比你想象中的复杂很多,你可以不用理会它们而创建自己的应用程序,并最少化使用控制器和视图。CodeIgniter 也可以和你现有的脚本合并使用,或者允许自行开发此系统的核心库,其目的是,使你可以以最适合你的方式工作。

设计和架构目标

CodeIgniter 的目标是在最小化,最轻量级的开发包中得到最大的执行效率、功能和灵活性。

为了达到这个目标,我们在开发过程的每一步都致力于基准测试、重构和简化工作,拒绝加入任何对实现目标没有帮助的东西。

从技术和架构角度看,CodeIgniter 按照下列目标创建:

?动态实例化。在CodeIgniter 中,组件的导入和函数的执行只有在被要求的时候才执行,而不是在全局范围。除了最小的核心资源外,不假设系统需要任何资源,因此缺省的系统非常轻量级。被HTTP 请求所触发的事件,以及你设计的控制器和视图将决定它们什么时候被引用。

?松耦合。耦合是指一个系统的组件之间的相关程度。越少的组件相互依赖那么这个系统的重用性和灵活性就越好。我们的目标是一个非常松耦合的系统。

?组件专一性。专一是指组件有一个非常小的专注目标。在CodeIgniter 里,为了达到最大的用途,每个类和它的功能都是高度自治的。

CodeIgniter 是一个动态实例化,高度组件专一性的松耦合系统。它在小巧的基础上力求做到简单、灵活和高性能。

相关文档