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関数
スポンサーリンク