middleware的位置应该在哪里?-灵析社区

三千米的偷感

下面这2段代码有区别吗? 我好奇为啥都是生成的,位置还变了。。。 laravel 11 user(); })->middleware('auth:sanctum'); get('/user', function (Request $request) { return $request->user(); });

阅读量:128

点赞量:0

问AI
从结果上,没啥区别,内部运行有一些小区别。 Route Facade 实际调用的是 "\Illuminate\Routing\Router",里面先调用 get, post, put, patch, delete, options, any 等方法回返回一个新的 "\Illuminate\Routing\Route" 对象,后续定义的 middleware 都是在这个对象上定义的。 先调用 middleware 返回的是一个 "\Illuminate\Routing\RouteRegistrar" 对象,当在他的后面调用 get, post, put, patch, delete, options, any 方法时,又会自动回到 Router 对象上调用对应的这些方法。 理论上,前者性能会更好,但是实际中几乎可以忽略不计。