Codelgniter

来自站长百科
跳转至: 导航、​ 搜索

CodeIgniter是一套给PHP网站开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用 CodeIgniter 可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。

Codelgniter的特点[ ]

  • CodeIgniter是由Ellislab公司的CEORickEllis开发的。其核心框架是为这个程序特别编写的,而其他很多类库、辅助函数和子系统则来自于RickEllis和PaulBurdick编写的内容管理系统ExpressionEngine。来自RubyonRails的灵感启发我们创造了一个PHP框架,并且将框架的概念引入到网络社区的一般意识中。   
  • 它是一个小巧但功能强大的PHP 框架,作为一个简单而“优雅”的工具包,她可以为 PHP 程序员建立功能完善的Web 应用程序。如果你是一个与人共享主机并且为客户要求的期限而烦恼的开发人员,如果你已经厌倦了那些傻大笨粗的框架,那么 CodeIgniter 就是你所需要的,如果...
  1. 你想要一个小巧的框架。
  2. 你需要出色的性能。
  3. 你需要广泛兼容标准主机上的各种 PHP 版本和配置(例如 PHP4)。
  4. 你想要一个几乎只需 0 配置的框架。   
  5. 你想要一个不需使用命令行的框架。   
  6. 你想要一个不需坚守限制性编码规则的框架。   
  7. 你对 PEAR 这种大规模集成类库不感兴趣。   
  8. 你不希望被迫学习一门模板语言(虽然可以选择你要求的模板解析器)。   
  9. 你不喜欢复杂,热爱简单。   
  10. 你需要清晰、完整的文档。

CodeIgniter特性[ ]

开发框架优秀与否与它有多少特性没有太大的关系。你从特性中不能推断出用户的体验、不能体验到框架设计是不是直接了当,是不是智能。特性也不能告诉你框架代码的质量如何、性能如何、细节处理的如何、安全性如何。判断一个框架的唯一办法是在使用中了解它。安装CodeIgniter很简单,所以,请你使用它。CodeIgniter的主要特性如下:   

  • 基于MVC体系   
  • 兼容PHP4   
  • 超轻量级   
  • 对数种数据库平台的全特性支持的数据库类   
  • ActiveRecord支持   
  • 表单与数据验证   
  • 安全性与XSS过滤   
  • Session管理   
  • 邮件发送类,支持附件,HTML或文本邮件,多协议(sendmail,SMTP和Mail)及更多。   
  • 图像处理类库(剪裁,缩放,旋转等)。支持GDImageMagickBetPBM   
  • 文件上传类   
  • FTP类   
  • 本地化   
  • 分页   
  • 数据加密   
  • 基准测试   
  • 全页面缓存   
  • 错误日志   
  • 应用程序评测   
  • 脚手架(Scaffolding)   
  • 日历类   
  • User-Agent类   
  • Zip编码类   
  • 模板引擎类   
  • Trackback类   
  • XML-RPC类库   
  • 单元测试类   
  • “搜索引擎友好”的URL   
  • 灵活的URI路由   
  • 支持勾子,类扩展及插件   
  • 大量的辅助函数

CodeIgniter 应用程序流程图[ ]

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

模型-视图-控制器[ ]

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

模型(Model)代表你的数据结构。通常来说,你的模型类将包含取出、插入、更新你的数据库资料这些功能。 视图(View)是展示给用户的信息。

一个视图通常是一个网页,但是在 CodeIgniter 中,一个视图也可以是一个页面片段,如页头、页尾。它还可以是一个 RSS 页面,或任何其它类型的“页面”。 控制器(Controller)是模型、视图以及其他任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。 CodeIgniter 在 MVC 使用上非常宽松,因此模型不是必需的。

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

设计和架构目录[ ]

链接标题CodeIgniter 的目标是在最小化,最轻量级的开发包中得到最大的执行效率、功能和灵活性。    为了达到这个目标,我们在开发过程的每一步都致力于基准测试、重构和简化工作,拒绝加入任何对实现目标没有帮助的东西。

从技术和架构角度看,CodeIgniter 按照下列目标创建:动态实例化。在 CodeIgniter 中,组件的导入和函数的执行只有在被要求的时候才执行,而不是在全局范围。除了最小的核心资源外,不假设系统需要任何资源,因此缺省的系统非常轻量级。被 HTTP 请求所触发的事件,以及你设计的控制器和视图将决定它们什么时候被引用。 松耦合。耦合是指一个系统的组件之间的相关程度。越少的组件相互依赖那么这个系统的重用性和灵活性就越好。我们的目标是一个非常松耦合的系统。 组件专一性。专一是指组件有一个非常小的专注目标。

在 CodeIgniter 里,为了达到最大的用途,每个类和它的功能都是高度自治的。 CodeIgniter 是一个动态实例化,高度组件专一性的松耦合系统。它在小巧的基础上力求做到简单、灵活和高性能。

CodeIgniter入门[ ]

  • CodeIgniter入门非常容易,而且有很全面的中文版用户开发手册,在官方网站上可以了解到更多内容。编辑本段许可协议本协议是你和EllisLab公司之间为使用CodeIgniter软件(以下简称“软件”)达成的法律协议。获取软件的同时你必须同意完全遵守本协议的条款及条件。只要符合以下条件,你将被允许使用、复制、修改以及分发本软件和它相关的文档,包括你可以修改或者不修改地用于任何目的:1.这个许可协议的一份拷贝必须包含在分发的软件中。2.再分发源代码时必须在所有源代码文件中保留上方的版权提醒。3.以二进制形式再分发时,必须在文档以及/或者随分发提供的其他物品上保留上面的版权提醒。4.任何修改过的文件必须加上对原始代码修改的注释以及修改者名称。5.任何由本软件衍生的产品必须在它们的文档以及/或者随分发提供的物品中表明它们来源于CodeIgniter。6.从本软件衍生的产品可以在名称中完全不出现"CodeIgniter"或者出现"CodeIgniter",这一点不需要事先从EllisLab公司得到许可。

相关条目[ ]

参考来源[ ]