摘要: 参数绑定是通过直接绑定URL地址中的变量作为操作方法的参数,可以简化方法的定义甚至路由的解析。 参数绑定功能默认是开启的,其原理是把URL中的参数(不包括模块、控制器和操作名)和操作方法中的参数进行绑定。 要启用参数绑定功能,首先确保你开启了URL_PARAMS_BIND设置: 按变量名绑定 默认的 阅读全文
posted @ 2017-05-22 15:12 禁丿Memory 阅读(1474) 评论(0) 推荐(0) 编辑
摘要: 前置和后置操作指的是在执行某个操作方法之前和之后会自动调用的方法,不过仅对访问控制器有效。 其他的分层控制器层和内部调用控制器的情况下前置和后置操作是无效的。 系统会检测当前操作是否具有前置和后置操作,如果存在就会按照顺序执行,前置和后置操作的定义方式如下: 如果我们访问 http://server 阅读全文
posted @ 2017-05-22 15:03 禁丿Memory 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 一般来说,ThinkPHP的控制器是一个类,而操作则是控制器类的一个公共方法。 下面就是一个典型的控制器类的定义: Home\IndexController类就代表了Home模块下的Index控制器,而hello操作就是Home\IndexController类的hello(公共)方法。 当访问 h 阅读全文
posted @ 2017-05-22 15:01 禁丿Memory 阅读(1147) 评论(0) 推荐(0) 编辑
摘要: 假设我们定义了News控制器如下(代码实现仅供参考): 定义路由规则如下: 然后,我们访问: http://serverName/index.php/Home/new/8 会匹配到第一个路由规则,实际执行的效果等效于访问: http://serverName/index.php/Home/News/ 阅读全文
posted @ 2017-05-22 14:26 禁丿Memory 阅读(582) 评论(0) 推荐(0) 编辑
摘要: 闭包定义 我们可以使用闭包的方式定义一些特殊需求的路由,而不需要执行控制器的操作方法了,例如: 参数传递 闭包定义的参数传递在规则路由和正则路由的两种情况下有所区别。 规则路由的参数传递比较简单: 规则路由中定义的动态变量的名称 就是闭包函数中的参数名称,不分次序。 因此,如果我们访问的URL地址是 阅读全文
posted @ 2017-05-16 15:30 禁丿Memory 阅读(648) 评论(0) 推荐(0) 编辑
摘要: 静态路由其实属于规则路由的静态简化版(又称为URL映射),路由定义中不包含动态参数,静态路由不需要遍历路由规则而是直接定位,因此效率较高,但作用也有限。 如果我们定义了下面的静态路由 注意:为了不影响动态路由的遍历效率,静态路由采用URL_MAP_RULES定义和动态路由区分开来 定义之后,如果我们 阅读全文
posted @ 2017-05-16 15:28 禁丿Memory 阅读(1158) 评论(0) 推荐(0) 编辑
摘要: 正则路由也就是采用正则表达式定义路由的一种方式,依靠强大的正则表达式,能够定义更灵活的路由规则。 路由表达式支持的正则定义必须以“/”开头,否则就视为规则表达式。也就是说如果采用: 方式定义的正则表达式不会被支持,而会被认为是规则表达式进行解析,从而无法正确匹配。 下面是一种正确的正则路由定义: 对 阅读全文
posted @ 2017-05-16 15:27 禁丿Memory 阅读(850) 评论(0) 推荐(0) 编辑
摘要: 规则路由 规则路由是一种比较容易理解的路由定义方式,采用ThinkPHP设计的规则表达式来定义。 规则表达式 规则表达式通常包含静态地址和动态地址,或者两种地址的结合,例如下面都属于有效的规则表达式: 规则表达式的定义始终以“/”为参数分割符,不受URL_PATHINFO_DEPR设置的影响 每个参 阅读全文
posted @ 2017-05-16 14:35 禁丿Memory 阅读(1671) 评论(0) 推荐(0) 编辑
摘要: 一、启用路由 要使用路由功能,前提是你的URL支持PATH_INFO(或者兼容URL模式也可以,采用普通URL模式的情况下不支持路由功能),并且在应用(或者模块)配置文件中开启路由: 3.2的路由功能是针对模块设置的,所以URL中的模块名不能被路由,路由定义也通常是放在模块配置文件中。 3.2.3版 阅读全文
posted @ 2017-05-16 14:25 禁丿Memory 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 我们来系统的了解下ThinkPHP框架开发的应用的标准执行流程: 阅读全文
posted @ 2017-05-16 14:16 禁丿Memory 阅读(163) 评论(0) 推荐(0) 编辑