CakePHP3でデプロイした本番環境でファビコンの変更をしたい

CakePHP3でデプロイした本番環境のお話です。

ファビコンってありますよね。

ロームだとタブのところに表示されるアイコンのことです。

CakePHP3の場合だと、デプロイした時にCakePHPロゴマークになっています。

これを変えたい時のお話です。

【自分の環境】
macOS Catalina
PHP7.4.2
CakePHP3.8
MAMP5.7
Apache2.2
MySQL5.7

ファビコンの作成

ファビコンがないよって方は、作ってください。

自分は以下のサイトで作りました。

ファビコン作成 favicon.ico 無料で半透過マルチアイコンが作れます

念のためHtmlHelper.phpの記述を見る

だいぶ深部ですが、vendor/cakephp/cakephp/src/View/Helper/HtmlHelper.phpの記述を閲覧します。

if ($type === 'icon' && $content === null) {
                $types['icon']['link'] = 'favicon.ico';
            }

こんなかんじになっていると思います。

$types['icon']['link']に'favicon.ico'が設定されています。

これはfavicon.icoでファイル検索するとわかるように、赤いケーキのアイコンです。

つまりCakePHPのファビコンです。

このファイルを新たなファビコンで上書きするか、設定を新たなファビコンファイルの名前にすれば、行けそうですね。

この記事では旧ファビコンを新ファビコンで上書き

上書きします。

先ほど作ったファビコンの名前を「favicon.ico」にしてください。

これでwebroot(スマホ版がある方はwebrootが2つあります)にあるfavicon.icoを上書きしてください。

これでファビコンがすり替えられました。

あとはキャッシュを消したり、待ったりする

一旦キャッシュを消しておきましょう。

あとは反映に時間がかかりますので、待ちましょう。

そうすると反映されているはずです。

終わりに

以上となります。

CakePHPのファビコンではさすがに謎なので、最低限消しとくくらいはしたいですよね。

消しとくとクロームの場合、地球になります。

ぜひ自分のファビコンに設定してみてください。

ありがとうございました。