a-blog cms PHP API Reference

Helper
in package

Table of Contents

Methods

loadBlogFulltext()  : string
ブログのフルテキストを取得
loadCategoryFulltext()  : string
カテゴリのフルテキストを取得
loadEntryFulltext()  : string
エントリーのフルテキストを取得
loadUserFulltext()  : string
ユーザーのフルテキストを取得
normalizeSearchText()  : string
全文検索の対象テキストを正規化する
saveFulltext()  : void
フルテキストの保存
fireExtendsSearchNormalization()  : string
検索テキストの正規化拡張フックを発火する。

Methods

loadBlogFulltext()

ブログのフルテキストを取得

public loadBlogFulltext(int $bid) : string
Parameters
$bid : int
Return values
string

loadCategoryFulltext()

カテゴリのフルテキストを取得

public loadCategoryFulltext(int $cid) : string
Parameters
$cid : int
Return values
string

loadEntryFulltext()

エントリーのフルテキストを取得

public loadEntryFulltext(int $eid) : string
Parameters
$eid : int
Return values
string

loadUserFulltext()

ユーザーのフルテキストを取得

public loadUserFulltext(int $uid) : string
Parameters
$uid : int
Return values
string

normalizeSearchText()

全文検索の対象テキストを正規化する

public normalizeSearchText(string $text) : string

config('search_convert_kana') に mb_convert_kana() のモード文字列(例: KV)が指定されている場合に、 そのモードで変換した文字列を返す。未設定または off なら入力をそのまま返す。

半角カナの濁点・半濁点は「本体文字 + 独立した濁点記号」の 2 文字(カ + ゙)で、全角は結合済みの 1 文字(ガ)。照合順序 utf8mb4_unicode_ci はカナ単体の全角・半角差は吸収するが、この結合までは 吸収せず文字数が合わないため一致しない。インデックス生成時と検索キーワード受付時の双方で本メソッドを 通し、両者を同じ表記に寄せることで一致させる。

mb_convert_kana() での変換後、拡張アプリ・ユーザー拡張が独自の正規化(長音記号の畳み込み、 旧字体・異体字の統一など)を追加できるよう extendsSearchNormalization フックを発火する。

Why not Normalizer::normalize(): NFKC は intl 拡張を要求するため、動作環境の前提を上げずに済む mbstring で実現する。 Why not 不正なモードでの警告ログ: 本メソッドは検索リクエストごと・インデックス保存ごとに呼ばれる ため、設定ミス時にログが際限なく膨らむ。加えて mb_convert_kana() は不正なモードで ValueError を投げ、 検索ページ全体が落ちてしまうので、事前に弾いて変換なしにフォールバックする。

Parameters
$text : string
Return values
string

saveFulltext()

フルテキストの保存

public saveFulltext(string $type, int $id[, string|null $fulltext = null ][, int|null $targetBid = null ]) : void
Parameters
$type : string

フルテキストのタイプ

$id : int
$fulltext : string|null = null
$targetBid : int|null = null

保存先ブログ ID。null / 省略時は現在のブログ(BID)

fireExtendsSearchNormalization()

検索テキストの正規化拡張フックを発火する。

private fireExtendsSearchNormalization(string $text) : string

フック発火(グローバルな ACMS_Hook へのアクセス)を本メソッドに閉じることで、 normalizeSearchText() 自体は引数を受け取って返すだけの純粋な形を保ち、単体テスト可能性を保つ。 Hook 無効時(HOOK_ENABLE が偽)は何もしない。

Parameters
$text : string

mb_convert_kana() 適用後のテキスト

Return values
string

        
On this page

Search results