a-blog cms PHP API Reference

Step6 extends AbstractStep
in package

インストール phase 6(完了)。旧 setup/install.php の Install_Step_6。 W5: setup ディレクトリを削除し、ログイン画面へリダイレクトする。

Table of Contents

Methods

check()  : StepResult
進行可否の判定。errors が空なら commit へ進める。副作用を持たない想定だが、一部フェーズ (DB 接続確認など)は判定に不可分な検査を含む(旧 validate 踏襲)。
commit()  : StepResult
フェーズの主たる副作用(config 書き込み・DB 作成・ブログ作成・setup 撤去)の実行。 check が通り、かつ副作用リクエスト(do / 完了フェーズ)のときだけ呼ばれる。
commitRemovingSetupDirectory()  : StepResult
setup ディレクトリの削除とログイン画面への遷移。SETUP_PATH はテスト側から差し替え不可な グローバル定数のため、対象パスを引数化してテストできる形にしてある。
template()  : string
描画に使う setup 専用 Twig テンプレート(`@setup/install/...twig`)。
viewData()  : array<string, mixed>
画面固有の表示データ(規約テキスト・テーマ選択肢など、操作結果に依存しないもの)。
checkInput()  : ToolErrors
送信フィールドのうち空のものを {フィールド名}_input エラーにする。 db_create(作成しない選択)と db_pass(空パス許容)は必須にしない。
fileExists()  : ToolErrors
writeConfig()  : ToolErrors
config.server.php の define(KEY, ...) を書き換える。失敗時は config_write エラーを返す。

Methods

check()

進行可否の判定。errors が空なら commit へ進める。副作用を持たない想定だが、一部フェーズ (DB 接続確認など)は判定に不可分な検査を含む(旧 validate 踏襲)。

public check(Field $post) : StepResult
Parameters
$post : Field
Return values
StepResult

commit()

フェーズの主たる副作用(config 書き込み・DB 作成・ブログ作成・setup 撤去)の実行。 check が通り、かつ副作用リクエスト(do / 完了フェーズ)のときだけ呼ばれる。

public commit(Field $post) : StepResult
Parameters
$post : Field
Return values
StepResult

commitRemovingSetupDirectory()

setup ディレクトリの削除とログイン画面への遷移。SETUP_PATH はテスト側から差し替え不可な グローバル定数のため、対象パスを引数化してテストできる形にしてある。

public static commitRemovingSetupDirectory(string $setupDir) : StepResult

W5: リネームは推測でファイル名を当てられ痕跡が残るため、setup ディレクトリを削除する。 setup_dir_name 入力への依存も廃し、移動先の恣意指定の余地をなくす。成功したらログインへ リダイレクトする(旧 Step_6 は validate 内で header()+die() していたのを Response へ移した)。

$setupDir が symlink(docroot が symlink デプロイされている構成。CMS-7828)の場合は remove() でリンク自体だけを外す(remove() は symlink を isLink() で先に判定し、リンク先の 実体には触れない)。removeDirectory() にディレクトリ symlink を渡すと内部の RecursiveDirectoryIterator がリンクを追跡し、リンク先の実体側の中身を再帰的に削除して しまう(symlink 自体は rmdir() の対象外のため残る)ため、実体を破壊しかねない。

Parameters
$setupDir : string
Return values
StepResult

template()

描画に使う setup 専用 Twig テンプレート(`@setup/install/...twig`)。

public template() : string
Return values
string

viewData()

画面固有の表示データ(規約テキスト・テーマ選択肢など、操作結果に依存しないもの)。

public viewData(Field $post) : array<string, mixed>
Parameters
$post : Field
Return values
array<string, mixed>

checkInput()

送信フィールドのうち空のものを {フィールド名}_input エラーにする。 db_create(作成しない選択)と db_pass(空パス許容)は必須にしない。

protected checkInput(Field $post) : ToolErrors
Parameters
$post : Field
Return values
ToolErrors

writeConfig()

config.server.php の define(KEY, ...) を書き換える。失敗時は config_write エラーを返す。

protected writeConfig(string $key, string $val) : ToolErrors

値の整形・置換は Services\ConfigServer\ConfigServerWriter に委譲する(メンテナンス側の Domain 修正ツールと同一実装)。自前の preg_replace + str_replace 実装は、値に $ + 数字が 含まれると置換文字列がバックリファレンス($1 等)と解釈されて値が壊れる不具合があったため廃止。

Parameters
$key : string
$val : string
Return values
ToolErrors

        
On this page

Search results