CallbackProvider
in package
implements
Provider
FinalYes
URL の正規表現とコールバックで埋め込みを解決するプロバイダー。
oEmbed に対応していないサービス向け(WordPress の wp_embed_register_handler に相当)。 URL だけで埋め込み HTML を組み立てられるサービスは、外部通信なしに対応できる。
直接 new せず ProviderRegistry::registerUrlPattern() から使う。
Table of Contents
Interfaces
- Provider
- URL から埋め込み情報を解決するプロバイダー。
Properties
Methods
- __construct() : mixed
- resolve() : EmbedData|null
- 埋め込み情報を解決する
- supports() : bool
- この URL を自分が解決するか
- match() : array<int|string, string>|null
- URL がパターンにマッチすればキャプチャ結果を返す
Properties
$handler
private
callable(array<int|string, string>, string): Array
$handler
$pattern
private
string
$pattern
Methods
__construct()
public
__construct(string $pattern, callable(array<int|string, string>, string): Array $handler) : mixed
Parameters
- $pattern : string
-
URL にマッチさせる PCRE
- $handler : callable(array<int|string, string>, string): Array
resolve()
埋め込み情報を解決する
public
resolve(string $url) : EmbedData|null
Parameters
- $url : string
Return values
EmbedData|nullsupports()
この URL を自分が解決するか
public
supports(string $url) : bool
Parameters
- $url : string
Return values
boolmatch()
URL がパターンにマッチすればキャプチャ結果を返す
private
match(string $url) : array<int|string, string>|null
正規表現のコンパイル失敗・バックトラック上限は例外にして、レジストリ側でログへ残しつつ このプロバイダーだけを飛ばす(不正な1件が他のプロバイダーを巻き込まないようにする)。
Parameters
- $url : string