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 相关文章推荐
第三节 定义一个类 [3]
Oct 09 PHP
php flush类输出缓冲剖析
Oct 19 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
Jun 03 PHP
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
Jun 21 PHP
使用PHP编写的SVN类
Jul 18 PHP
php判断正常访问和外部访问的示例
Feb 10 PHP
PHP图片裁剪函数(保持图像不变形)
May 04 PHP
PHP多文件上传类实例
Mar 07 PHP
Thinkphp+smarty+uploadify实现无刷新上传
Jul 30 PHP
PHP中strpos、strstr和stripos、stristr函数分析
Jun 11 PHP
ThinkPHP实现分页功能
Apr 28 PHP
PHP实现的Redis多库选择功能单例类
Jul 27 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
Yii配置文件用法详解
2014/12/04 PHP
基于JQuery的密码强度验证代码
2010/03/01 Javascript
jquery实现文本框鼠标右击无效以及不能输入的代码
2010/11/05 Javascript
jquery 学习之二 属性相关
2010/11/23 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
2012/02/23 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
尝试自己动手用react来写一个分页组件(小结)
2018/02/09 Javascript
NodeJS父进程与子进程资源共享原理与实现方法
2018/03/16 NodeJs
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
使用Vue调取接口,并渲染数据的示例代码
2019/10/28 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
js实现上下左右键盘控制div移动
2020/01/16 Javascript
谈谈JavaScript令人迷惑的==与+
2020/08/31 Javascript
Vue 列表页带参数进详情页的操作(router-link)
2020/11/13 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
[58:57]2018DOTA2亚洲邀请赛3月29日小组赛B组 Effect VS VGJ.T
2018/03/30 DOTA
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
matplotlib绘制动画代码示例
2018/01/02 Python
Django中使用celery完成异步任务的示例代码
2018/01/23 Python
Flask框架URL管理操作示例【基于@app.route】
2018/07/23 Python
Python实现简单的猜单词小游戏
2020/10/28 Python
selenium判断元素是否存在的两种方法小结
2020/12/07 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
俄罗斯金苹果网上化妆品和香水商店:Goldapple
2019/12/01 全球购物
护理自荐信范文
2013/10/05 职场文书
大专应届生个人简历的自我评价
2013/10/15 职场文书
目标责任书范文
2014/04/14 职场文书
社团活动总结
2014/04/28 职场文书
新婚姻法离婚协议书范文
2014/11/30 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书
2016年春节慰问信息大全
2015/11/30 职场文书
解决numpy数组互换两行及赋值的问题
2021/04/17 Python
opencv 分类白天与夜景视频的方法
2021/06/05 Python
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python
CSS中float高度塌陷问题的四种解决方案
2022/04/18 HTML / CSS