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 相关文章推荐
php flush类输出缓冲剖析
Oct 19 PHP
PHP不用第三变量交换2个变量的值的解决方法
Jun 02 PHP
ThinkPHP权限认证Auth实例详解
Jul 22 PHP
php 使用array函数实现分页
Feb 13 PHP
php猴子选大王问题解决方法
May 12 PHP
PHP+shell实现多线程的方法
Jul 01 PHP
php 问卷调查结果统计
Oct 08 PHP
PHP代码维护,重构变困难的4种原因分析
Jan 25 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
May 18 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
Jun 06 PHP
PHP curl批处理及多请求并发实现方法分析
Aug 15 PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
Dec 12 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 设计模式之观察者模式介绍
2012/02/22 PHP
Fine Uploader文件上传组件应用介绍
2013/01/06 PHP
PHP图片等比例缩放生成缩略图函数分享
2014/06/10 PHP
php序列化函数serialize() 和 unserialize() 与原生函数对比
2015/05/08 PHP
WordPress中Gravatar头像缓存到本地及相关优化的技巧
2015/12/19 PHP
PHP面向对象之里氏替换原则简单示例
2018/04/08 PHP
js验证表单大全
2006/11/25 Javascript
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
node.js中的fs.futimesSync方法使用说明
2014/12/17 Javascript
JavaScript中的Math.E属性使用详解
2015/06/12 Javascript
JavaScript中ES6字符串扩展方法
2016/08/26 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
巧用weui.topTips验证数据的实例
2017/04/17 Javascript
Vue学习笔记之表单输入控件绑定
2017/09/05 Javascript
理解Koa2中的async&await的用法
2018/02/05 Javascript
浅谈React 服务器端渲染的使用
2018/05/08 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
2018/09/19 Javascript
Python中正则表达式的用法实例汇总
2014/08/18 Python
在Django的模型中执行原始SQL查询的方法
2015/07/21 Python
python查看FTP是否能连接成功的方法
2015/07/30 Python
关于python的list相关知识(推荐)
2017/08/30 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
python 含子图的gif生成时内存溢出的方法
2019/07/07 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
python下PyGame的下载与安装过程及遇到问题
2019/08/04 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
2019/08/20 Python
Tensorflow设置显存自适应,显存比例的操作
2020/02/03 Python
美国优质宠物用品购买网站:Muttropolis
2020/02/17 全球购物
网络信息管理员岗位职责
2014/01/05 职场文书
大学毕业生个人自荐信范文
2014/01/08 职场文书
家教广告词
2014/03/19 职场文书
2014最新预备党员思想汇报范文:中国梦,我的梦
2014/10/25 职场文书
2015年社区创卫工作总结
2015/04/21 职场文书
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android
MySQL分区表实现按月份归类
2021/11/01 MySQL
Mybatis是这样防止sql注入的
2021/12/06 Java/Android