AssetRenderer
in package
FinalYes
AssetDefinition[] を HTML タグ文字列へ変換する純粋関数群。
並び替えは行わない(並び替えは DependencyResolver の責務)。 グローバル状態・I/O に依存しないため単体テストできるようにしている。
Table of Contents
Methods
- buildTags() : string
- buildAttributes() : string
- buildTag() : string
- defaultRealPathResolver() : callable(string $src): Array
- escape() : string
- resolveSrc() : string
- withVersion() : string
Methods
buildTags()
public
static buildTags(array<string|int, AssetDefinition> $definitions[, callable(string $src, string $realPath): string|null $cacheBuster = null ][, callable(string $src): Array|null $realPathResolver = null ]) : string
Parameters
- $definitions : array<string|int, AssetDefinition>
-
render() が呼ぶ時点で並び替え・position絞り込み済みであること
- $cacheBuster : callable(string $src, string $realPath): string|null = null
-
$realPathResolver が実体パスを解決できた src をキャッシュバスティングする関数。 省略時はグローバル関数 cacheBusting() を使う。テストでは差し替えて検証できる。
- $realPathResolver : callable(string $src): Array|null = null
-
src からファイルシステム上の実体パスを導出する関数(導出できなければ null を返し、 その場合キャッシュバスティングは行われない)。省略時は DIR_OFFSET / SCRIPT_DIR 定数を用いた 既定の解決(AssetPathResolver)を使う。テストでは差し替えて検証できる。
Return values
stringbuildAttributes()
private
static buildAttributes(array<string, string|bool> $attrs) : string
Parameters
- $attrs : array<string, string|bool>
Return values
stringbuildTag()
private
static buildTag(AssetDefinition $definition, callable(string $src, string $realPath): string $cacheBuster, callable(string $src): Array $realPathResolver) : string
Parameters
- $definition : AssetDefinition
- $cacheBuster : callable(string $src, string $realPath): string
- $realPathResolver : callable(string $src): Array
Return values
stringdefaultRealPathResolver()
private
static defaultRealPathResolver() : callable(string $src): Array
Return values
callable(string $src): Arrayescape()
private
static escape(string $value) : string
Parameters
- $value : string
Return values
stringresolveSrc()
private
static resolveSrc(AssetDefinition $definition, callable(string $src, string $realPath): string $cacheBuster, callable(string $src): Array $realPathResolver) : string
Parameters
- $definition : AssetDefinition
- $cacheBuster : callable(string $src, string $realPath): string
- $realPathResolver : callable(string $src): Array
Return values
stringwithVersion()
private
static withVersion(string $src, string|null $version) : string
Parameters
- $src : string
- $version : string|null