oscarricardosan/cache_object
Composer 安装命令:
composer require oscarricardosan/cache_object
包简介
Small package for handling cache in code block and not having to use session and avoid 'array_has' or the like.
README 文档
README
Agnostic php package.
Small package for handling cache in code block and not having to use session and avoid array_has or the like.
$productCache= new CacheObject([0=> 'A']); $productCache->set(1, 'B'); if($productCache->exists(0)){ return $productCache->get(0); }
use Oscarricardosan\CacheObject\CacheObject; class Product { /** * @var CacheObject */ protected $productCache; public function __construct() { $this->$productCache= new CacheObject([ 'potato'=> ['name'=> 'Potato', 'value'=> 10] ]); } public function addTomatoToProducts($value) { $productCache->set('tomato', $value); } public function getTomatoProduct() { if(!$productCache->exists('tomato')){ $productCache->set('tomato', ['name'=> 'Tomato default', 'value'=> 7]); } return $productCache->get('tomato'); } } ____________________________________________ $product= new Product(); print_r($product->getTomatoProduct()); //['name'=> 'Tomato default', 'value'=> 7] $product->addTomatoToProducts(['name'=> 'Real Tomato', 'real_value'=> 1200, 'money', 'COP']) print_r($product->getTomatoProduct()); //['name'=> 'Real Tomato', 'real_value'=> 1200, 'money', 'COP']
Method "getOrSet", receives as parameters the key to obtain and if it does not exist it executes the second parameter which must be a function. It works to avoid having to use an "if ($ productCache-> exists ('tomato'))"
public function getTomatoProduct()
{
return $productCache->getOrSet('tomato', function(){
return ['name'=> 'Tomato default', 'value'=> 7];
})
}
统计信息
- 总下载量: 995
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-08-16