3 基础:路由地址
一 路由到控制器和方法
1)普通路由
//1 默认Index控制器
Route::rule('/','index');
http://www.blog.com/admin
//2 一般都是路由到 控制器/方法
Route::rule('news/:id','News/index');
http://www.blog.com/admin/news
2)路由到 多级控制器
//1 多级控制器的定义 文件所在目录 admin/controller/father/Son.php <?php namespace app\admin\controller\father; class Son { public function index(){ return '我是多级目录'; } } //2 多级控制器的访问 http://www.blog.com/admin/father.son/index //3 路由到多级控制器 Route::rule('son','father.son/index'); http://www.blog.com/admin/son
3)路由到动态应用、控制器 或者操作

二 路由到类
路由到类 支持任何类的方法 而不是局限于控制器的方法
//语法1 类名@方法名
Route::rule('news','\app\admin\controller\news@hello');
http://www.blog.com/admin/news 成功访问到
//语法2 类名::方法名
Route::rule('news','\app\admin\controller\news::hello');
http://www.blog.com/admin/news 成功访问到
三 重定向路由
Route::redirect('blog/:id', 'http://blog.thinkphp.cn/read/:id', 302);
Route::redirect('news','https://www.baidu.com','302');
四 路由到模板
Route::view('news/:name','News/index',['city'=>'bj']);
可以获取到 city的变量 bj 但是获取不到 地址栏传递的 name 变量 ?
模板页面输出:Hello,{$name}--{$city}!
五 路由到响应对象
Route::get('hello/:name', response() ->data('Hello,ThinkPHP') ->code(200) ->contentType('text/plain'));
使用场景:更多的情况是直接对资源文件的请求设置404访问
对于不存在的static目录下的资源文件设置404访问 Route::get('static', response()->code(404));
六 路由到闭包
Route::get('hello', function () { return 'hello,world!'; });
可以在闭包中传入参数
闭包支持依赖注入

浙公网安备 33010602011771号