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

[3.0]MiddlewarePipe marked as final #144

Closed
michalbundyra opened this issue Jan 22, 2018 · 4 comments
Closed

[3.0]MiddlewarePipe marked as final #144

michalbundyra opened this issue Jan 22, 2018 · 4 comments

Comments

@michalbundyra
Copy link
Member

On release-3.0.0 branch MiddlewarePipe is marked as final.

I have couple concerns about it, mainly the problem could be with testing, because we are not providing abstraction for the public interface. More I've wrote on discourse:
https://discourse.zendframework.com/t/rfc-expressive-3-design-changes/438/6

As discussed with @weierophinney on slack probably we should remove final or provide interface.

/cc @snapshotpl @danizord @xtreamwayz @weierophinney

@danizord
Copy link

👍 for MiddlewarePipeInterface :)

@weierophinney
Copy link
Member

One thing to note: we still will not extend MiddlewarePipe, nor implement any such interface, within zend-expressive, due to the difference in signature requirements (Expressive will likely continue to allow at the very least either MiddlewareInterface instances or string service names, and potentially also arrays of these.)

So, this will not affect Expressive in any way, but the point is that we should only have a final visibility if all API methods are available in an interface somewhere; otherwise, we should drop the visibility.

@weierophinney
Copy link
Member

Let's go with MiddlewarePipeInterface with the single method pipe(MiddlewareInterface $middleware) : void. Mocking this will be trivial, and we then only need to alter MiddlewarePipe to implement that interface.

@weierophinney
Copy link
Member

Closed with #146

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

3 participants