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:
21
mailpoet/lib/Config/TwigFileSystemCache.php
Normal file
21
mailpoet/lib/Config/TwigFileSystemCache.php
Normal 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';
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user