Routing
in package
ルーティング。
名前の割に完全に心臓部だけどWebアプリならこれが心臓でいいのか・・・? ふとももなのか。
Table of Contents
Properties
- $environment : Environment
- $loggerFactory : ILoggerFactory
- $requestHeader : HttpHeader
- $requestMethod : HttpMethod
- $requestPath : RequestPath
- $responsePrinterFactory : IResponsePrinterFactory
- $serviceLocator : IDiRegisterContainer
- このルーティング内で使いまわされるDI。
- $setting : RouteSetting
- ルーティング設定。
- $stores : Stores
- $processedMiddleware : array<string|int, IMiddleware>
- 前処理済みミドルウェア一覧。
- $shutdownMiddleware : array<string|int, IShutdownMiddleware|IShutdownMiddleware>>
- 終了時ミドルウェア。
- $shutdownRequest : HttpRequest
- 終了処理時に使用する要求データ。
Methods
- __construct() : mixed
- 生成。
- execute() : void
- メソッド・パスから登録されている処理を実行。
- getOrCreateMiddleware() : IMiddleware
- ミドルウェア取得。
- getOrCreateShutdownMiddleware() : IShutdownMiddleware
- 応答完了ミドルウェア取得。
- handleAfterMiddleware() : bool
- ミドルウェア(事後)をグワーッと処理。
- handleBeforeMiddleware() : bool
- ミドルウェア(事前)をグワーッと処理。
- handleShutdownMiddleware() : void
- executeAction() : void
- アクション実行。
- executeCore() : void
- メソッド・パスから登録されている処理を実行。
- handleBeforeMiddlewareCore() : bool
- ミドルウェア単独処理。
- shutdown() : void
- 終了処理。
Properties
$environment read-only
protected
Environment
$environment
$loggerFactory read-only
protected
ILoggerFactory
$loggerFactory
$requestHeader read-only
protected
HttpHeader
$requestHeader
$requestMethod read-only
protected
HttpMethod
$requestMethod
$requestPath read-only
protected
RequestPath
$requestPath
$responsePrinterFactory read-only
protected
IResponsePrinterFactory
$responsePrinterFactory
$serviceLocator read-only
このルーティング内で使いまわされるDI。
protected
IDiRegisterContainer
$serviceLocator
$setting read-only
ルーティング設定。
protected
RouteSetting
$setting
$stores read-only
protected
Stores
$stores
$processedMiddleware
前処理済みミドルウェア一覧。
private
array<string|int, IMiddleware>
$processedMiddleware
= []
$shutdownMiddleware
終了時ミドルウェア。
private
array<string|int, IShutdownMiddleware|IShutdownMiddleware>>
$shutdownMiddleware
= []
登録の逆順に実行される。
$shutdownRequest
終了処理時に使用する要求データ。
private
HttpRequest
$shutdownRequest
要求受付前はダミー値が入っており、要求受付後はその要求値が格納される。
Methods
__construct()
生成。
public
__construct(RouteRequest $routeRequest, RouteSetting $routeSetting, Stores $stores, Environment $environment, IResponsePrinterFactory $responsePrinterFactory, ILoggerFactory $loggerFactory, IDiRegisterContainer $serviceLocator) : mixed
Parameters
- $routeRequest : RouteRequest
- $routeSetting : RouteSetting
- $stores : Stores
- $environment : Environment
- $responsePrinterFactory : IResponsePrinterFactory
- $loggerFactory : ILoggerFactory
- $serviceLocator : IDiRegisterContainer
execute()
メソッド・パスから登録されている処理を実行。
public
execute() : void
getOrCreateMiddleware()
ミドルウェア取得。
protected
getOrCreateMiddleware(IMiddleware|IMiddleware> $middleware) : IMiddleware
Parameters
- $middleware : IMiddleware|IMiddleware>
Return values
IMiddlewaregetOrCreateShutdownMiddleware()
応答完了ミドルウェア取得。
protected
getOrCreateShutdownMiddleware(IShutdownMiddleware|IShutdownMiddleware> $middleware) : IShutdownMiddleware
Parameters
- $middleware : IShutdownMiddleware|IShutdownMiddleware>
Return values
IShutdownMiddlewarehandleAfterMiddleware()
ミドルウェア(事後)をグワーッと処理。
protected
handleAfterMiddleware(HttpRequest $request, HttpResponse $response) : bool
Parameters
- $request : HttpRequest
- $response : HttpResponse
Return values
boolhandleBeforeMiddleware()
ミドルウェア(事前)をグワーッと処理。
protected
handleBeforeMiddleware(array<string|int, IMiddleware|IMiddleware>> $middleware, HttpRequest $request) : bool
Parameters
- $middleware : array<string|int, IMiddleware|IMiddleware>>
- $request : HttpRequest
Return values
bool —後続処理は可能か
handleShutdownMiddleware()
protected
handleShutdownMiddleware() : void
executeAction()
アクション実行。
private
executeAction(string $rawControllerName, ActionSetting $actionSetting, array<non-empty-string, string> $urlParameters) : void
Parameters
- $rawControllerName : string
- $actionSetting : ActionSetting
- $urlParameters : array<non-empty-string, string>
executeCore()
メソッド・パスから登録されている処理を実行。
private
executeCore() : void
handleBeforeMiddlewareCore()
ミドルウェア単独処理。
private
handleBeforeMiddlewareCore(RequestPath $requestPath, HttpRequest $request, IMiddleware|IMiddleware> $middleware) : bool
Parameters
- $requestPath : RequestPath
- $request : HttpRequest
- $middleware : IMiddleware|IMiddleware>
Return values
bool —次のミドルウェアを実行してよいか
shutdown()
終了処理。
private
shutdown() : void