OEmbedEndpointProvider
in package
implements
Provider
FinalYes
登録された oEmbed エンドポイントから埋め込みを解決するプロバイダー。
oEmbed に対応しているがライブラリの自動検出(ページ内の <link rel="alternate">)では
見つからないサービス向け(WordPress の wp_oembed_add_provider に相当)。
直接 new せず ProviderRegistry::registerOEmbedEndpoint() から使う。
Table of Contents
Interfaces
- Provider
- URL から埋め込み情報を解決するプロバイダー。
Constants
- MAX_HEIGHT = \Acms\Services\Embed\Providers\LibraryProvider::OEMBED_MAX_HEIGHT
- MAX_WIDTH = \Acms\Services\Embed\Providers\LibraryProvider::OEMBED_MAX_WIDTH
- oEmbed に要求する埋め込みの最大幅・高さ(px)。既定プロバイダーと揃える。
Properties
Methods
- __construct() : mixed
- resolve() : EmbedData|null
- 埋め込み情報を解決する
- supports() : bool
- この URL を自分が解決するか
- endpointUri() : string
- 問い合わせ先の URL を組み立てる
- stringValue() : string
- oEmbed レスポンスから文字列を取り出す
Constants
MAX_HEIGHT
private
mixed
MAX_HEIGHT
= \Acms\Services\Embed\Providers\LibraryProvider::OEMBED_MAX_HEIGHT
MAX_WIDTH
oEmbed に要求する埋め込みの最大幅・高さ(px)。既定プロバイダーと揃える。
private
mixed
MAX_WIDTH
= \Acms\Services\Embed\Providers\LibraryProvider::OEMBED_MAX_WIDTH
Properties
$client
private
ClientInterface|null
$client
$endpoint
private
string
$endpoint
$params
private
array<string, scalar>
$params
$pattern
private
string
$pattern
Methods
__construct()
public
__construct(string $pattern, string $endpoint[, array<string, scalar> $params = [] ][, ClientInterface|null $client = null ]) : mixed
Parameters
- $pattern : string
-
URL にマッチさせる PCRE
- $endpoint : string
-
oEmbed エンドポイントの URL
- $params : array<string, scalar> = []
-
エンドポイントへ追加で渡すクエリ
- $client : ClientInterface|null = null
-
省略時は SSRF ガード付きのクライアント。 実通信なしでテストできるよう引数で受け取る。
resolve()
埋め込み情報を解決する
public
resolve(string $url) : EmbedData|null
Parameters
- $url : string
Return values
EmbedData|null —取得・解釈できなければ null
supports()
この URL を自分が解決するか
public
supports(string $url) : bool
Parameters
- $url : string
Tags
Return values
boolendpointUri()
問い合わせ先の URL を組み立てる
private
endpointUri(string $url) : string
Parameters
- $url : string
Return values
stringstringValue()
oEmbed レスポンスから文字列を取り出す
private
stringValue(array<string|int, mixed> $data, string $key) : string
Parameters
- $data : array<string|int, mixed>
- $key : string