美文网首页
laravel-路由规则

laravel-路由规则

作者: phpdeveloper | 来源:发表于2019-06-19 15:55 被阅读0次
自定义路由逻辑
  • 如果想要使用自定义的路由解析规则,可以使用Route:bind方法。传入bind方法中的闭包函数(Closure)将会接收到URL中大括号对应的值,并返回需要注入到路由中的类的实例:
public function boot()
{
    parent::boot();
    Route::bind('user', function($value){
        return App\User::where('name', $value)->firstOrFail();
    });
}
  • 或者你可以重写Eloquent中的resolveRouteBinding方法。此方法将会接收到URL中大括号对应的值,并返回需要注入到路由中的类的实例:
public function resolveRouteBinding($value)
{
    return $this->where('name', $value)->firstOrFail();
}
限流

laravel包含限制访问应用中特定路由次数的中间件。如果想要开启此功能,需要将throttle中间件分配给路由或者路由组。throttle中间件接收两个参数来设置指定时间内的最大请求数。例如,指定授权用户在一分钟内最多访问60次下列路由组:

Route::middleware('auth:api', 'throttle:60,1')->group(function () {
    Route::get('/user', function () {
        //
    });
});
  • 动态限流
    你可以指定基于授权User模型的属性的动态访问的最大请求数。例如:如果你的User模型包含一个rate_limit的属性,你就可以传递此属性到throttle中间件,用来计算最大请求次数:
Route::middleware('auth:api', 'throttle:rate_limit,1')->group(function () {
    Route::get('/user', function () {
        //
    });
});
  • 单独设置访客和认证用户的限流
    可以为访客和认证用户设置不同的限流。例如,你可以为访客设置每分钟最大请求数为10,认证用户每分钟最大请求数为60:
Route::middleware('throttle:10|60,1')->group(function () {
    //
});

你可以将此功能与动态限流结合。例如,如果你的User模型包含rate_limit属性,你可以将此属性传入throttle中间件中,用来计算认证用户的最大访问数:

Route::middleware('auth:api', 'throttle:10|rate_limit,1')->group(function () {
    Route::get('/user', function () {
        //
    });
});

相关文章

  • laravel-路由规则

    自定义路由逻辑 如果想要使用自定义的路由解析规则,可以使用Route:bind方法。传入bind方法中的闭包函数(...

  • Laravel-增删改查

    用户Model创建 Laravel-增删改查 1、数据添加 路由/app/http/routes.php /app...

  • thinkphp5学习笔记(三)路由配置

    URL请求的执行流程 路由模式 路由注册 路由规则 路由地址 路由参数 变量规则 路由分组 别名路由 路由绑定

  • 22、TP5常用的路由地址类型

    路由地址,是用户最终要访问的URL,也是路由规则的目标地址,它不像路由规则,可以通过路由参数和变量规则进行检验,所...

  • ThinkPHP基础-----第五章(路由相关)第三部分

    1、变量规则: 2、路由参数: 3、资源路由 5、快捷路由:

  • 路由嵌套(二级路由)

    使用路由规则的children属性实现子路由。 子路由规则的path属性不要以斜线/开头,这样会表示永远以此根路径...

  • vue-router基本使用

    安装 使用路由,引入路由规则 main.js文件 配置路由规则,在文件夹router新建文件index.js这个文...

  • Vue-router 路由 (常见用法)

    vue-router 的常见用法 一个完整的路由必须包含:路由链接和路由占位符、路由实例、路由规则链接的路由组件 ...

  • ThinkPHP5路由

    路由作用 1.根据实现定义的路由规则,检验URL请求,确定执行或者拒绝; 2.路由规则可自定义,隐藏了原URL地址...

  • Service Mesh - Istio流量控制篇(上)

    动态路由:用Virtual Service和Destination Rule设置路由规则 路由这个功能是流量控制里...

网友评论

      本文标题:laravel-路由规则

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