php CI框架目录结构及运行机制

摘要:
包含网站的基本配置信息。控制器存储项目的控制器目录核心。此目录可以扩展系统的核心文件。错误包含错误信息页。挂钩是用于加载其他文件的助手函数。您可以扩展系统的辅助功能。语言存储您自己语言的文件目录库。
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框架目录结构及运行机制》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇STM32 USART整理说明(转)windows 环境下nginx + tomcat群 + redis 实现session共享下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C89标准和C99标准C11标准的区别

转载 C89标准和C99标准C11标准的区别 C99对C89的改变 1、增加restrict指针  C99中增加了公适用于指针的restrict类型修饰符,它是初始访问指针所指对象的惟一途径,因此只有借助restrict指针表达式才能访问对象。restrict指针指针主要用做函数变元,或者指向由malloc()函数所分配的内存变量。restrict数据类型...

js实现之--防抖节流【理解+代码】

防抖:     理解:在车站上车,人员上满了车才发走重点是人员上满触发一次。     场景:实时搜索,拖拽。     实现:         //每一次都要清空定时器,重新设置上计时器值,使得计时器每一次都重新开始,直到最后满足条件并且等待delay时间后,才开始执行handler函数。 // func是用户传入需要防抖的函数 // wait是等待时间 c...

ubuntu12中设置PATH环境变量的几种方法(三种办法)

如果在Ubuntu12系统中自行安装了一些软件,特别是使用tar.gz文件包安装的软件,通常会放在/usr/local或者/opt,甚至放在/home下,但是如果要调用或执行时,必须加上完整的路径才可以,因为Ubuntu系统默认只执行/bin和/usr/bin下的程序,这非常不方便。一种简单的方法是直接将自己的可执行程序复制到/bin或者/usr/bin...

神奇的Timer之lock篇

严格的说,这篇叫做lock篇不是太合适,为什么这么说,看完短文就知道了! 大家都对上一篇神奇的Timer中情景2中的示例有很多自己的看法,请允许我今天一一的评说一下吧,说的不对的地方,欢迎拍砖! 1.还是应该写一个5分钟的定时器,只不过在回调函数中检查内容是否有变化! 这个方案是没有问题的,因为RichTextBox中有一个Modified属性,用它可以来...

Qt入门之常用Qt标准对话框之QMessageBox

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://devbean.blog.51cto.com/448512/217694 好久没有更新博客,主要是公司里面还在验收一些东西,所以没有及时更新。而且也在写一个基于Qt的画图程序,基本上类似于PS的东西,主要用到的是Qt Graphics...

WSDL2Java操作指南

  1. 安装JDK1.5, 配置系统环境变量:    下载安装JDK后, 设置环境变量:    JAVA_HOME=C:\Program Files\Java\jdk1.5.0_02    Path=%Path%;%JAVA_HOME%\bin(这里的%Path%指你系统已经有的一系列配置)    CLASSPATH=%JAVA_HOME%\lib 2...