属性注入

请求

属性注入

2021-03-24 09:56:45 964阅读 702赞
可以动态注入当前Request对象的属性,方法:// 动态绑定属性Request::instance()->bind('user',new User);// 或者使用Request::instanc
参数绑定

请求

参数绑定

2021-03-24 09:56:17 878阅读 616赞
方法参数绑定是把URL地址(或者路由地址)中的变量作为操作方法的参数直接传入。操作方法参数绑定按名称绑定参数绑定方式默认是按照变量名进行绑定,例如,我们给Blog控制器定义了两个操作方法read和archive方法,由于read操作需要指定一个id参
依赖注入

请求

依赖注入

2021-03-24 09:54:49 944阅读 924赞
ThinkPHP的依赖注入(也称之为控制反转)是一种较为轻量的实现,无需任何的配置,并且主要针对访问控制器进行依赖注入。可以在控制器的构造函数或者操作方法(指访问请求的方法)中类型声明任何(对象类型)依赖,这些依赖会被自动解析并注入到控制器实例或方法
请求缓存

请求

请求缓存

2021-03-24 09:53:50 757阅读 763赞
请求缓存(V5.0.1)5.0.1以上版本支持请求缓存功能,支持对请求地址设置缓存访问,并设置有效期。版本新增功能5.0.11请求缓存支持缓存标签5.0.6全局请求缓存支持排除规则5.0.4请求缓存支持模块单独开启5.0.3增加全局请求缓存支持请求缓
控制器定义

控制器

控制器定义

2021-03-24 09:50:23 615阅读 872赞
ThinkPHP V5.0的控制器定义比较灵活,可以无需继承任何的基础类,也可以继承官方封装的\think\Controller类或者其他的控制器类。控制器定义一个典型的控制器类定义如下:namespace app\index\contro
控制器初始化

控制器

控制器初始化

2021-03-24 09:49:43 718阅读 896赞
如果你的控制器类继承了\think\Controller类的话,可以定义控制器初始化方法_initialize,在该控制器的方法调用之前首先执行。例如:namespace app\index\controller;use thin
前置操作

控制器

前置操作

2021-03-24 09:48:57 548阅读 707赞
可以为某个或者某些操作指定前置执行的操作方法,设置 beforeActionList属性可以指定某个方法为其他方法的前置操作,数组键名为需要调用的前置方法名,无值的话为当前控制器下所有方法的前置方法。['except'&nb
跳转和重定向

控制器

跳转和重定向

2021-03-24 09:48:19 975阅读 966赞
页面跳转在应用开发中,经常会遇到一些带有提示信息的跳转页面,例如操作成功或者操作错误页面,并且自动跳转到另外一个目标页面。系统的\think\Controller类内置了两个跳转方法success和error,用于页面跳转提示。使用方法很简单,举例如
空操作

控制器

空操作

2021-03-24 09:47:45 846阅读 671赞
空操作是指系统在找不到指定的操作方法的时候,会定位到空操作(_empty)方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。例如,下面我们用空操作功能来实现一个城市切换的功能。我们只需要给City控制器类定义一个_empty 
空控制器

控制器

空控制器

2021-03-24 09:47:09 691阅读 987赞
空控制器的概念是指当系统找不到指定的控制器名称的时候,系统会尝试定位空控制器(Error),利用这个机制我们可以用来定制错误页面和进行URL的优化。现在我们把前面的需求进一步,把URL由原来的http://serverName/index/city/
多级控制器

控制器

多级控制器

2021-03-24 09:46:27 642阅读 871赞
新版支持任意层次级别的控制器,并且支持路由,例如:namespace app\index\controller\one;use think\Controller;class Blog extends 
分层控制器

控制器

分层控制器

2021-03-24 09:45:47 995阅读 888赞
访问控制器ThinkPHP引入了分层控制器的概念,通过URL访问的控制器为访问控制器层(Controller)或者主控制器,访问控制器是由\think\App类负责调用和实例化的,无需手动实例化。URL解析和路由后,会把当前的URL地址解析到&nbs
Rest控制器

控制器

Rest控制器

2021-03-24 09:45:12 989阅读 764赞
Rest控制器新版不再推荐使用Rest控制器,建议用资源控制器替代。下一个大版本即将废弃。如果需要让你的控制器支持RESTful的话,可以使用Rest控制器,在定义访问控制器的时候直接继承think\controller\Rest即可,例如:name
自动定位控制器

控制器

自动定位控制器

2021-03-24 09:44:27 848阅读 702赞
如果你使用了多级控制器的话,可以设置controller_auto_search参数开启自动定位控制器,便于URL访问,例如首先在配置文件中添加:'controller_auto_search' => tru
资源控制器

控制器

资源控制器

2021-03-24 09:43:37 988阅读 871赞
资源控制器可以让你轻松的创建RESTFul资源控制器,可以通过命令行生成需要的资源控制器,例如:// 生成index模块的Blog资源控制器php think make:controller index/Blo
路由模式

路由

路由模式

2021-03-24 09:43:03 669阅读 646赞
ThinkPHP5.0的路由比较灵活,并且不需要强制定义,可以总结归纳为如下三种方式:一、普通模式关闭路由,完全使用默认的PATH_INFO方式URL:'url_route_on'  => &nbs
路由定义

路由

路由定义

2021-03-24 09:42:13 1008阅读 851赞
注册路由规则路由注册可以采用方法动态单个和批量注册,也可以直接定义路由定义文件的方式进行集中注册。动态注册路由定义采用\think\Route类的rule方法注册,通常是在应用的路由配置文件application/route.php进行注册,格式是:
批量注册

路由

批量注册

2021-03-24 09:41:27 736阅读 872赞
批量注册路由规则可以使用两种方式,包括方法注册和路由配置定义。批量注册如果不希望一个个注册,可以使用批量注册,规则如下:Route::rule(['路由规则1'=>'路由地址和参数','路由规则2'
变量规则

路由

变量规则

2021-03-24 09:40:48 834阅读 802赞
变量规则ThinkPHP5.0支持在规则路由中为变量用正则的方式指定变量规则,弥补了动态变量无法限制具体的类型问题,并且支持全局规则设置。使用方式如下:全局变量规则设置全局变量规则,全部路由有效:// 设置name变量规则(采用正则定义)R
组合变量

路由

组合变量

2021-03-24 09:40:01 772阅读 801赞
如果你的路由规则比较特殊,可以在路由定义的时候使用组合变量。例如:Route::get('item-<name>-<id>','product/detail',[],['name'