Mezzio zend expressive-中间件检查是否有下一个可用的?
在我的routes.global.php中,我在routes中有一个Mezzio zend expressive-中间件检查是否有下一个可用的?,mezzio,Mezzio,在我的routes.global.php中,我在routes中有一个 [ 'name' => 'test', 'path' => '/test', 'middleware' => [App\Action\Test1Action::class, App\Action\Test2Action::class], 'allowed_methods' => ['GET'], ], 我有这个return
[
'name' => 'test',
'path' => '/test',
'middleware' => [App\Action\Test1Action::class, App\Action\Test2Action::class],
'allowed_methods' => ['GET'],
],
我有这个return$next($request,newjsonresponse($data));在Test1AAction类的末尾,它将数据发送到下一个操作
但是Test1Action内部是否有一种方法可以检查之后是否还有其他操作
也许还有另一种方法,我可以在有返回的情况下执行上面的返回,或者返回json响应
返回新的JsonResponse($data)
这样,我既可以单独使用Test1Action,也可以在其他操作之前插入它
我尝试了一些选择,但没有成功。任何帮助都会很好。谢谢。如果$next为空或否,也许您可以检查它。但它可能总是固定的,我从未尝试过。但是,在Expressive 2中,它始终处于设置状态,并更改为代理。最后一个中间件将始终是NotFoundHandler 因为您自己开发应用程序,所以您知道中间件和操作的顺序。我会让Test1Action中间件完成它的工作,将结果作为属性添加到$request中,并让下一个中间件确定数据是否已设置。如果没有设置数据,则跳过它并执行行中的下一个中间件。这样做容易多了