控制器 跳转和重定向 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控制器 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'
路由 路由参数 2021-03-24 09:39:18 555阅读 587赞 路由参数路由参数是指可以设置一些路由匹配的条件参数,主要用于验证当前的路由规则是否有效,主要包括:参数说明method请求类型检测,支持多个请求类型extURL后缀检测,支持匹配多个后缀deny_extURL禁止后缀检测,支持匹配多个后缀https检
路由 路由地址 2021-03-24 09:38:36 861阅读 877赞 路由地址定义版本新增功能5.0.4路由到类和控制器的方法支持传入额外参数路由地址表示定义的路由表达式最终需要路由到的地址以及一些需要的额外参数,支持下面5种方式定义:定义方式定义格式方式1:路由到模块/控制器'[模块/控制器/操作]?额外参数
路由 资源路由 2021-03-24 09:37:54 539阅读 867赞 资源路由5.0支持设置RESTFul请求的资源路由,方式如下:Route::resource('blog','index/blog');或者在路由配置文件中使用__rest__添加资源路由定义:return
路由 路由别名 2021-03-24 09:36:53 808阅读 630赞 路由别名功能可以使用一条规则,批量定义一系列的路由规则。例如,我们希望使用user可以访问index模块的User控制器的所有操作,可以使用:// user 别名路由到 index/User 控制器Route:
路由 路由分组 2021-03-24 09:36:23 631阅读 534赞 路由分组路由分组功能允许把相同前缀的路由定义合并分组,这样可以提高路由匹配的效率,不必每次都去遍历完整的路由规则。例如,我们有定义如下两个路由规则的话'blog/:id' => [
路由 MISS路由 2021-03-24 09:34:13 741阅读 633赞 全局MISS路由如果希望在没有匹配到所有的路由规则后执行一条设定的路由,可以使用MISS路由功能,只需要在路由配置文件中定义:return [ 'new/:id' &n
路由 闭包支持 2021-03-24 09:33:43 949阅读 606赞 闭包定义我们可以使用闭包的方式定义一些特殊需求的路由,而不需要执行控制器的操作方法了,例如:Route::get('hello',function(){ return