MemoizeTrait#
Infocyph\CacheLayer\Memoize\MemoizeTrait provides lightweight per-object
memoization for class internals.
API#
memoize(string $key, callable $producer): mixedmemoizeClear(?string $key = null): void
Example#
use Infocyph\CacheLayer\Memoize\MemoizeTrait;
final class ReportService
{
use MemoizeTrait;
public function expensiveCount(): int
{
return $this->memoize(__METHOD__, function (): int {
return computeCount();
});
}
public function clearMemoizedCount(): void
{
$this->memoizeClear(__METHOD__);
}
}