zalatov / runtime-cache-trait
Trait for PHP runtime caching.
Package info
github.com/zalatov/runtime-cache-trait
Type:php-trait
pkg:composer/zalatov/runtime-cache-trait
1.0
2019-03-31 04:10 UTC
Requires
- php: >=7.1
This package is not auto-updated.
Last update: 2026-03-24 15:14:30 UTC
README
- Не требуется указание лишнего private/protected атрибута.
- Не дублируется аннотация/документация и к атрибуту, и к методу.
- Инкапсулирование логики методом - есть уверенность, что в других местах атрибут ничего не изменит.
Обычное использование
<?php class Product { private $images; public function getImages(): array { if (null === $this->images) { $this->images = [new Image]; } return $this->images; } }
Через RuntimeCacheTrait
<?php class Product { use RuntimeCacheTrait; public function getImages(): array { return $this->objectRuntimeCache(__METHOD__, function() { return [new Image]; }); } }
Один экземпляр объекта/модели
<?php class Product extends \yii\db\ActiveRecord { use RuntimeCacheTrait; public static function getModel(string $id): ?self { return static::globalRuntimeCache([__METHOD__, $id], function() use ($id) { return static::findOne($Id); }); } }