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 相关文章推荐
asp和php下textarea提交大量数据发生丢失的解决方法
Jan 20 PHP
一个php导出oracle库的php代码
Apr 20 PHP
php下连接mssql2005的代码
Jan 17 PHP
php中取得URL的根域名的代码
Mar 23 PHP
php通过COM类调用组件的实现代码
Jan 11 PHP
深入解析fsockopen与pfsockopen的区别
Jul 05 PHP
php格式化日期实例分析
Nov 12 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
Oct 01 PHP
php示例详解Constructor Prototype Pattern 原型模式
Oct 15 PHP
PHP上传文件参考配置大文件上传
Dec 16 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
Apr 21 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 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类
2006/10/09 PHP
php中将字符串转为HTML的实体引用的一个类
2013/02/03 PHP
9段PHP实用功能的代码推荐
2014/10/14 PHP
PHP防止注入攻击实例分析
2014/11/03 PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
2015/05/12 PHP
javascript各种复制代码收集
2008/09/20 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
javascript新建标签,判断键盘输入,以及判断焦点(示例代码)
2013/11/25 Javascript
js实现键盘操作实现div的移动或改变的原理及代码
2014/06/23 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
jQuery动态背景图片效果实现方法
2015/07/03 Javascript
详解javascript事件绑定使用方法
2016/10/20 Javascript
微信小程序 MD5的方法详解及实例代码
2017/03/10 Javascript
JS解析url查询参数的简单代码
2017/08/06 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
微信提示 在浏览器打开 效果实现过程解析
2019/09/10 Javascript
layui实现二维码弹窗、并下载到本地的方法
2019/09/25 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
2019/10/17 Javascript
基于axios 的responseType类型的设置方法
2019/10/29 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
javascript实现随机抽奖功能
2020/12/30 Javascript
[01:35]辉夜杯战队访谈宣传片—LGD
2015/12/25 DOTA
基于python编写的微博应用
2014/10/17 Python
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
python批量读取txt文件为DataFrame的方法
2018/04/03 Python
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
Python读写文件基础知识点
2019/06/10 Python
python数据类型之间怎么转换技巧分享
2019/08/20 Python
Python ini文件常用操作方法解析
2020/04/26 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
2020/05/16 Python
写出一个方法实现冒泡排序
2016/07/08 面试题
民事和解协议书格式
2014/11/29 职场文书
部队个人年终总结
2015/03/02 职场文书
庭外和解协议书
2016/03/23 职场文书