clearAllCacheByModel(); } } public function clearAllCacheByModel(): void { $this->clearCacheByPrefix(CacheKeys::EDUCATION_PROGRAMS_PREFIX->value.'*'); $this->clearCacheByPrefix(CacheKeys::EDUCATION_PROGRAM_PREFIX->value.'*'); } public function getCachedData(string $key) { return Cache::get($key); } public function cacheData(string $key, $data, int $ttl = null): void { Cache::put($key, $data, $ttl ?? self::DEFAULT_TTL); } public function getCacheKey(int $id): string { return CacheKeys::EDUCATION_PROGRAM_PREFIX->value . $id; } private function forgetProgramCache(int $id): void { Cache::forget($this->getCacheKey($id)); } private function clearAllProgramsCache(): void { Cache::forget(CacheKeys::EDUCATION_PROGRAMS_PREFIX->value . '*'); } }