laravel路由和MVC

传统的MVC中请求的一般是控制器,laravel中请求的是路由
    
    laravel中的路由简单的说就是将用户的请求转发给相应的程序进行处理,作用就是建立url和程序之间的映射

    路由请求类型get、post、put、patch、delete

    基本路由:
        路由文件  app/Http/routes.php

        get方式:
            Route::get('basic1', function () {
                return 'basic1';
            });
            测试地址 http://www.laravelstudy.com/laravel/public/basic2
            测试结果 basic1

        post方式:
            Route::post('basic2', function () {
                return 'basic2';
            });

            测试地址 post不能通过url访问

        match方式:
            Route::match(['get', 'post'], 'multy1', function () {
                return 'multy1';
            });
            测试地址 http://www.laravelstudy.com/laravel/public/multy1
            测试结果 multy1

        any方式:
            Route::any('multy2', function () {
                return 'multy2';
            });
            测试地址 http://www.laravelstudy.com/laravel/public/multy2
            测试结果 multy2
    
    路由参数:
        Route::get('user/{id}', function ($id) {
            return $id;
        });
        测试地址 http://www.laravelstudy.com/laravel/public/user/3
        测试结果 3

        Route::get('user/{name?}', function ($name = 'default') {
            return $name;
        });
        测试地址 http://www.laravelstudy.com/laravel/public/user
        测试结果 default

        测试地址 http://www.laravelstudy.com/laravel/public/user/xiaodong
        测试结果 xiaodong

        还可以使用正则匹配
        Route::get('user/{name?}', function ($name = 'default') {
            return $name;
        })->where('name', '[A-Za-z]+');

    路由别名:
        给当前的路由设置别名,不管url如何变化,route函数都能正确获取到url
        Route::get('user/gerenzhongxin', ['as' => 'center', function () {
            return route('center');
        }]);
        测试地址 http://www.laravelstudy.com/laravel/public/user/gerenzhongxin
        测试结果 http://www.laravelstudy.com/laravel/public/user/gerenzhongxin

    路由群组:
        给当前的路由设置前缀
        Route::group(['prefix' => 'member'], function () {
            Route::get('name', function () {
                return 'name';
            });

            Route::any('age', function () {
                return 'age';
            });
        });    
        测试地址 http://www.laravelstudy.com/laravel/public/member/name
        测试结果 name

        测试地址 http://www.laravelstudy.com/laravel/public/member/age
        测试结果 age

    路由输出视图:
        view方法用于输出视图文件
        Route::get('index', function () {
            return view('index');
        });

    通过a链接传递参数:
        <a href="{{ URL('participle/aid/12') }}">

        Route::any('/participle/aid/{id}', 'ParticipleController@select');

        public function select($id){
            echo $id;
        }

转载于:https://www.cnblogs.com/liuxiaowei/p/7163495.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值