Http-server-middleware is abandoned for zend-expressive 3alpha

expressive

#1

When zend-expressive 3.0.0alpha3 is installed, the composer issues a message:

Package http-interop/http-server-middleware is abandoned, you should avoid using it. Use psr/http-server-middleware instead.

I change the interface for my middleware
from Interop\Http\Server\MiddlewareInterface
to Psr\Http\Server\MiddlewareInterface

and I see an error:

Lazy-loaded middleware “Zend\Expressive\Helper\ServerUrlMiddleware” is neither invokable nor implements Interop\Http\Server\MiddlewareInterface

in /vendor/zendframework/zend-expressive/src/Middleware/LazyLoadingMiddleware.php

// Unknown - invalid!
if (! is_callable($middleware)) {
    throw new InvalidMiddlewareException(sprintf(
        'Lazy-loaded middleware "%s" is neither invokable nor implements %s',
        $this->middlewareName,
        MiddlewareInterface::class
    ));
}

Am I doing the right thing?


#2

We’re actively working on creating alpha releases of all packages related to Expressive. As such, I recommend adding the following to your composer.json:

"minimum-stability": "alpha"

And then specifying ^X.0 for each expressive-related constraint, where X will be whatever the next major release is available for that particular package. Use composer show to see what’s currently installed.

In particular, zend-expressive-helpers is currently at 5.0.0alpha3, and that version has a number of changes that include PSR-15 support.


#3

Thank you, the application has earned!!!