目录结构说明

  • 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)框架结构介绍相关推荐

  1. CI(CodeIgniter) 实现网站在线自动发送邮件

    在平时,我们在网络上注册很多服务的时候,都会收得到相应网站自动发过来的如确认邮件等实时邮件.极大的方便网站实时,准确抓住有效用户. 看起来感觉门槛很高,好像很大型的网站的技术团队才能实现到.其实不然, ...

  2. php ci log,PHP框架CI CodeIgniter 的log_message开启日志记录方法

    PHP框架CI CodeIgniter 的log_message开启日志记录方法 第一步:index.php文件,修改环境为开发环境 define('ENVIRONMENT', 'developmen ...

  3. GitLab-CI持续集成(CI)的介绍与运行机制

     GitLab持续集成(CI)的介绍与运行机制 GitLab-CI GitLab-CI就是一套配合GitLab使用的持续集成系统(当然,还有其它的持续集成系统,同样可以配合GitLab使用,比如Jen ...

  4. Travis CI mysql_DevOps工具介绍连载(34)——Travis CI

    原标题:DevOps工具介绍连载(34)--Travis CI Travis CI 持续集成 Travis CI 是在线托管的持续集成服务,绑定Github项目,抓取新的代码自动进行测试构建,甚至自动 ...

  5. php ci url,URL路由设置-CI(codeigniter)PHP框架再探

    前面文章整体说了一下Codeigniter的访问,其中涉及到route,URL路由设置,下面对CI再说一下 在application/config/文件夹下有routes.php的设置. 1.首先说U ...

  6. php ci CodeIgniter框架图片缩略图处理类优化 缩放到固定大小

    上传图片生成指定大小的缩略图,原始图片可以是任何尺寸的,生成的缩略图不会变形. //上传文件路径$upload_dir = __DIR__."/uploads/"; if ($th ...

  7. CI(CodeIgniter)框架入门

    什么是CI框架: CdoeIgniter是为PHP开发人员提供的一套Web应用程序工具包.他的目的是能够让你从零开始更加快速的完成项目,它提供了一套丰富的类库来满足我们的日常需求,并且提供了一个简单的 ...

  8. ci php做记录删除,CI(CodeIgniter)框架中的增删改查操作_PHP教程

    CodeIgniter的数据函数类在 \system\database\DB_active_rec.php 代码如下: class ModelName extends CI_Model { funct ...

  9. CodeIgniter框架介绍

    入口 index.php :一些路径常量定义: => CodeIgniter.php : 1. 初始化一些 system/core内的类,例如Config, Utf8, URI 和Router等 ...

  10. layu后台框架结构介绍

    大家好,今天介绍的是一个基于 Layui 的后台框架模板--layuimini.\n\n   这是一个基于Layui编写的一套最简洁.清爽.易用的后台框架模板. 目前在GitHub 和 Gitee上都 ...

最新文章

  1. CentOS7 升级 Git 版本
  2. 全国各省“光棍”排名,数据揭秘哪里脱单最难?
  3. Windows Vista Ultimate试用
  4. 深入代码详谈irqbalance【转】
  5. Dungeon Master 地下城大师(BFS进阶)
  6. 帝国CMS 二级联动 基于optionTree插件
  7. window location href 手机端无法跳转_JavaScriptBOM__History_location(二十)
  8. 笔记《深入浅出数据分析》上
  9. php新手自学手册,PHP完全自学手册(文档教程)
  10. tomcat 9 http请求中文乱码问题
  11. linux rarcrack破解rar、zip和7z压缩包简单密码的工具
  12. 数据结构 09-链表概念及常见链表结构
  13. gre 填空64-77
  14. 【微积分】2.2一元函数积分
  15. c 语言识别图片中的文字,Tesseract OCR图片识别为文字
  16. Linux 下安装 Wordpress教程
  17. Wireshark lua插件
  18. Think Server RD350X 板载RAID设置
  19. 基于JavaWeb的餐饮库存管理系统
  20. 全球10大黑客组织排行榜

热门文章

  1. 手术导航系统原理简介、主要工作及应用
  2. matlab电机仿真 pdf,现代永磁同步电机控制原理及MATLAB仿真 pdf+随书仿真模型
  3. OBS直播影视使用虚拟声卡
  4. EDA课程设计-拔河游戏A设计
  5. STM32点阵静态显示汉字
  6. JavaScript高级程序设计 第4版
  7. 80x86汇编小站站长简单介绍-2014年08月23日
  8. 双硬盘双win10互不干扰_双硬盘新装window10系统
  9. IP数据包格式、ICMP、ARP
  10. Matlab 马尔可夫链预测双色球