首页
学习
活动
专区
圈层
工具
发布

全局梳理、分析、总结 laravel 的核心概念

对于以\App\Http\Middleware\ 头的中间件(位于 app/Http/Middleware 目录)是我们可以对其行为进行定制的中间件。...(1)Authenticate 中间件 源文件:app\Http\Middleware\Http\Middleware\Authenticate.php 作用:用户身份验证。...(7)VerifyCsrfToken 中间件 源文件:app\Http\Middleware\VerifyCsrfToken.php 作用:验证请求里的令牌是否与存储在会话中令牌匹配。...绑定基础 绑定一个单例可以在 App\Providers\AppServiceProvider 中的 register 方法中注册。singleton 方法将类或接口绑定到只解析一次的容器中。...一旦单例绑定被解析,相同的对象实例会在随后的调用中返回到容器中: $this->app->singleton('HelpSpot\API', function ($app) { return new

7.9K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Claude Code API开发子代理实战指南:打造你的接口架构专家

    // 场景对比:创建一个获取用户信息的API // ❌ 通用Claude可能给你的代码 app.get('/user', (req, res) => { res.json({name: 'John...*/ app.get('/api/v1/users/:id', authenticate, // 认证中间件 validateParams, // 参数验证 rateLimit...三、5分钟快速配置教程 步骤1:打开Claude Code配置界面 # 在Claude Code中输入 /agents 步骤2:创建新的API开发代理 点击 "Create New Agent" 选择...在提示中明确指定: 生成Swagger 2.0格式的文档 生成Postman Collection 生成AsyncAPI规范(事件驱动) Q3:能同时处理多个API版本吗? 可以!...快速开始检查清单 [ ] 阅读上一篇子代理基础文章 [ ] 复制API子代理配置(选择中英文版本) [ ] 在Claude Code中输入 /agents [ ] 创建并保存配置 [ ] 测试第一个API

    1.1K10

    API 开发中可选择传递 token 接口遇到的一个坑

    在做 API 开发时,不可避免会涉及到登录验证,我使用的是jwt-auth 在登录中会经常遇到一个token过期的问题,在config/jwt.php默认设置中,这个过期时间是一个小时,不过为了安全也可以设置更小一点...正常情况下是写一个刷新token的接口,当过期的时候前端把过期的token带上请求这个接口换取新的token 不过为了方便前端也可以使用后端刷新返回,直至不可刷新,我用的就是这个方法:使用 Jwt-Auth 实现 API...php namespace App\Http\Middleware; use App\Services\StatusServe; use Closure; use Symfony\Component...异常 ****************************************/ if ($this->auth->parseToken()->authenticate...php namespace App\Http\Middleware; use Closure; use Exception; class Check extends BaseMiddleware

    62410

    Laravel源码解析之HTTP Kernel

    内核绑定 既然Http Kernel是Laravel中用来串联框架的各个部分处理网络请求的,我们来看一下内核是怎么加载到Laravel中应用实例中来的,在 public/index.php中我们就会看见首先就会通过...\Handler::class ); return $app; HTTP 内核继承自 Illuminate\Foundation\Http\Kernel类,在 HTTP 内核中 内它定义了中间件相关数组...\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::...= $app->make(Illuminate\Contracts\Http\Kernel::class); 在实例化内核时,将在 HTTP 内核中定义的中间件注册到了 路由器,注册完后就可以在实际处理...// 发送响应 $response->send(); 发送响应由 Illuminate\Http\Response的 send()方法完成父类其定义在父类 Symfony\Component\HttpFoundation

    1.9K30

    基于 Redis HyperLogLog 实现用户 UV 统计功能

    通过如下 Artisan 命令创建一个全局中间件: sail artisan make:middleware SiteUV 然后编写生成的中间件类实现代码如下: <?...php namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; use Illuminate\Support...\Http\Kernel 的 $middleware 属性数组中添加这个中间件,将其作为全局中间件应用到所有的路由访问: protected $middleware = [ ......\App\Http\Middleware\SiteVisits::class, \App\Http\Middleware\SiteUV::class, ]; 访问 http://redis.test...的任意路由,可以看到对于同一个用户/客户端,PV 和 UV 的结果是不一样的: 注:由于我们前面在广播教程中取消了 Redis 键名前缀 laravel_database_,所以这里都不需要添加这个前缀就可以访问对应的键值了

    1.4K10
    领券