美文网首页
laravel 路由写法及介绍

laravel 路由写法及介绍

作者: 9a4a58bf4d80 | 来源:发表于2020-04-20 11:11 被阅读0次

    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]

    相关文章

      网友评论

          本文标题:laravel 路由写法及介绍

          本文链接:https://www.haomeiwen.com/subject/irwevhtx.html