• Laravel5.1 路由(一)


    上一篇随笔我记录了如何创建Laravel项目了,现在我们来学习Laravel的一个基本知识--路由,其实我们在浏览器输入 http://localhost:8000/ 的时候就已经使用到了路由,现在让我们看看它是怎么写的吧,打开routes.php位置:appHttp outes.php

    Route::get('/', function () {
        return view('welcome');
    });

    这就是首页的路由,它返回了一个welcome页面。

    GET路由

    下面 我们就自己生成一个路由吧^.^

    // 注册一条get路由
    Route::get('/hello',function (){
        return 'hello world';
    });

    浏览器中输入:localhost:8000/hello

    POST路由

    首先 我们来弄一个表单:

    Route::get('/hello',function (){
        $token = csrf_token();
        // 生成表单 当点击了Test按钮后触发POST
        return <<<FORM
            <form action="/hello" method="POST">
                <input type="hidden" name="_token" value="{$token}">
                <input type="submit" value="Test"/>
            </form>
    FORM;
    });

    对应的 我们也来弄一个post路由:

    // 这是一条post路由
    Route::post('/hello',function (){
        return 'hello (POST)';
    });

    匹配不同类型请求的路由

    我们可以使用match方法来匹配多种请求类型:

    // 无论get 还是 post 都会返回一个字符串
    Route::match(['get','post'],'/hello',function(){
        return "Hello Laravel!";
    });

    当然可以使用any方法来匹配所有请求类型

    Route::any('/hello',function(){
        return "Hello Laravel!";
    });

    路由必选参数

    // 在路径使用{}来声明参数,之后在匿名函数中接收参数 注意:参数名必须一致
    Route::get('/{user}', function ($user){
        return 'hello ' . $user;
    });

    路由可选参数

    // 可选参数只需要加个 ? 就可以了  然后在匿名函数中指定参数的默认值
    Route::get('/hello/{user?}', function ($user = 'Alex'){
        return 'hello ' . $user;
    });

    对参数进行正则约束

    // user参数只允许输入大小写的字母 其他字符都会报错。
    Route::get('/hello/{user?}', function ($user = 'Alex'){
        return 'hello ' . $user;
    })->where('user','[A-Za-z]+');

    如果在全局范围内约束所有请求的参数,我们可以在 appProvidersRouteServiceProvider.php 中的 boot 方法实现逻辑:

        public function boot(Router $router)
        {
            // 这里是我们要实现的逻辑
            $router->pattern('user','[A-Za-z]+');
    //        $router->patterns()
            parent::boot($router);
        }
  • 相关阅读:
    bzoj1724[Usaco2006 Nov]Fence Repair 切割木板*
    vue-cli脚手架和webpack-simple模板项目
    Vue-router 进阶
    前端路由vue-router介绍
    vue的一些特殊特性
    生命周期钩子
    过滤器
    RSA加密算法
    欧几里得算法
    动态规划
  • 原文地址:https://www.cnblogs.com/Alex-sk/p/6431014.html
Copyright © 2020-2023  润新知