php优秀框架codeigniter学习系列——CI_Router类学习
这篇文章主要介绍CI核心框架工具类CI_Router。
如果说CI_URI类是用来解析URI,那么CI_Router类就应该是根据解析出来的URI来决定究竟访问哪一个文件和哪一个function。
详细步骤:
1.导入CI_Config和CI_URI类作为资源;
2.调用其中的_set_routing()方法,在该方法中首先把用户在config目录中设置的route.php的$route路由数组取出来;
3. 调用_parse_routes()方法,路由数组中的值和键可以利用正则表达式,甚至可以把值设置为回调函数,在这里分别进行处理;
4.调用_set_request()方法,分出$this->uri->segments或者$val中的控制器,方法,参数,将真正需要访问的类和方法存入$this->class,和$this->method,以方便以后的调用。
在Codeigniter.php中会调用:
$class = ucfirst($RTR->class);
$method = $RTR->method;
参考:
php优秀框架codeigniter学习系列——CI_Router类学习的更多相关文章
- php优秀框架codeigniter学习系列——CI_Security类学习
		这篇文章主要介绍CI核心框架工具类CI_Security. 安全类包含了一些方法,用于安全的处理输入数据,帮助你创建一个安全的应用.以下选取类中的重点方法进行说明. __construct() 在构造 ... 
- php优秀框架codeigniter学习系列——CI_URI类学习
		这篇文章主要介绍CI核心框架工具类CI_URI. 该类主要用来解析uri和决定路由的.关于URI和URL的关系请参考这位朋友的文章.简单来说URI是唯一定位的资源,URL是唯一资源的一个网络可能访问路 ... 
- php优秀框架codeigniter学习系列——CI_Lang类学习
		这篇文章主要介绍CI核心框架工具类CI_Lang. 根据CI文档自己的定义,该类用来: 提供相关的函数,用于检索语言文件和文本行,以便国际化. 以下选取类中的重点方法进行说明. __construct ... 
- php优秀框架codeigniter学习系列——CI_Input类学习
		这篇文章主要介绍CI核心框架工具类CI_Input. 根据CI文档自己的定义,该类用来: 提前处理全局变量,以保证安全; 提供一些帮助函数用来处理输入数据. 以下选取类中的重点方法进行说明. __co ... 
- php优秀框架codeigniter学习系列——CodeIgniter.php概览
		CodeIgniter.php是CI框架的核心文件.它在前端控制器index.php之后运行,加载各类基础组件,执行请求.文件执行完成后,这次请求也就结束了.所以,该文只能对CodeIgniter.p ... 
- 《Python爬虫学习系列教程》学习笔记
		http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己 ... 
- 【深度学习系列】迁移学习Transfer Learning
		在前面的文章中,我们通常是拿到一个任务,譬如图像分类.识别等,搜集好数据后就开始直接用模型进行训练,但是现实情况中,由于设备的局限性.时间的紧迫性等导致我们无法从头开始训练,迭代一两百万次来收敛模型, ... 
- php优秀框架codeigniter学习系列——CI_Loader类分析
		这是一个加载视图和文件的类. __construct() 设置视图文件的路径,和获取输出缓冲级别. initialize() 该方法只会被CI_Controller调用一次,会调用 $this-> ... 
- php优秀框架codeigniter学习系列——CI_Output类的学习
		这篇文章主要介绍CI核心框架工具类CI_Output. 根据CI文档自己的定义,这个类主要就是生成返回的页面给浏览器.以下选取类中的重点方法进行说明. __construct() 在构造函数中,主要确 ... 
随机推荐
- java SE学习过程中的知识点小结(一)(很多内容过于基础,希望能帮助到学习路上的同学)————欢迎老手批评指正
			①.把boolean测试放在括号内:例如while(x==4){} //当然看过很多博客,里面有工作经验的工作者说以后公司可能习惯性写(4==x) ②.所有java程序都定义在类中(也是区别于C++ ... 
- linux系统(rpm与deb环境),JAVA JDK的配置
			步骤一:(配置 JAVA JDK DEB系列linux系统) 1,下载JAVA JDK 1.1.官网下载java JDK (最好为1.7及以上版本) 下载地址http://www.oracle.co ... 
- Java多态(注意事项)
			多态:相同类型的变量.调用同一方法时呈现出多种不同的行为特征,这就是多态. 1.引用变量在编译阶段只能调用其编译时类型所具有的方法,但运行时则执行它运行时类型所具有的方法,因此编写Java代码时.引用 ... 
- 【Python65--tkinter:button】
			一.需求:在Label页面增加一个按钮,点击此按钮,页面内容进行变化 思路: 1.上面放一个Label,下面放一个Button 2.采用frame框架 from tkinter import * #定 ... 
- redux-thunk的理解
			问题:1.redux-thunk要解决什么问题? 要解决异步请求问题,Action发出以后,Reducer立即算出State,这叫做同步:Action发出以后,过一段时间再执行 Reducer,这就叫 ... 
- linux下如何编译安装gcc-8.3.0
			1. 获取源码 wget https://mirrors.ustc.edu.cn/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.xz -P ~ tar xvf gcc-8.3.0.t ... 
- HTML基础(2)——边框
			边框:(尺寸 样式 颜色) div{border:1px solid red;} 样式可能的值: dotted(点状边框,在大多数浏览器里呈现实线) dashed(虚线.在大多数浏览器中呈现为实线) ... 
- 关于MVC RouteExistingFiles疑问后续
			前两天写了<关于MVC RouteExistingFiles疑问>,本来希望寻求大佬快速解答,奈何无人问津. 只能查看.NET 源代码,可以使用反编译工具(我用IL spy),也可以在线查 ... 
- mac系统删除.DS_Store文件
			查找某目录下某类文件 find . -name ".DS_Store" -type f -print # find: 主命令 # . : 当前目录下(可变) # -name: 通过 ... 
- js parseInt
			语法: parseInt(string, radix); string 要被解析的值.如果参数不是一个字符串,则将其转换为字符串(使用 ToString 抽象操作).字符串开头的空白符将会被忽略. ... 
