Url
extends Facade
in package
Class Url
URL の絶対化・ルート相対化を担う UrlResolver へのアクセスポイント。
管理ドメインの判定は 'url.managed-domain'、メディア配信先の書き換えは 'url.delivery-rewriter' が 別サービスとして分かれている(呼び出し頻度が低いためファサードは設けず App::make() で取得する)。
Table of Contents
Properties
- $container : Container
- $instance : mixed
- $resolvedFacades : mixed
- alias → 解決済みファサードクラス名の逆引き表。
Methods
- __callStatic() : mixed
- clearInstance() : void
- テスト用: ファサードがキャッシュしている解決済みインスタンスを破棄する。
- convertAssetUrlsToAbsolute() : string
- convertRelativeUrlToAbsolute() : string
- getInstance() : mixed
- get service instance
- resolveUrl() : string
- setContainer() : void
- swap() : void
- テスト用: サービスインスタンスをスタブ等へ差し替える。
- toAbsoluteUrl() : string
- toRootRelativeUrl() : string
- getServiceAlias() : string
- getServiceInstance() : mixed
- isCache() : bool
Properties
$container
protected
static Container
$container
$instance
protected
static mixed
$instance
$resolvedFacades
alias → 解決済みファサードクラス名の逆引き表。
protected
static mixed
$resolvedFacades
= []
どのサブクラスも再宣言していないため、全ファサード共通で Facade 基底の 1 テーブルを共有する。bind 変更時にどのファサードの static $instance を 破棄すべきか特定するのに使う。値は class-string => true の連想配列にして 重複登録を自然に排除する。
Methods
__callStatic()
public
static __callStatic(string $method, array<string|int, mixed> $arguments) : mixed
Parameters
- $method : string
- $arguments : array<string|int, mixed>
clearInstance()
テスト用: ファサードがキャッシュしている解決済みインスタンスを破棄する。
public
static clearInstance() : void
isCache() が true のファサードは解決済みインスタンスを静的プロパティ $instance に 保持するため、コンテナ側だけを差し替えても反映されない。本メソッドでキャッシュを 無効化し、次回アクセスでコンテナから再解決させる。
convertAssetUrlsToAbsolute()
public
static convertAssetUrlsToAbsolute(string $html, string $baseUrl) : string
HTML内のアセット参照を絶対URLに変換する
Parameters
- $html : string
- $baseUrl : string
Return values
stringconvertRelativeUrlToAbsolute()
public
static convertRelativeUrlToAbsolute(string $url, string $baseUrl) : string
単一の相対URLを絶対URLに変換する
Parameters
- $url : string
- $baseUrl : string
Return values
stringgetInstance()
get service instance
public
static getInstance() : mixed
resolveUrl()
public
static resolveUrl(string $path[, string $offset = = '\'\'' ]) : string
V2モジュール/APIビルド時のみ絶対URL化する
Parameters
- $path : string
- $offset : string = = '\'\''
Return values
stringsetContainer()
public
static setContainer(Container $container) : void
Parameters
- $container : Container
swap()
テスト用: サービスインスタンスをスタブ等へ差し替える。
public
static swap(object $instance) : void
DI コンテナのエイリアスを差し替えたうえで、ファサードがキャッシュしている解決済み インスタンス(isCache() が true の場合)を破棄し、次回アクセス時に差し替え後の インスタンスを再解決させる。テスト後は元のインスタンスを渡して再度呼び出し復元する。
Parameters
- $instance : object
toAbsoluteUrl()
public
static toAbsoluteUrl(string $path[, string $offset = = '\'\'' ][, string|null $baseUrl = = 'null' ]) : string
完全な absolute URL(scheme + host + path)に変換する
Parameters
- $path : string
- $offset : string = = '\'\''
- $baseUrl : string|null = = 'null'
Return values
stringtoRootRelativeUrl()
public
static toRootRelativeUrl(string $path[, string $offset = = '\'\'' ][, string|null $baseUrl = = 'null' ]) : string
root-relative URL(/path 形式)に変換する
Parameters
- $path : string
- $offset : string = = '\'\''
- $baseUrl : string|null = = 'null'
Return values
stringgetServiceAlias()
protected
static getServiceAlias() : string
Return values
stringgetServiceInstance()
protected
static getServiceInstance(string $alias) : mixed
Parameters
- $alias : string
isCache()
protected
static isCache() : bool