RouterContainerProvider
in package
implements
ProviderInterface
OpenAPIスペックからパスパラメータを読み取り、Aura Routerを設定するプロバイダー
プレースホルダー({param})を含むパスについてAura Routerのルートを登録する。 これにより、BEAR.Sundayのデフォルトルーターでは対応できないパスパラメータ付き ルーティングが可能になる。
Tags
Table of Contents
Interfaces
- ProviderInterface
Properties
- $routerContainer : RouterContainer
Methods
- get() : RouterContainer
- {@inheritdoc}
- setRouterContainer() : void
- OpenAPIスペックとアプリメタ情報からRouterContainerを初期化する
- extractTokens() : array<string, string>
- PathItemからパスパラメータのトークン(正規表現)マップを構築する
- resolvePattern() : string
- スキーマの型からAura Router用の正規表現パターンを解決する
Properties
$routerContainer
private
RouterContainer
$routerContainer
Methods
get()
{@inheritdoc}
public
get() : RouterContainer
Return values
RouterContainersetRouterContainer()
OpenAPIスペックとアプリメタ情報からRouterContainerを初期化する
public
setRouterContainer(AbstractAppMeta $appMeta, OpenApi $openApi[, string $routerFile = '' ]) : void
パスパラメータの型に応じて以下の正規表現を使用する:
- integer / number → [0-9]+
- それ以外(string など) → .+
Parameters
- $appMeta : AbstractAppMeta
- $openApi : OpenApi
- $routerFile : string = ''
Attributes
- #[Inject]
- #[Named]
- 'routerFile=aura_router_file'
extractTokens()
PathItemからパスパラメータのトークン(正規表現)マップを構築する
private
extractTokens(PathItem $pathItem) : array<string, string>
Parameters
- $pathItem : PathItem
Return values
array<string, string>resolvePattern()
スキーマの型からAura Router用の正規表現パターンを解決する
private
resolvePattern(mixed $schema) : string
Parameters
- $schema : mixed