一个完整的请求在laravel 中它最简单的路径就是,路由->返回
路由在laravel的根目录文件夹routes中配置,里面可以在原有的基础上添加,也可以新增路由文件(不过要小小的配置一下,如何新增在后面章节具体讲)
基本路由
Route::get('/', function () {
return 'Hello World';
});
这个基本路由知道就行,没实际用途,当然闭包里还是可以写逻辑代码的。
具体路由
Route::get('/user', 'UserController@index');
‘/user’ 是http访问域名后面的链接,UserController是具体的控制器,index是里面具体的方法。
下面是具体的请求方法可以用postman进行测试,请求方式都和下面一一对应。这里就不具体的说了。
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
Route::match(['get', 'post'], $uri,$callback); //匹配数组里面的请求
Route::any($uri, $callback); //全请求
路由分组
Route::group(['prefix' => 'web', 'namespace' => 'Home\Web'], function () {
Route::any('/', 'IndexController@index');
Route::any('/test', 'IndexController@test');
});
prefix是路由访问公共部分,namespace这个命名空间是你控制器所在的命名空间自己定义,闭包里面是你具体的路由。
具体访问链接为:
http://域名/web 这个访问的是第一个
http://域名/web/test 这个访问的是第二个
引入中间件做访问控制
Route::group(['middleware' => ['web.login'], 'prefix' => 'web', 'namespace' => 'Home\Web'], function () {
Route::any('/', 'IndexController@index');
Route::any('/test', 'IndexController@test');
});
middleware是中间件key, [‘web.login’]是自己定义的中间件,它是个数组里面可以跟很多中间件,这样定义后,所有这个组里面访问的链接都要经过这里的中间件,比如判断是否有登陆等等需要前置条件访问限制。
以上是使用比较多的路由功能
更多用法请参考Laravel路由