Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Jan 29, 2020. It is now read-only.

Console output #10

Closed
autowp opened this issue Jun 28, 2016 · 4 comments
Closed

Console output #10

autowp opened this issue Jun 28, 2016 · 4 comments

Comments

@autowp
Copy link

autowp commented Jun 28, 2016

In situations when no routes matched or exception occurred console output is empty.
I've try to find why and stops on Zend\Mvc\Console\View\DefaultRenderingStrategy::render()

Banner & usage content not prints too.

How expects that code print response to output? Result from response prints somewhere else?

My current solution is autowp@938db2e but i think i missed something?

@zzwang
Copy link

zzwang commented Jul 6, 2016

I have this problem too. Should I set config of responseSender?

@weierophinney
Copy link
Member

Please see my comment on #12 for a workaround; I'll have a new version of zend-mvc tagged shortly addressing the issue.

weierophinney added a commit to weierophinney/zend-mvc that referenced this issue Aug 29, 2016
Reported in:

- zendframework/zend-mvc-console#10
- zendframework/zend-mvc-console#11
- zendframework/zend-mvc-console#12

The `SendResponseListener` was lazy-instantiating an event manager on
first request to `getEventManager()`. However, because initializers run
after delegators, this meant that the EM instance composed did not have
a shared EM instance, which triggered the initializer to re-inject,
losing any listeners injected by delegators.

This patch introduces a factory for the `SendResponseListener`. The
factory creates the instance, and then injects it with an EM instance
pulled from the container; since these are guaranteed to have a shared
EM instance, the initializer will skip injection, keeping any listeners
injected by delegators.
weierophinney added a commit to zendframework/zend-mvc that referenced this issue Aug 29, 2016
Reported in:

- zendframework/zend-mvc-console#10
- zendframework/zend-mvc-console#11
- zendframework/zend-mvc-console#12

The `SendResponseListener` was lazy-instantiating an event manager on
first request to `getEventManager()`. However, because initializers run
after delegators, this meant that the EM instance composed did not have
a shared EM instance, which triggered the initializer to re-inject,
losing any listeners injected by delegators.

This patch introduces a factory for the `SendResponseListener`. The
factory creates the instance, and then injects it with an EM instance
pulled from the container; since these are guaranteed to have a shared
EM instance, the initializer will skip injection, keeping any listeners
injected by delegators.
@weierophinney
Copy link
Member

To get the fix, please update your zend-mvc to 3.0.3:

$ composer require "zendframework/zend-mvc:^3.0.3"

weierophinney added a commit that referenced this issue Aug 29, 2016
Updates the test written for #11, and modifies it as follows:

- Uses the new `SendResponseListenerFactory` to create the
  `SendResponseListener` instance.
- Registers the `ConsoleResponseSenderDelegatorFactory` directly in the test
  setup, instead of wrapping it in a callable; we're only interested in the
  final state of the event manager.
- Updates the minimum zend-mvc requirement to 3.0.3, which introduces the
  `SendResponseListenerFactory`.
weierophinney added a commit that referenced this issue Aug 29, 2016
@finalxcode
Copy link

finalxcode commented Mar 24, 2017

@weierophinney i use zendframework/zend-mvc:^3.0.4, this problem is resolved, thanks

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants