可以动态注入当前Request对象的属性,方法:// 动态绑定属性Request::instance()->bind('user',new User);// 或者使用Request::instanc
方法参数绑定是把URL地址(或者路由地址)中的变量作为操作方法的参数直接传入。操作方法参数绑定按名称绑定参数绑定方式默认是按照变量名进行绑定,例如,我们给Blog控制器定义了两个操作方法read和archive方法,由于read操作需要指定一个id参
ThinkPHP的依赖注入(也称之为控制反转)是一种较为轻量的实现,无需任何的配置,并且主要针对访问控制器进行依赖注入。可以在控制器的构造函数或者操作方法(指访问请求的方法)中类型声明任何(对象类型)依赖,这些依赖会被自动解析并注入到控制器实例或方法
请求缓存(V5.0.1)5.0.1以上版本支持请求缓存功能,支持对请求地址设置缓存访问,并设置有效期。版本新增功能5.0.11请求缓存支持缓存标签5.0.6全局请求缓存支持排除规则5.0.4请求缓存支持模块单独开启5.0.3增加全局请求缓存支持请求缓
ThinkPHP V5.0的控制器定义比较灵活,可以无需继承任何的基础类,也可以继承官方封装的\think\Controller类或者其他的控制器类。控制器定义一个典型的控制器类定义如下:namespace app\index\contro
如果你的控制器类继承了\think\Controller类的话,可以定义控制器初始化方法_initialize,在该控制器的方法调用之前首先执行。例如:namespace app\index\controller;use thin
可以为某个或者某些操作指定前置执行的操作方法,设置 beforeActionList属性可以指定某个方法为其他方法的前置操作,数组键名为需要调用的前置方法名,无值的话为当前控制器下所有方法的前置方法。['except'&nb
页面跳转在应用开发中,经常会遇到一些带有提示信息的跳转页面,例如操作成功或者操作错误页面,并且自动跳转到另外一个目标页面。系统的\think\Controller类内置了两个跳转方法success和error,用于页面跳转提示。使用方法很简单,举例如
空操作是指系统在找不到指定的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。例如,下面我们用空操作功能来实现一个城市切换的功能。我们只需要给City控制器类定义一个_empty 
空控制器的概念是指当系统找不到指定的控制器名称的时候,系统会尝试定位空控制器(Error),利用这个机制我们可以用来定制错误页面和进行URL的优化。现在我们把前面的需求进一步,把URL由原来的http://serverName/index/city/