a-blog cms PHP API Reference

RepositoryUrl
in package

FinalYes

アップデート関連 URL(system_update_repository のエンドポイント、update.json の download で取得するパッケージ本体URL)のスキーム判定・変換をまとめた純粋関数群。

呼び出し元(UpdateServiceProvider::register() / CheckForUpdate)はグローバル状態 (config() / AcmsLogger)に依存するため、そこに判定ロジックを埋めるとテストできない。 判定・変換だけをここに切り出し、ログ発火は各呼び出し元に閉じる。

Table of Contents

Constants

HTTPS_SCHEME  = 'https://'

Methods

enforceHttps()  : string
スキームが http(大文字小文字は区別しない)の場合のみ https:// に読み替える。

Constants

Methods

enforceHttps()

スキームが http(大文字小文字は区別しない)の場合のみ https:// に読み替える。

public static enforceHttps(string $url) : string

Why not: 前方一致文字列比較(stripos($url, 'http://') === 0)では http:/host/path(スラッシュ1個)のようなスキーム区切りの揺れを読み替えられず 平文のまま素通りする(curl はスラッシュを正規化して http:// として解釈してしまうため)。 parse_url() の PHP_URL_SCHEME を使えば区切りの揺れに関わらずスキーム自体を判定できる。 判定できた場合は scheme 部分を preg_replace で https:// に置き換える (文字列全体を置換すると、クエリ文字列中の http:// 等意図しない箇所まで書き換えてしまうため)。

Parameters
$url : string
Return values
string

        
On this page

Search results