0
我已經建立了一個正常的Zend應用程序,除了我的情況不同之處在於,我將它設置爲而不是現有的舊式Web應用程序。如何解決錯誤「無法調度中間件應用程序中間件 IndexMiddleware」?
我還想通過ZF3應用程序調用我現有的遺留應用程序。有人建議我可以使用中間件來做到這一點。我去了https://docs.zendframework.com/zend-mvc/middleware/並設置我的路由如上所述。
然而,當我運行應用程序,我迎接這樣的:
Cannot dispatch middleware Application\Middleware\IndexMiddleware
#0 zend-mvc\src\MiddlewareListener.php(146):
Zend\Mvc\Exception\InvalidMiddlewareException::fromMiddlewareName('Application\\Mid...')
這裏就是發生異常: https://github.com/zendframework/zend-mvc/blob/release-3.1.0/src/MiddlewareListener.php#L146
只是要注意:
$middlewareToBePiped; //'Application\Middleware\IndexMiddleware'
is_string($middlewareToBePiped); // true
$serviceLocator->has($middlewareToBePiped);//false
$middlewareToBePiped instanceof MiddlewareInterface; //false
is_callable($middlewareToBePiped);//false
我類是:
namespace Application\Middleware;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Interop\Http\ServerMiddleware\MiddlewareInterface;
use Interop\Http\ServerMiddleware\DelegateInterface;
use Zend\Http\Response;
class IndexMiddleware implements MiddlewareInterface
{
public function __invoke(ServerRequestInterface $request, ResponseInterface $response)
{}
public function process(ServerRequestInterface $request, DelegateInterface $delegate)
{}
}
我在想,我的問題是我的IndexMiddleware
類沒有在ServiceLocator中找到...(鏈接API的142行)。我如何獲得它?