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. Bootstrap 图标菜单按钮组件

    ---恢复内容开始--- 一.小图标组件 Bootstrap 提供了免费的 263 个小图标(数了两次),具体可以参考中文官网的组件 链接:http://v3.bootcss.com/componen ...

  2. {转}每次从vss获取文件都是只读

    http://www.cnblogs.com/lauplay/p/3141636.html 在 Visual Studio 2008 中,使用 VSS 作为源码管理器,把文件签入后,文件会自动变为只读 ...

  3. VS下如何调试多线程

    四步即可 1.打开多线程窗口,找到当前线程 此时,出现窗口如下: 2.右击任意位置,选中全部线程 3.停止全部线程 此时,线程状态如下: 4.单独启动当前线程:先单击当前线程,在点击启动按钮,如下红色 ...

  4. scala 学习笔记

    1.简洁 1.1.java的写法 class MyClass { private int index; private String name; public MyClass(int index, S ...

  5. 一张表有三个字段:id(城市id) Cityname(城市名) Privence(所属省份)如果要统计每个省份有多少城市请用SQL实现。

    一张表有三个字段:id(城市id) Cityname(城市名) Privence(所属省份)如果要统计每个省份有多少城市请用SQL实现.

  6. 用facebook账号登陆到你的Magento网店

    Inchoo提供magento和facebook连接的扩展,可以到http://inchoo.net/ecommerce/magento/facebook-connect-magento-extens ...

  7. magento去掉add to cmpre和email to friend

    修改:\app\design\frontend\default\blanco\template\catalog\product下list.phtml 和app\design\frontend\defa ...

  8. Linux命令行–理解Linux文件权限(转)

    6.1.1 /etc/passwd文件 /etc/passwd:包含系统用户账户列表以及每个用户的基本配置信息 每个条目有七个字段,每个字段用冒号隔开 登录用户名 用户密码 用户账户的UID 用户账户 ...

  9. Java之Ajax技术

    ajax(asynchronouse javascript and xml) 异步的javascript 和 xml(现在常把xml换成json): ajax是2005年提出的,在2006,2007年 ...

  10. dataguard集群搭建

    dataguard集群搭建 1. 创建虚拟机 创建一台虚拟机配置如下: 系统Red Hat Enterprise 6(64位).16vCPU.8G内存.两块VM Network类型网卡.三块硬盘分别为 ...