laravel 路由写法及介绍

2020-04-20  本文已影响0人  9a4a58bf4d80

1. get 请求不走控制器-----最简单的写法(不推荐这么写)

Route::get('hello', function () {
    return 'Hello Laravel';
});

2.get请求 走控制器UsersController下的index方法

Route::get('user', 'UsersController@index');

3.更多请求方式

Route::get('user', 'UsersController@index');
Route::post('user', 'UsersController@index');
Route::put('user', 'UsersController@index');
Route::patch('user', 'UsersController@index');
Route::delete('user', 'UsersController@index');
Route::options('user', 'UsersController@index');

4.接受多种求方式

只接收制定的请求方式

Route::match(['get', 'post'], 'foo', function () {
    return 'This is a request from get or post';
});

接收全部请求方式

Route::any('bar', function () {
    return 'This is a request from any HTTP verb';
});

5.重定向----访问aa 会跳转到foo 路由下就像给路由起了个别名

其他路由
Route::match(['get', 'post'], 'foo', function () {
    return 'This is a request from get or post';
});
重定向路由
Route::redirect('/aa', 'foo');
自定义状态码
Route::redirect('/aa', 'foo',302);
默认返回状态码301
Route::permanentRedirect('/aa', 'foo');

6. 携带参数---多个路由参数

请求--[http://laravel7.com/api/cs/41/55]
必填参数路由
Route::get('cs/{id}/{comments}', 'Cs\IndexController@index');
选填参数路由------再参数的大括号中加个 ? 就选填
Route::get('cs/{id?}/{comments?}', 'Cs\IndexController@index');

7.命名路由----别名---name 就是路由名称 [user/profile] 或[profile] 访问的路由一致

Route::get('user/profile', 'UserController@showProfile')->name('profile');

8.为命名路由生成 URL---------在方法中通过\color{red}{别名}获取指定路由的全部信息及参数

路由
Route::get('cs/{id}', 'Cs\IndexController@index')->name('cs1');
获取路由信息
$url = route('cs1', ['id' => 1]);
结果
http://laravel7.com/api/cs/1

9.路由分组

添加中间件----CheckToken是中间件名称数组中可添加多个

Route::middleware(['CheckToken'])->group(function () {
    Route::get('profile', function () {
        return 1;
    });
    Route::get('profile1', function () {
        return 2;
    });
    Route::get('profile2', function () {
        return 3;
    });
});

命名空间----Cs是文件夹名称-----一个命名空间下可放多个路由

用命名空间
Route::namespace('Cs')->group(function () {
    Route::get('cs', 'IndexController@index');
});
不用命名空间
Route::get('cs', 'Cs\IndexController@index');

路由前缀

Route::prefix('admin')->group(function () {
    Route::get('users', function () {
        return 1;
    });
});

当然还有更多用法,不是看不懂就不好使再就是用不到!
声明在laravel 官网扒的! so 网址为[https://xueyuanjun.com/post/21462#bkmrk-%E8%B7%AF%E7%94%B1%E6%A8%A1%E5%9E%8B%E7%BB%91%E5%AE%9A]

上一篇下一篇

猜你喜欢

热点阅读