CI(CodeIgniter)框架结构介绍
目录结构说明
- license.txt 许可协议
- user_guide 用户手册
- system 框架核心文件
- application 应用目录
- index.php 入口脚本文件
CI中的MVC架构
- 入口文件:唯一一个让浏览器直接请求的脚本文件
- 控制器(controller):协调模型和视图
- 模型(model):提供数据,保存数据
- 视图(view):搜集用户输入、创建并提交表单、做显示作用
- 动作(action):是控制器中的公开方法,用于被浏览器请求
访问URL形式:CI框架采用的是一种pathinfo的url访问形式,如:localhost/index.php/Welcome/index。从这个例子可以知道访问的是Welcome控制器中的index方法。可以认为url的结构是这样的:IP/入口脚本文件/控制器/动作。
application目录:
- controllers 控制器
- models 模型
- views 视图
- 当第一次使用CI框架时,默认的控制器为Welcome,默认动作为index。
CI中的控制器
- 在CI框架中,控制器在定义时不用加上controller后缀,控制器的名字和定义的类名一致;
- 在定义一个新的控制器时,需要直接或者间接继承CI_Controller类;
- 在类中,只有public关键字修饰的方法才能作为被浏览器访问的动作。
CI中的视图
在CI框架中,若要加载一个视图文件,如welcome_message.php文件,需要使用$this->load->view(‘welcome_message’)方法进行视图加载。
CI框架与其它框架在视图编辑上不同。CI框架使用原生的PHP来编辑视图,不使用像smarty之类的模板引擎。
//一个简单的原生PHP表格 <table border="l"><tr><td>编号</td><td>姓名</td><td>邮箱</td></tr><?php foreach($list as $item):?><tr><td><?=$item['id']?></td><td><?=$item['name']?></td><td><?=$item['mail']?></td></tr><?php endforeach;?> </table>
CI中的超级对象($this) 持续更新。。。。。。
CI框架的$this对象是一个控制器对象,包含有很多属性,我们定义的控制器对象依赖于这些属性来提供服务。
$this->load
:一个加载器,通过$this->load->view('文件');
来加载一个视图。装载器的实例在文件 system/core/Loader.php文件中定义。该属性可以用于加载视图 (view())、分配变量到视图(vars())、装载数据库对象(database())、装载模型对象(model())、装载插件(helper())。$this->uri
:是CI_URI类的实例,用于实现与URL相关的功能。可以通过$this->uri->segment(n);
来获取URL中第n段的值(这与CI框架采用pathinfo形式的URL有关)。传统的URL:入口文件/控制器/动作/参数1/值1/参数2/值2…,而为了简便URL,则采用的URL形式为:入口文件/控制器/动作/值1/值2…,这样的URL可以使用$this->uri->segment(n);
来取第n段的值。//URL: .../入口文件/控制器/动作/值1/值2 $this->uri->segment(3);//值1 $this->uri->segment(4);//值2
CI(CodeIgniter)框架结构介绍相关推荐
- CI(CodeIgniter) 实现网站在线自动发送邮件
在平时,我们在网络上注册很多服务的时候,都会收得到相应网站自动发过来的如确认邮件等实时邮件.极大的方便网站实时,准确抓住有效用户. 看起来感觉门槛很高,好像很大型的网站的技术团队才能实现到.其实不然, ...
- php ci log,PHP框架CI CodeIgniter 的log_message开启日志记录方法
PHP框架CI CodeIgniter 的log_message开启日志记录方法 第一步:index.php文件,修改环境为开发环境 define('ENVIRONMENT', 'developmen ...
- GitLab-CI持续集成(CI)的介绍与运行机制
GitLab持续集成(CI)的介绍与运行机制 GitLab-CI GitLab-CI就是一套配合GitLab使用的持续集成系统(当然,还有其它的持续集成系统,同样可以配合GitLab使用,比如Jen ...
- Travis CI mysql_DevOps工具介绍连载(34)——Travis CI
原标题:DevOps工具介绍连载(34)--Travis CI Travis CI 持续集成 Travis CI 是在线托管的持续集成服务,绑定Github项目,抓取新的代码自动进行测试构建,甚至自动 ...
- php ci url,URL路由设置-CI(codeigniter)PHP框架再探
前面文章整体说了一下Codeigniter的访问,其中涉及到route,URL路由设置,下面对CI再说一下 在application/config/文件夹下有routes.php的设置. 1.首先说U ...
- php ci CodeIgniter框架图片缩略图处理类优化 缩放到固定大小
上传图片生成指定大小的缩略图,原始图片可以是任何尺寸的,生成的缩略图不会变形. //上传文件路径$upload_dir = __DIR__."/uploads/"; if ($th ...
- CI(CodeIgniter)框架入门
什么是CI框架: CdoeIgniter是为PHP开发人员提供的一套Web应用程序工具包.他的目的是能够让你从零开始更加快速的完成项目,它提供了一套丰富的类库来满足我们的日常需求,并且提供了一个简单的 ...
- ci php做记录删除,CI(CodeIgniter)框架中的增删改查操作_PHP教程
CodeIgniter的数据函数类在 \system\database\DB_active_rec.php 代码如下: class ModelName extends CI_Model { funct ...
- CodeIgniter框架介绍
入口 index.php :一些路径常量定义: => CodeIgniter.php : 1. 初始化一些 system/core内的类,例如Config, Utf8, URI 和Router等 ...
- layu后台框架结构介绍
大家好,今天介绍的是一个基于 Layui 的后台框架模板--layuimini.\n\n 这是一个基于Layui编写的一套最简洁.清爽.易用的后台框架模板. 目前在GitHub 和 Gitee上都 ...
最新文章
- CentOS7 升级 Git 版本
- 全国各省“光棍”排名,数据揭秘哪里脱单最难?
- Windows Vista Ultimate试用
- 深入代码详谈irqbalance【转】
- Dungeon Master 地下城大师(BFS进阶)
- 帝国CMS 二级联动 基于optionTree插件
- window location href 手机端无法跳转_JavaScriptBOM__History_location(二十)
- 笔记《深入浅出数据分析》上
- php新手自学手册,PHP完全自学手册(文档教程)
- tomcat 9 http请求中文乱码问题
- linux rarcrack破解rar、zip和7z压缩包简单密码的工具
- 数据结构 09-链表概念及常见链表结构
- gre 填空64-77
- 【微积分】2.2一元函数积分
- c 语言识别图片中的文字,Tesseract OCR图片识别为文字
- Linux 下安装 Wordpress教程
- Wireshark lua插件
- Think Server RD350X 板载RAID设置
- 基于JavaWeb的餐饮库存管理系统
- 全球10大黑客组织排行榜