摘要: 闭包定义 我们可以使用闭包的方式定义一些特殊需求的路由,而不需要执行控制器的操作方法了,例如: 参数传递 闭包定义的参数传递在规则路由和正则路由的两种情况下有所区别。 规则路由的参数传递比较简单: 规则路由中定义的动态变量的名称 就是闭包函数中的参数名称,不分次序。 因此,如果我们访问的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) 编辑
摘要: 应用编译机制作为ThinkPHP独创的功能特色,从1.0版本就延续至今,3.2版本的编译机制更加具有特色。 一、应用编译缓存 编译缓存的基础原理是第一次运行的时候把核心需要加载的文件去掉空白和注释后合并到一个文件中,第二次运行的时候就直接载入编译缓存而无需载入众多的核心文件。当第二次执行的时候就会根 阅读全文
posted @ 2017-05-16 14:14 禁丿Memory 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 3.2版本的应用模式可以替代之前的引擎扩展和模式扩展,支持应用模式定义。 每个应用模式有自己的定义文件,用于配置当前模式需要加载的核心文件和配置文件,以及别名定义、行为扩展定义等等。除了模式定义外,应用自身也可以独立定义模式文件。 如果应用模式涉及到不同的存储类型,例如采用分布式存储等,就需要另外设 阅读全文
posted @ 2017-05-16 14:08 禁丿Memory 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 在3.2中,基本上无需手动加载类库文件,你可以很方便的完成自动加载 一、命名空间自动加载 系统可以通过类的命名空间自动定位到类库文件,例如: 我们定义了一个类 Org\Util\Auth 类: 保存到ThinkPHP/ Library/Org/Util/Auth.class.php。 接下来就是实例 阅读全文
posted @ 2017-05-16 10:46 禁丿Memory 阅读(253) 评论(0) 推荐(0) 编辑