a-blog cms PHP API Reference

InstallThemeCollector
in package

FinalYes

インストーラーの初期テーマ選択肢を「ファイルシステム宣言」から収集する(拡張ポイント)。

setup 実行時はプラグインの ServiceProvider::init も Hook も発火しない(DB の app テーブル駆動のため)。 よってテーマ候補を足す駆動源はファイルシステム宣言にする必要がある。コアテーマ・拡張テーマとも setup/bin/<name>/theme.yaml を置くだけで候補になり、収集経路は discover 一本に統一される。 これにより「どのテーマが選択肢に並ぶか」は bin ディレクトリの実在で一元的に決まり、コアテーマの 追加・削除もファイルの増減として現れる(旧来はコア分を coreDefaults として PHP に静的直書きしていた)。 コアテーマの bin は submodule への symlink(site/beginner→utsuwa, develop→develop)なので、その 宣言ファイルは各 submodule 側の bin ディレクトリに同梱する。

ディレクトリ走査・YAML 読込という I/O はここに閉じ、候補の組み立て・整列・検証は InstallThemeCatalog(純粋)に委ねる。

Table of Contents

Constants

MANIFEST  = 'theme.yaml'
宣言ファイル名。プラグインは `setup/bin/<name>/theme.yaml` を置くだけで候補を追加できる。

Methods

catalog()  : InstallThemeCatalog
bin ディレクトリの宣言ファイル走査(discover)だけからテーマカタログを組み立てる。 コアテーマも各 bin の theme.yaml で宣言するため、収集経路は拡張テーマと共通の一本。
discover()  : array<int, array<string, mixed>>
bin ディレクトリ配下の宣言ファイルを走査し、宣言配列のリストを返す。 `key` 未指定の宣言はディレクトリ名を既定キーにする。`image` は setup ルートからの相対パスに 解決する(下記 resolveImage 参照)。
resolveImage()  : string
宣言の `image` を setup ルートからの相対パスに解決する。

Constants

MANIFEST

宣言ファイル名。プラグインは `setup/bin/<name>/theme.yaml` を置くだけで候補を追加できる。

public mixed MANIFEST = 'theme.yaml'

Methods

catalog()

bin ディレクトリの宣言ファイル走査(discover)だけからテーマカタログを組み立てる。 コアテーマも各 bin の theme.yaml で宣言するため、収集経路は拡張テーマと共通の一本。

public catalog(string $binDir) : InstallThemeCatalog
Parameters
$binDir : string
Return values
InstallThemeCatalog

discover()

bin ディレクトリ配下の宣言ファイルを走査し、宣言配列のリストを返す。 `key` 未指定の宣言はディレクトリ名を既定キーにする。`image` は setup ルートからの相対パスに 解決する(下記 resolveImage 参照)。

public discover(string $binDir) : array<int, array<string, mixed>>
Parameters
$binDir : string
Return values
array<int, array<string, mixed>>

resolveImage()

宣言の `image` を setup ルートからの相対パスに解決する。

private resolveImage(string $binDir, string $name, mixed $image) : string

テーマ(コア・拡張とも)を setup/bin/<name>/ だけで自己完結させるため、サムネイルは そのテーマの bin ディレクトリ同梱画像(setup/bin/<name>/<image>)に一本化する。存在すれば bin/<name>/<image> を返し、無ければ空にする(サムネイル無しで候補自体は出る)。 bloguser.twig は ./<image> で描画する。

Parameters
$binDir : string
$name : string
$image : mixed
Return values
string

        
On this page

Search results