0
我想解释如何在最新版本的zend-mvc下正确地混合ZF3中间件之间的变量。使用zend-mvc在中间件之间传递变量
想像这样一个路径:
'sandwich-test' => [
'type' => \Zend\Router\Http\Literal::class,
'options' => [
'route' => '/events/sandwich',
'defaults' => [
'middleware' => [
\Foo\Middleware\JsonWrappingMiddleware::class,
\Foo\Middleware\TestMiddleware::class,
],
],
],
],
在我简单的测试,我想为JsonWrappingMiddleware简单地在JsonResponse返回,由TestMiddleware返回的变量。
独立,这个工程:
use Interop\Http\ServerMiddleware\DelegateInterface;
use Interop\Http\ServerMiddleware\MiddlewareInterface;
use Psr\Http\Message\ServerRequestInterface;
use Zend\Diactoros\Response\JsonResponse;
class JsonWrappingMiddleware implements MiddlewareInterface
{
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
{
return new JsonResponse(['c' => 'd']);
}
}
......还有......
use Interop\Http\ServerMiddleware\DelegateInterface;
use Interop\Http\ServerMiddleware\MiddlewareInterface;
use Psr\Http\Message\ServerRequestInterface;
use Zend\Diactoros\Response\JsonResponse;
class TestMiddleware implements MiddlewareInterface
{
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
{
return new JsonResponse(['a' => 'b']);
}
}
不过,如何让他们一起工作,返回
[ 'a' => 'b', 'c' => 'd', ]
嗨。我理解返回的概念,但我不知道如何将这两者结合起来以获得理想的结果。如果你有时间的话,代码示例会很棒。 – Saeven