页面跳转 在应用开发中,经常会遇到一些带有提示信息的跳转页面,例如操作成功或者操作错误页面,并且自动跳转到另外一个目标页面。系统的 \think\Controller 类内置了两个跳转方法
空操作是指系统在找不到指定的操作方法的时候,会定位到空操作( _empty )方法来执行,利用这个机制,我们可以实现错误页面和一些URL的优化。 例如,下面我们用空操作功能来实现
空控制器的概念是指当系统找不到指定的控制器名称的时候,系统会尝试定位空控制器(Error),利用这个机制我们可以用来定制错误页面和进行URL的优化。 现在我们把前面的需求进一步
可以为某个或者某些操作指定前置执行的操作方法,设置 beforeActionList 属性可以指定某个方法为其他方法的前置操作,数组键名为需要调用的前置方法名,无值的话为当前控制器下所有
如果你的控制器类继承了 \think\Controller 类的话,可以定义控制器初始化方法 _initialize ,在该控制器的方法调用之前首先执行。 例如: namespace app \ index \ controller ; use think \ Controller ;
ThinkPHP V5.0的控制器定义比较灵活,可以无需继承任何的基础类,也可以继承官方封装的 \think\Controller 类或者其他的控制器类。 控制器定义 一个典型的控制器类定义如下: namespace app
ThinkPHP支持完整域名、子域名和IP部署的路由和绑定功能,同时还可以起到简化URL的作用。 要启用域名部署路由功能,首先需要开启: url_domain_deploy = true 定义域名部署规则支持两种方式
ThinkPHP5.0支持路由URL地址的统一生成,并且支持所有的路由方式,以及完美解决了路由地址的反转解析,无需再为路由定义和变化而改变URL生成。 版本 更新功能 5.0.10 增加 app_host 配置参
模型绑定( V5.0.1 ) 路由规则和分组支持绑定模型数据,例如: Route::rule( hello/:id , index/index/hello , GET ,[ ext = html , bind_model =[ user = \app\index\model\User , ],]); 会自动给当前路由绑定 id 为 当
全局MISS路由 如果希望在没有匹配到所有的路由规则后执行一条设定的路由,可以使用 MISS 路由功能,只需要在路由配置文件中定义: return [ new /:id = News /read, blog /:id = [ Blog /update,[ me
闭包定义 我们可以使用闭包的方式定义一些特殊需求的路由,而不需要执行控制器的操作方法了,例如: Route:: get ( hello , function () { return hello,world! ;}); 参数传递 闭包定义的时候支持参
可以使用路由绑定简化URL或者路由规则的定义,绑定支持如下方式: 绑定到模块/控制器/操作 把当前的URL绑定到模块/控制器/操作,最多支持绑定到操作级别,例如在路由配置文件中添
路由别名功能可以使用一条规则,批量定义一系列的路由规则。 例如,我们希望使用 user 可以访问index模块的User控制器的所有操作,可以使用: // user 别名路由到 index / User 控制器Rou
路由分组 路由分组功能允许把相同前缀的路由定义合并分组,这样可以提高路由匹配的效率,不必每次都去遍历完整的路由规则。 例如,我们有定义如下两个路由规则的话 blog /:id =
资源路由 5.0支持设置 RESTFul 请求的资源路由,方式如下: Route::resource( blog , index/blog ); 或者在路由配置文件中使用 __rest__ 添加资源路由定义: return [ // 定义资源路由 __rest__ =[ // 指向
快捷路由允许你快速给控制器注册路由,并且针对不同的请求类型可以设置方法前缀,例如: // 给User控制器设置快捷路由 Route::controller( user , index/User ); User控制器定义如下: namespace
路由参数 路由参数是指可以设置一些路由匹配的条件参数,主要用于验证当前的路由规则是否有效,主要包括: 参数 说明 method 请求类型检测,支持多个请求类型 ext URL后缀检测,支持
路由地址定义 版本 新增功能 5.0.4 路由到类和控制器的方法支持传入额外参数 路由地址表示定义的路由表达式最终需要路由到的地址以及一些需要的额外参数,支持下面5种方式定义:
变量规则 EyouCms1.0支持在规则路由中为变量用正则的方式指定变量规则,弥补了动态变量无法限制具体的类型问题,并且支持全局规则设置。使用方式如下: 全局变量规则 设置全局变量
如果你的路由规则比较特殊,可以在路由定义的时候使用组合变量。 例如: Route:: get ( item-name-id , product/detail ,[],[ name = \w+ , id = \d+ ]); 组合变量的优势是路由规则中没有固定的分隔符,
扫描二维码关注我们
在线时间09:00-24:00
8527114
yxgd678
账号密码登录
登录即视为同意《用户注册协议》
我已阅读并同意 《用户注册协议》