getMaxKeyLength(); if ($maximumKeyLength === Capabilities::UNLIMITED_KEY_LENGTH) { $this->maximumKeyLength = Capabilities::UNLIMITED_KEY_LENGTH; return; } if ($maximumKeyLength === Capabilities::UNKNOWN_KEY_LENGTH) { // For backward compatibility, assume adapters which do not provide a maximum key length do support 64 chars $maximumKeyLength = 64; } if ($maximumKeyLength < 64) { throw new SimpleCacheInvalidArgumentException(sprintf( 'The storage adapter "%s" does not fulfill the minimum requirements for PSR-6/PSR-16:' . ' The maximum key length capability must allow at least 64 characters.', $storage::class )); } $this->maximumKeyLength = min($maximumKeyLength, self::$pcreMaximumQuantifierLength - 1); } private function exceedsMaximumKeyLength(string $key): bool { return $this->maximumKeyLength !== Capabilities::UNLIMITED_KEY_LENGTH && preg_match('/^.{' . ($this->maximumKeyLength + 1) . ',}/u', $key); } }