laravel 常见路由
laravel路由可以接收一个url 或者 一个闭包
Route::get('/', function () {
return view('welcome');
});
laravel的路由配置目录如下
相应的逻辑在 app/Providers/RouteServiceProvider, web.php路由中的可以使用session 或者 csrf, api.php 是无状态的,其路由访问加上api/即可。
laravel有效的路由
Route::match(['get', 'post'], 'match', function (){
return 'get 或者 post';
});
Route::any('any', function (){
return 'any';
});
post 方法记得CSRF安全保护,所以可以在app/Http/Middleware/VerifyCsrfToken 中取消对应路由,否则返回419错误。
Match, 是可以匹配数组中的任意一方法。 Any 是任何方法都可以。 可以添加csrf_token 参数 用csrf_field()函数
Route::any('csrf', function(){
return '<form method="POST" action="/profile">'. csrf_field().'<button type="submit">提交</button></form>';
});
Route::any('profile', function(){
echo 'post ok';
});
laravel路由参数
必选参数
Route::any('test/{id}', function($id){
return 'id : '. $id;
});
可选参数
Route::any('test/{id?}', function($id=null){
return 'id : '. $id;
});
正则约束
Route::any('test/{id}/{name}', function($id, $name){
return 'id : '. $id. 'name :'. $name;
})->where(['id' => '[0-9]+', 'name' => '[a-zA-Z]+']);