私はZend Applicationを通常どおり設定しましたが、私の場合は、以上の既存のレガシーWebアプリケーションをに設定しています。エラーを修正するには "ミドルウェアアプリケーションミドルウェア IndexMiddlewareをディスパッチできません"?
私はまだZF3アプリで既存のレガシーアプリケーションを呼びたいと思っています。私はミドルウェアを使ってそうすることができると示唆されました。私はhttps://docs.zendframework.com/zend-mvc/middleware/に行き、ここに記載されているように私のルーティングを設定しました。
私は、アプリケーションを実行する場合しかし、私はこれで迎えています: https://github.com/zendframework/zend-mvc/blob/release-3.1.0/src/MiddlewareListener.php#L146
をするだけに注意すること::例外が発生したのはここ
Cannot dispatch middleware Application\Middleware\IndexMiddleware
#0 zend-mvc\src\MiddlewareListener.php(146):
Zend\Mvc\Exception\InvalidMiddlewareException::fromMiddlewareName('Application\\Mid...')
がある
$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行目)に見つかりませんと考えています。どうやってそこに入れるの?