常规使用方式
可以携带参数,也可以不携带参数
<?php
/**
* 使用闭包
*/
# 不携带传递参数
Route::get('hi/:name', function () {
return 'Hi';
});
# 携带参数传递
Route::get('hi2/:name', function ($name) {
return 'Hi '. $name;
});
依赖注入请求对象
也可以依赖注入请求对象,在这里 use think\facade\Route; 加不加其实对功能没啥影响,只是加上后会更加清晰一点。提醒自己使用的是 fade 下 Route 类,这只是是静态代理而已。
<?php
use think\facade\Route;
use think\Request;
# 闭包中使用依赖注入
Route::rule('hello/:name', function (Request $request, $name) {
// 获取请求方法的类型
$method = $request->method();
return '[' . $method . '] Hello,' . $name;
});
postman 测试效果:
依赖注入响应对象
同样的我们也可以依赖注入响应对象,例子如下:
<?php
use think\Response;
# 注入一个响应对象
Route::rule('hello/:name', function (Response $rep, $name) {
return $rep
->data('Hello,' . $name)
->code(200)
->contentType('text/plain');
});
也可以写成下面这样,连 return 都省略,完全的链式调用。
<?php
Route::get('hello/:name', response()
->data('Hello,' . $name)
->code(200)
->contentType('text/plain'));