a-blog cms PHP API Reference

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

$handler  : callable(array<int|string, string>, string): Array
$pattern  : string

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

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

supports()

この URL を自分が解決するか

public supports(string $url) : bool
Parameters
$url : string
Return values
bool

match()

URL がパターンにマッチすればキャプチャ結果を返す

private match(string $url) : array<int|string, string>|null

正規表現のコンパイル失敗・バックトラック上限は例外にして、レジストリ側でログへ残しつつ このプロバイダーだけを飛ばす(不正な1件が他のプロバイダーを巻き込まないようにする)。

Parameters
$url : string
Tags
throws
RuntimeException
Return values
array<int|string, string>|null

        
On this page

Search results