CakePHP 3.8 に CakePHP Minify HTML Plugin を導入

はじめに

今日はCakePHP3で、HTMLのソースコードをミニファイ(圧縮)してくれるCakePHP3用プラグイン「CakePHP Minify HTML Plugin」の導入方法をご紹介します。

今回使用したCakePHPのバージョンは3.8ですが、3.6以降は上記GitHubで表示される README.md の方法とは異なるので注意が必要です。

目次
  1. Composer で CakePHP Minify HTML Plugin をインストール
  2. Application.php でプラグイン読込
  3. AppView.php でプラグイン読込
  4. 動作確認

1. Composer で CakePHP Minify HTML Plugin をインストール

$ cd /path/to/cakephp3
$ composer require wyrihaximus/minify-html:1.*

2020.04.11 追記

上記コマンドに minify-html のバージョン指定「:1.*」を追加しました。現在の最新版だと CakePHP 3 には対応していないためです。

2. Application.php でプラグイン読込

/src/Application.php の function bootstrap() { ~ } の中に(おそらく最下部)、
「Load more plugins here」というコメントがあるので、その下に下記1行を追記。

/src/Application.php
public function bootstrap()
{
    ~~~(省略)~~~
    // Load more plugins here
    $this->addPlugin('WyriHaximus/MinifyHtml', ['bootstrap' => true]); // ← これを追加
}

3. AppView.php でプラグイン読込

/src/View/AppView.php の function initialize() { ~ } の中に、下記1行を追記。

/src/View/AppView.php
public function initialize()
{
    $this->loadHelper('WyriHaximus/MinifyHtml.MinifyHtml'); // ← これを追加
}

4. 動作確認

/config/app.php の "debug" を false にして閲覧し、ソースコードから改行やインデントが削除されていれば完了です。

"debug" が true の場合はミニファイされませんのでご注意ください。