- PHP >= 5.5.9
- Laravel >= 5.1
Require this package with composer:
composer require valeryq/cacheable
You must implements the Cacheable contract into your class and you can use the CacheableTrait instead realized methods from contract.
For example (for repositories):
<?php namespace App\Repositories\Cacheable;
use App\Models\Product;
use Valeryq\Cacheable\Contracts\Cacheable;
use Valeryq\Cacheable\Traits\CacheableTrait;
class CacheableProductRepository implements Cacheable
{
use CacheableTrait;
/**
* Find product by id
*
* @param $id
*
* @return Product
* @throws ModelNotFoundException
*/
public function find($id)
{
return $this->cache()->remember('your_key', 60, function() {
return Product::findOrFail($id);
});
}
....
}
The Laravel Cacheable is open-sourced software licensed under the MIT license