zalatov / runtime-cache-trait
Trait for PHP runtime caching.
Installs: 7 187
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:php-trait
Requires
- php: >=7.1
This package is not auto-updated.
Last update: 2025-07-01 11:32:48 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); }); } }