一起学习CI-2.CI是什么?

【本文参考CI官方文档 http://codeigniter.org.cn/user_guide/overview/at_a_glance.html】

CodeIgniter 是一个应用程序框架

CodeIgniter 是一个为用 PHP 编写网络应用程序的人员提供的工具包。它的目标是实现让你比从零开始编写代码更快速地开发项目,为此,CI 提供了一套丰富的类库来满足通常的任务需求,并且提供了一个简单的接口和逻辑结构来调用这些库。CodeIgniter 可以将需要完成的任务代码量最小化,这样你就可以把更多的精力放到项目的开发上了。

CodeIgniter 是免费的

CodeIgniter 是经过 Apache/BSD-style 开源许可授权的,只要你愿意就可以使用它。阅读 许可协议 可获得更多的信息。

CodeIgniter 是轻量级的

真正的轻量级。我们的核心系统只需要一些非常小的库,这与那些需要更多资源的框架完全相反。额外的库文件只在请求的时候加载,依需求而定,所以核心系统是非常快而且轻的。

CodeIgniter 是快速的

速度非常快。你要找到一个比 CodeIgniter 表现更优的框架应该很难吧。

CodeIgniter 使用 M-V-C 模型

CodeIgniter 使用了模型(Model)- 视图(View)- 控制器(Controllers)的方法,这样可以更好地使表现层和逻辑层分离。这对项目的模板设计者来说是非常有用的,它最小化了模板中的程序代码量。我们在 MVC 各自的页面中对此做了更多的介绍。

CodeIgniter 生成干净的 URL

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

example.com/news/article/345

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

CodeIgniter 功能强大

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

CodeIgniter 是可扩展的

这个系统可以非常简单的通过自定义类库、辅助函数来进行扩展,或者也可以通过扩展类、系统钩子来实现。

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

你可能感兴趣的:(PHP,CI,特点)