CI目录结构

  CI主要组成部分为,application(应用文件夹)、system(系统文件夹)和index.php入口文件。
 
  应用文件夹中主要是存放控制器、模型和视图等,系统文件夹中主要是存放组成CI的核心文件的,index.php入口文件是一个单一入口文件,所谓单一文 件是指在一个网站(应用程序)中,所有的请求都是指向的这么一个文件,由它负责接收并处理URL中的控制器和方法。换句话说, 它调用一个 '控制器', 然后返回一个'视图'。
 
application
cache          第一次安装时为空,如果你打开缓存设置,这个目录存放缓存数据
config         存放配置文件,包含网站的基本配置信息
controllers    存放你项目的控制器目录
core           该目录可以扩展系统的核心文件
errors         包含出错信息页,你不必修改这个目录
hooks          首次安装时为空,用来存放你创建的钩子。钩子是 用来装载其它文件的控制方法
helpers        辅助函数,你可以对系统的辅助函数进行扩展
language       存放你本国语言的文件目录
libraries      类库,你可以创建自己的类库
logs           如果你设置打开了系统的错误日志,日志文件就默认保存在这个目录
models         存放你项目的模型目录
views          存放视图的模板目录
 
system :            
   core            存放系统核心文件
   database        CI框架的数据库类的类库文件
   fonts           没有在用户手册中介绍,存放水印图像使用的字体
   helpers         辅助函数,你可以对系统的辅助函数进行扩展
   language        存放英语的文件目录
   libraries       存放一些类库的目录,比如SESSION类、分页类、图像类等
 
  应用文件夹(application)中,最重要的文件夹是config,该文件夹内有两个需要关注的文件:config.php 和 database.php,其次是controllers、models和views文件夹,分别存储你网站中的控制器、模型和视图。
 
URL处理机制
假如URL网址为:http://yoursite/index.php/control/func/param1/param2/...
 
http://www.yoursite.com
定位你网站的基本URL
 
/index.php
定位CI路由器并读取URL的其它部分,分析后定们到相关网页
 
/control
CI将调用的控制器的名称(如果没有设置控制器名称,CI将调用你在config文件中设置的默认控制器)
 
/func
CI将调用的函数的名称,位于所调用的控制器内。(如果不存在该函数,默认调用的是index函数,除非你使用_remap)
 
/param1
CI把这个作为传递给函数的变量
 
如果还有/param2/...
CI把更多的参数作为变量传递给函数
 
所以上面网址可以理解为:
http://localhost/index.php/控制器名/方法名/方法的参数1/方法的参数2/...

php CI框架目录结构及运行机制的更多相关文章

  1. JVM内存结构,运行机制

    三月十号,白天出去有事情出去了一天,晚上刚到食堂就接到阿里电话, 紧张到不行,很多基础的问题都不知道从哪里说了orz: 其中关于JVM内存结构,运行机制,自己笔记里面有总结的,可当天还是一下子说不出来 ...

  2. Web框架——XWAF的代码结构和运行机制(4)

    XWAF是一套基于Servlet和java反射技术的Web应用程序框架,它利用Servlet运行机制在服务器上加载和运行,接管客户端请求,依靠ServletRequest对象获取用户请求信息,使用Se ...

  3. maven(三):maven项目结构及其运行机制

    在上一篇中讲了如何创建maven项目,现在回到那个项目 项目结构 src/main/java:java代码目录 src/main/resources:资源目录,比如spring.xml文件,prope ...

  4. phpcms V9 框架目录结构

    phpcms v9框架的目录结构分析:      了解v9框架的目录结构,有助于帮助我们快速建立起对v9框架的一个整体认识 打开"mycms"项目,有如下文件和目录      使用 ...

  5. 01_日志采集框架Flume简介及其运行机制

    离线辅助系统概览: 1.概述: 在一个完整的大数据处理系统中,除了hdfs+mapreduce+hive组成分析系统的核心之外,还需要数据采集.结果数据导出. 任务调度等不可或缺的辅助系统,而这些辅助 ...

  6. 开源通用爬虫框架YayCrawler-框架的运行机制

    这一节我将向大家介绍一下YayCrawler的运行机制,首先允许我上一张图: 首先各个组件的启动顺序建议是Master.Worker.Admin,其实不按这个顺序也没关系,我们为了讲解方便假定是这个启 ...

  7. tp 框架目录结构

    ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布.ThinkPHP从诞生以来一 ...

  8. express框架目录结构

    . ├── app.js ├── bin │   └── www ├── node_modules │   ├── body-parser │   ├── cookie-parser │   ├── ...

  9. laravel框架目录结构详解

随机推荐

  1. (转)js一道比较考验的题目

    转载下别人曾经出过的一道面试题,此题是他出的一套前端面试题中的最后一题,用来考核面试者的JavaScript的综合能力,很可惜到目前为止的将近两年中,几乎没有人能够完全答对,并非多难只是因为大多面试者 ...

  2. MYSQL启动报1067错误,系统日志中是“服务 mysql 意外停止” Mysql日志中则是:“Plugin \'FEDERATED\' is disabled”

    MYSQL启动报1067错误,系统日志中是"服务 mysql 意外停止" Mysql日志中则是:"Plugin \'FEDERATED\' is disabled&quo ...

  3. 管子&小白

    管夷吾已入朝,稽首谢罪,桓公亲手扶起,赐之以坐.夷吾曰:“臣乃俘戮之余,得蒙宥死,实为万幸,敢辱过礼!”桓公曰:“寡人有问于子,子必坐,然后敢请."夷吾再拜就坐. 桓公曰:“齐,千乘之国,先 ...

  4. mongoDB安装学习

    一: 下载安装 上MongoDB官网 ,下载之后安装 安装好了之后在对应的安装目录下就会看到安装的文件 二:启动 微软徽标+R,输入cmd,首先找到“mongodb”的路径,然后运行mongod开启命 ...

  5. Java学习-040-级联删除目录中的文件、目录

    之前在写应用模块,进行单元测试编码的时候,居然脑洞大开居然创建了一个 N 层的目录,到后来删除测试结果目录的时候,才发现删除不了了,提示目录过长无法删除.网上找了一些方法,也找了一些粉碎机,都没能达到 ...

  6. Java学习-034-JavaWeb_003 -- JSP page 指令

    前文对 JSP 的基础知识进行了初步的讲解,此文主要讲述 JSP page 指令. page 指令用于定义页面的多种属性,例如:脚本语言.编码方式.导入的 Java 包等,page 执行的语法如下: ...

  7. 打开Apache自带的Web监视器

    首先,需要打开httpd.conf中的mod_status模块,具体步骤为: 1.用VI打开文件/etc/httpd/conf/httpd.conf 2.在VI命令模式下,输入/server-stat ...

  8. flex布局中flex-basis|flex-grow|flex-shrink

    flex布局中flex-basis|flex-grow|flex-shrink 整个才是正确的算法 flex-basis(基准值) 可以设置flex布局中容器的宽度,如果同时存在width属性,将把它 ...

  9. UIImage 调整图片大小

    -(UIImage *)scaleToSize:(UIImage *)img size:(CGSize)size { UIGraphicsBeginImageContext(size); [img d ...

  10. Web:AJAX的网络请求

    要访问的json文件内容如下图: 1.通过XMLHttpRequest方式发送请求 (1)前提创建XMLHttpRequest对象: //发送请求 var request; if (window.XM ...