Я пытаюсь использовать вложенное приложение Zend Expressive, поэтому я следую этому сообщению в блоге: https://framework.zend.com/blog/2017-03-15-nested-middleware-in-expressive.html
Проблема, похоже, в фабрике промежуточного программного обеспечения:
class CreateBookMiddlewareFactory
{
public function __invoke(ContainerInterface $container)
{
$nested = new Application(
$container->get(RouterInterface::class),
$container
);
$nested->pipe(AuthenticationMiddleware::class);
$nested->pipe(ContentValidationMiddleware::class);
$nested->pipe(BodyParamsMiddleware::class);
$nested->pipe(BookValidationMiddleware::class);
$nested->pipe(CreateBookMiddleware::class);
return $nested;
}
}
Я не понимаю, как CreateBookMiddleware
можно было добавить в трубу здесь, когда мы находимся на его Фабрике. Таким образом, конвейер вызовет фабрику, создаст новое вложенное приложение, которое вызовет фабрику, которая создаст еще одно вложенное приложение...
( ! ) Fatal error: Maximum function nesting level of '256' reached, aborting! in /var/www/project/vendor/zendframework/zend-stratigility/src/Next.php on line
158
Есть ли что-то, что я не понимаю из этого сообщения в блоге?