CI(CodeIgniter)框架介绍


Posted in PHP onJune 09, 2014

CodeIgniter 是一个应用程序框架

1、免费:CodeIgniter是经过Apache/BSD-style开源许可授权的,只要你愿意就可以使用它。

2、简单:CodeIgniter是真正的轻量级,核心系统只需要一些非常小的库。

3、MVC:CodeIgniter使用了MVC的方法,可以更好的使表现层和逻辑层分离。

--应用程序流程图

CI(CodeIgniter)框架介绍

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

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

模型 (Model) 代表你的数据结构。通常来说,你的模型类将包含取出、插入、更新你的数据库资料这些功能。
视图 (View) 是展示给用户的信息。一个视图通常是一个网页,但是在 CodeIgniter 中,一个视图也可以是一个页面片段,如页头、页尾。它还可以是一个 RSS 页面,或任何其它类型的“页面”。
控制器 (Controller) 是模型、视图以及其他任何处理 HTTP 请求所必须的资源之间的中介,并生成网页。

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

PHP 相关文章推荐
第十节 抽象方法和抽象类 [10]
Oct 09 PHP
web方式ftp
Oct 09 PHP
JS实现php的伪分页
May 25 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
Jun 24 PHP
ini_set的用法介绍
Jan 07 PHP
分享一个超好用的php header下载函数
Jan 31 PHP
Laravel 5 框架入门(一)
Apr 09 PHP
四个常见html网页乱码问题及解决办法
Sep 08 PHP
php根据日期或时间戳获取星座信息和生肖等信息
Oct 20 PHP
浅谈php和js中json的编码和解码
Oct 24 PHP
Swoole4.4协程抢占式调度器详解
May 23 PHP
Laravel 解决composer相关操作提示php相关异常的问题
Oct 23 PHP
CI框架中集成CKEditor编辑器的教程
Jun 09 #PHP
PHP小教程之实现链表
Jun 09 #PHP
浅谈Eclipse PDT调试PHP程序
Jun 09 #PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
Jun 09 #PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
Oct 01 #PHP
PHP遍历目录并返回统计目录大小
Jun 09 #PHP
php中替换字符串中的空格为逗号','的方法
Jun 09 #PHP
You might like
小偷PHP+Html+缓存
2006/12/20 PHP
PHP下打开URL地址的几种方法小结
2010/05/16 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
Yii框架安装简明教程
2020/05/15 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
jQuery技巧大放送 学习jquery的朋友可以看下
2009/10/14 Javascript
javascript Math.random()随机数函数
2009/11/04 Javascript
JQuery 引发两次$(document.ready)事件
2010/01/15 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
JS实现简单的二维矩阵乘积运算
2016/01/26 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
canvas实现探照灯效果
2017/02/07 Javascript
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
详解最新vue-cli 2.9.1的webpack存在问题
2017/12/16 Javascript
node中modules.exports与exports导出的区别
2018/06/08 Javascript
element-ui中Table表格省市区合并单元格的方法实现
2019/08/07 Javascript
vue-cli2与vue-cli3在一台电脑共存的实现方法
2019/09/25 Javascript
[59:53]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第二场 3月6日
2021/03/11 DOTA
Python实现CET查分的方法
2015/03/10 Python
Python中threading模块join函数用法实例分析
2015/06/04 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
pandas groupby 分组取每组的前几行记录方法
2018/04/20 Python
从django的中间件直接返回请求的方法
2018/05/30 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
Bogner美国官网:滑雪服中的”Dior”
2018/01/30 全球购物
SQL注入攻击的种类有哪些
2013/12/30 面试题
初级Java程序员面试题
2016/03/03 面试题
写演讲稿所需要注意的4个条件
2014/01/09 职场文书
捐款感谢信
2015/01/20 职场文书
社会实践活动总结
2015/02/05 职场文书
教师岗位说明书
2015/09/30 职场文书
PyQt5结合QtDesigner实现文本框读写操作
2021/06/11 Python