老莫的笔记本  
  
查看: 1027|回复: 0

TP5 路由绑定

[复制链接]

662

主题

878

帖子

5145

积分

超级版主

Rank: 8Rank: 8

积分
5145
发表于 2018-8-5 22:59:35 | 显示全部楼层 |阅读模式
注意了注意了,这个路由绑定啊,是建立在path_info的 路由格式,没有设置路由的 基础上的
用途嘛: 我个人觉得吧,挺有用的 【举个例子,比方我要绑定后台,这东西就新建一个入口文件进行操作 比较合理点】

1.入口绑定
在入口文件中,添加BING_MODULE系统常量
  1. //绑定到模块级第一步  只能绑定一个
  2. //define('BIND_MODULE','articles');
  3. //绑定到控制器级
  4. //define('BIND_MODULE','articles/laomo');
复制代码

2.入口自动绑定【入口文件名与应用中的模块自动绑定】
    2.1 更改设置 在config.php中,更改入口自动绑定模块设置 'auto_bind_module'=true,
    2.2 创建将要绑定的入口文件 【 就是滚过去建模块建文件】
    2.3 创建与入口文件对应的模块与控制器:【注意了 这里有个默认  比方说创建 app/admin/controller/index.php  这就是默认文件 里面的index()方法就是默认放在, 直接输入 域名/admin.php 就能访问 , 如果创建的是 admin/controller/admin.php 之类 则需要输入完整的路径】
  1.     // 入口自动绑定模块第一步
  2.     // 第二步,新建一个叫做 admin的入口文件
  3.     // 第三步,在APPlication下新建admin 模块
  4.     // 第四步绑定
  5.     'auto_bind_module'       => true,
复制代码
上述代码在 config.php 中

3.动态绑定
语法:Route::bind('模块[/控制器][/操作]')
  1. //动态路由绑定
  2. //think\Route::bind('articles');   //绑定到模块
  3. //think\Route::bind('articles/laomo');   //绑定到控制器
  4. //think\Route::bind('articles/laomo/mv1');  //绑定到方法
复制代码
动态绑定 绑定到空间或者类名
  1. think\Route::bind('app\articles\controller','namespace');//绑定到命名空间
  2. think\Route::bind('app\articles\controller\Laomo','class');//绑定到类【注意大写】
复制代码
注意: 上述直接绑定到类的  会跳过模块初始化!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表