はじめに
LaravelでよくでてくるIlluminate\~\~
って結局何だ?!と思いメソッドをまとめました。
言語
- Laravel8
Illuminateとは
- Laravelが提供する様々なサービスやコンポーネントを構成するための基盤を提供している。
- サービスやコンポーネントは
Illuminate
名前空間内に整理されている
どこにあるか?
プロジェクトディレクトリ\vendor\laravel\Framework\src\Illuminate\~
Illuminate\Cache
- キャッシュ機能を提供。データベースやその他の外部リソースへのアクセスを減らし、アプリケーションのパフォーマンスを向上させることが期待できる。
Illuminate\Cache\Repository
-
Repository
クラスはキャッシュ機能を管理するためのメソッドを提供。
get($key, $default = null)
- 指定されたキャッシュデータを取得
$value = Cache::get('key', 'default');
put($key, $value, $minutes)
- 指定されたキーにキャッシュデータを保存
Cache::put('key', 'value', 5);
forever($key, $value)
- 指定されたキーに永続的なキャッシュデータを保存
Cache::forever('key', 'value');
forget
- 指定されたキーのキャッシュデータを削除
Cache::forget('key');
has
- 指定されたキーのキャッシュデータが存在するか確認
if (Cache::has('key')) { }
クロージャとは?
匿名関数とも呼ばれ、名前を持たない関数のこと。
外部スコープから変数をキャプチャして使用できる。
PHP
$message = 'Hello';
$greet = function($name) use ($message) {
return "$message, $name!";
};
echo $greet('Qiita'); // "Hello, Qiita!"
remember($key, $minutes, Closure $callback)
- 指定されたキーのキャッシュデータを取得。存在しない場合は、クロージャの結果をキャッシュに保存して返す。
$value = Cache::remember('key', 10, function() { return 'computed'; // キャッシュに保存する値 });
rememberForever($key, closure $callback)
- 指定されたキーのキャッシュデータを永続的に取得。存在しない場合は、クロージャの結果をキャッシュに保存して返す。
$value = Cache::rememberForever('key', function() { return 'computed'; // キャッシュに保存する値 });
pull($key, $default = null)
- 指定されたキーのキャッシュデータを取得し、その後キャッシュから削除する。
$value = Cache::pull('key');
インクリメントとは?
値を1増加させる操作
increment($key, $value = 1)
-
指定されたキーのキャッシュデータをインクリメントする。
Cache::increment('key');
-
カウンタの値を増加させたい場合に使用。ページビュー数や在庫数の増加など。
デクリメントとは?
値を1減少させる操作
decrement($key, $value = 1)
-
指定されたキーのキャッシュデータをデクリメントする。
Cache::decrement('key');
-
カウンタの値を減少させたい場合に使用。在庫数の減少やカウントダウンなど。
私のIlluminate関連記事