Laravel路由学习
- 访问一个网站,不同的地址就是不同的界面,网址实际上也可以理解为路由,不同的路由会显示为不同的内容,类似于框架入口。
- Web.php里面有欢迎界面。
一、路由的使用方式
- Route::请求方式($uri, 回调函数/控制器@方法)
- 请求方式:get、post、put、delete、patch、options
- 回调函数:只返回给浏览器
- 控制器@方法:进入到控制器中的进一步方法
- 可以使用postman来实现,也可以使用插件
- 除了get、options这个两个其他的访问需要csrf验证
二、匹配多种请求方式
-
同一个uri可以使用不同的请求方式
-
match匹配:
Route::match(['get', 'post', 'put'], '/order', function () { return 'hello match'; });
-
any匹配
Route::any('anan', function() { return 'any'; });
-
redirect匹配
Route::redirect('/red', '/user');
-
view匹配
Route::view('vv', 'welcome');
三、路由参数
-
参数处理
Route::get('/user/{id}/{name}', function ($id, $name) { return 'this is user with id' . $id . 'name is : ' . $name; });
-
可选参数
Route::get('user/{name?}', function($name = '123') { return $name; });
-
过滤参数的需求,通过正则表达式过滤
Route::get('/user/{uid?}', function ($uid = null, $name = '666') { return 'this is user with id' . $uid . ', name is : ' . $name; })->where(['uid'=>'\d+']);
四、路由组
-
使用方法,对通用前缀的
Route::prefix('admin')->group(function (){ Route::get('users', function () { return 'admin users'; }); Route::get('orders', function () { return 'admin orders'; }); });