# 闭包 也可以使用以下方式的路由定义,比如 ```php Route::rule('think', function () { return 'hello,ThinkPHP5!'; }); ``` 此时,使用如下路由访问即可得到回调函数中的返回值 : ```php http://www.my-tp5.com/think ``` ## 参数传递 例如,有如下定义 ```php Route::get('hello/:name', function ($name) { return 'Hello, ' . $name; }); ``` 规则路由中定义的动态变量的名称 就是闭包函数中的参数名称,不分次序。 ``` http://serverName/hello/xiaoyu ``` 则可以看到浏览器输出 `Hello, xiaoyu` ## 指定响应对象 可以在路由闭包中指定响应对象输出,例如使用依赖注入的方式: ```php Route::get('hello/:name', function (\think\Response $response, $name) { return $response ->data('Hello,' . $name) ->code(200) ->contentType('text/plain'); }); ``` 这种情况可以使用助手函数 ```php Route::get('hello/:name', function ($name) { return response() ->data('Hello,' . $name) ->code(200) ->contentType('text/plain'); }); ``` 更多的情况是直接对资源文件的请求设置404访问 ```php // 对于不存在的 static 目录下的资源文件设置 404 访问 Route::get('static', response()->code(404)); ```