a-blog cms PHP API Reference

Provider

URL から埋め込み情報を解決するプロバイダー。

コアは埋め込みライブラリ(embed/embed)を包んだプロバイダーを1つだけ登録する。拡張アプリは 自前のプロバイダーを実装し、ServiceProvider::init() などで embed.providers レジストリへ 登録することで、ライブラリが対応していないサービスの埋め込みを追加できる。

返した HTML は呼び出し側(Helper)で必ずサニタイズされる。 プロバイダーはサニタイズを迂回する口ではないため、埋め込み先のホストは別途 extends_html_purifier_iframe_allowed_hosts 等で許可する必要がある。

Table of Contents

Methods

resolve()  : EmbedData|null
埋め込み情報を解決する
supports()  : bool
この URL を自分が解決するか

Methods

resolve()

埋め込み情報を解決する

public resolve(string $url) : EmbedData|null

取得に失敗した場合は null を返す。null(および全項目が空の結果)のときは後続の プロバイダーへフォールバックするため、「自分が対応するサービスだが今回は取れなかった」 ときも例外ではなく null を返してよい。

HTML は生のまま返す。サニタイズは呼び出し側の責務で、ここで済ませてはいけない (プロバイダーごとにサニタイズ方針がぶれると、許可ホストの単一の情報源が崩れるため)。

Parameters
$url : string
Return values
EmbedData|null

supports()

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

public supports(string $url) : bool

対象外なら false を返す。判定は URL 文字列だけで完結させ、外部通信は行わないこと (レジストリは登録順に全プロバイダーへ問い合わせるため)。

Parameters
$url : string
Return values
bool

        
On this page

Search results