プレーンなHTMLをキャッシュするflattenの使用方法
インストール
Laravel4.2でページキャッシュライブラリのflattenを利用しました。
Flatten
composerでインストールすることが可能です。composer.jsonにflattenを追記します。
"require": { "laravel/framework": "4.2.*", "anahkiasen/flatten": "*" },
追加したらアップデートします。
composer update
app.phpの設定
app/config/app.php でflattenを使用可能な状態に設定します。
providers配列に
‘Flatten\FlattenServiceProvider’,
を追加し、
aliases配列に
‘Flatten’ => ‘Flatten\Facades\Flatten’,
を追加します。
コンフィグレーションファイルの設定
flattenの設定ファイルを/app配下にコピーします。
php artisan config:publish anahkiasen/flatten
上のコマンドを実行すると、
app\config\packages\anahkiasen\flatten
配下に
config.php
が生成されます。このファイルを編集することでflattenの設定を調整することが可能です。lifetimeの設定を1(1分)に設定してみました。
return array( 'enabled' => true, 'ignore' => array(), 'only' => array(), 'blockers' => array(), 'lifetime' => 1, 'saltshaker' => array(), );
キャッシュファイルの確認
キャッシュファイルは以下のパスに格納されます。
app\storage\cache
今回試したところ
app\storage\cache\40\05\40059f3f58b569054c944536a4846474
上のキャッシュファイルが作成されました。
キャッシュのクリア
flushAll()ですべてのキャッシュファイルを削除することが可能です。
public function flush() { Flatten::flushAll(); }
URLベースで個別に削除することが出来ます。下の例はルートURLのキャッシュのみを削除するコードです。
Flatten::flushUrl('http://laravel.local/');
その他、githubのページでは
- 部分キャッシュ機能
- 自動クロール機能
- 独立したPHPシステムでのネイティブな利用方法
について解説されています。