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读取数据库信息的几种方法
May 24 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
Jun 08 PHP
php打开文件fopen函数的使用说明
Jul 05 PHP
php通过ajax实现双击table修改内容
Apr 28 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
Mar 25 PHP
php中序列化与反序列化详解
Feb 13 PHP
php 开发中加密的几种方法总结
Mar 22 PHP
PHP折半(二分)查找算法实例分析
May 12 PHP
php微信支付之公众号支付功能
May 30 PHP
PHP反射学习入门示例
Jun 14 PHP
PHP vsprintf()函数格式化字符串操作原理解析
Jul 14 PHP
laravel使用redis队列实例讲解
Mar 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 function用法如何递归及return和echo区别
2014/03/07 PHP
Laravel 5框架学习之Blade 简介
2015/04/08 PHP
javascript动态向网页中添加表格实现代码
2014/02/19 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
jQuery实现table隔行换色和鼠标经过变色的两种方法
2014/06/15 Javascript
jquery实现textarea 高度自适应
2015/03/11 Javascript
jQuery焦点图切换特效代码分享
2015/09/15 Javascript
原生js实现数字字母混合验证码的简单实例
2015/12/10 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
详解Vue 事件驱动和依赖追踪
2017/04/22 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
React 路由懒加载的几种实现方案
2018/10/23 Javascript
electron制作仿制qq聊天界面的示例代码
2018/11/26 Javascript
Cocos2d实现刮刮卡效果
2018/12/20 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
2019/11/05 Javascript
Vue.js watch监视属性知识点总结
2019/11/11 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
python opencv 直方图反向投影的方法
2018/02/24 Python
Django实现表单验证
2018/09/08 Python
用Django写天气预报查询网站
2018/10/21 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
简单了解python反射机制的一些知识
2019/07/13 Python
python可视化实现KNN算法
2019/10/16 Python
win10从零安装配置pytorch全过程图文详解
2020/05/08 Python
纯CSS3发光分享按钮的实现教程
2014/09/06 HTML / CSS
Shopty西班牙:缝纫机在线销售
2018/01/26 全球购物
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
Crocs欧洲官网:Crocs Europe
2020/01/14 全球购物
客服专员岗位职责
2014/02/28 职场文书
2015年农村党员公开承诺事项
2015/04/28 职场文书
Python+腾讯云服务器实现每日自动健康打卡
2021/12/06 Python