Cache_Liteを簡単に使う独自のPHP関数
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
頻繁に書くようなコードは、自作の関数で定義しておくと、呼び出しがとても簡単で楽になります。
APIを使ったサイトを作るうえでは、キャッシュ機能を用いるケースが多いです。
PHPの場合、PEARのCache_Liteライブラリがとても便利なのですが、キャッシュ機能は頻繁に使うので、自作の関数を作ってみた。
”キャッシュ期間”、”キャッシュディレクトリ”、”クリーニング値”の3つの引数を渡して呼び出し、Cache_Liteオブジェクトを返します。
スポンサーリンク
********* w_cl()関数 **********
キャッシュ機能。Cache_Liteオブジェクトを返す。
@パラメータは以下の3つ
$cache_period キャッシュの保存期間。デフォルト値:86400(24*3600)
$cache_dir キャッシュ保存先のディレクトリ。デフォルト値:cached/
$clean 期限切れキャッシュの自動クリーニング(20~200)。デフォルト値:100
**********************************/
function w_cl($cache_period=86400, $cache_dir='cached/', $clean=100) {
//Cache_Liteに渡す配列
$options = array(
'cacheDir' => $cache_dir,
'caching' => true,
'lifeTime' => $cache_period,
'automaticCleaningFactor' => $clean
);
return new Cache_Lite($options);
}
で、使うときは、デフォルトの場合・・・
//Cache_Liteライブラリの読み込み
include_once 'Cache/Lite.php';
//w_cl関数でCache_Liteオブジェクト作成
$cache = w_cl();
//キャッシュID
$cache_id = 'data';
$cache_data = $cache->get($cache_id);
if($cache_data){
//キャッシュがある場合、キャッシュ内容を表示
echo $cache_data;
}else{
//キャッシュがない場合の処理
処理1;
処理2;
・・・
//キャッシュへ保存
$cache->save($text, $cache_id);
}
キャッシュ期間を”1週間”、キャッシュディレクトリを”tmp/”、キャッシュをもっと削除する(クリーニング値を高くする)場合は・・・
//Cache_Liteライブラリの読み込み
include_once 'Cache/Lite.php';
//w_cl関数でCache_Liteオブジェクト作成
$period = 24*3600*7;
$dir = 'tmp/';
$cln = 200;
$cache = w_cl($period, $dir, $cln);
//キャッシュID
$cache_id = 'data';
$cache_data = $cache->get($cache_id);
if($cache_data){
//キャッシュがある場合、キャッシュ内容を表示
echo $cache_data;
}else{
//キャッシュがない場合の処理
処理1;
処理2;
・・・
//キャッシュへ保存
$cache->save($text, $cache_id);
}
こんな感じで使うと、若干コードが短くなるかな・・・と。
スポンサーリンク
>> 次の記事 : フォームからファイルアップロードでのセキュリティ対策まとめ
- - 関連記事 -
- strpos() や strcmp() など間違えやすいif文での判定
- htmlentities() と htmlspecialchars() の違い
- PHPの内部エンコードと出力文字コード、スクリプト文字コード
- PHPのデバッグ・xdebugをxamppで有効にする
- CakePHPの日本語対応、国際化
- コマンドラインでPHPが起動できない
- 直接ファイルが実行されたときだけ起動するスクリプト
- ディレクトリを探索してリンク一覧表示
- PHPとRubyのコードの書き方を比較
- コメントアウトの使い分けと、/*** ~ ***/とか// — を単語登録
- PHPでvar_dump()を使ったお手軽デバッグコード
- プログラミング練習問題をPHPで解いてみた
- CakePHPはMVCかつフルスタックのフレームワーク
- PHP5のクラス定義とオブジェクトのおさらい
- フレームワークCakePHPにチャレンジ
- sort・asort・ksort 配列を並べ替える関数
- foreach構文
- PHPの配列
- strcmp関数
- strcasecmp関数
スポンサーリンク