18 lines
397 B
PHP
18 lines
397 B
PHP
<?php
|
|
|
|
namespace App\Services\Cache;
|
|
|
|
class CacheKeyBuilder
|
|
{
|
|
public function __construct(
|
|
private readonly string $version = 'v1'
|
|
) {}
|
|
|
|
public function make(string $key, array $parts = []): string
|
|
{
|
|
$suffix = empty($parts) ? '' : ':'.implode(':', array_map(static fn ($part) => (string) $part, $parts));
|
|
|
|
return "{$this->version}:{$key}{$suffix}";
|
|
}
|
|
}
|