2017-03-08 109 views
0

在我的routes.global.php中我有這個路線。我已經返回$ next($ request,new JsonResponse($ data));我已經返回$ next($ request,new JsonResponse($ data));在Test1Action類的最後,它將把數據發送到下一個動作。zend expressive - 中間件檢查是否有下一個可用?

但Test1Action內部有一種方法來檢查是否有另一個行動後?

也許還有另一種方法,以便我可以做以上回報,如果有一個之後或返回的JSON響應儀式。

return new JsonResponse($ data);

這樣我就可以單獨使用Test1Action或在其他操作之前插入它。

我嘗試了幾個選項,但沒有工作。任何幫助都會很棒。謝謝。

回答

1

也許你可以檢查$ next,如果它爲空或不是。但它可能會一直設置,我從來沒有嘗試過。但是,在Expressive 2中,它始終處於設置狀態,並且會更改爲代表。最後的中間件也將是NotFoundHandler。

由於您自己開發應用程序,所以您知道中間件和Actions的順序。我會讓Test1Action中間件做它的事情,將結果添加到$ request中作爲屬性,並讓下一個中間件算出數據是否已設置。如果數據未設置,則跳過它並按行執行下一個中間件。它使它更容易。

相關問題