Introduce TwigFileSystemCache

The original FileSystemCache of twig generates the key depending on PHP_VERSION.
We need to produce the same key regardless of PHP_VERSION. Therefore
TwigFileSystemCache overwrites this method.

[MAILPOET-3985]
This commit is contained in:
David Remer
2022-05-19 11:50:34 +03:00
committed by Veljko V
parent 89b871775a
commit 382ae901cc

View File

@@ -0,0 +1,21 @@
<?php
namespace MailPoet\Config;
class TwigFileSystemCache extends \MailPoetVendor\Twig\Cache\FilesystemCache {
private $directory;
public function __construct(
string $directory,
int $options = 0
) {
$this->directory = \rtrim($directory, '\\/') . '/';
parent::__construct($directory, $options);
}
public function generateKey(string $name, string $className): string {
$hash = \hash('sha256', $className);
return $this->directory . $hash[0] . $hash[1] . '/' . $hash . '.php';
}
}