Add short doc to explain, why the methods where altered.

[MAILPOET-3985]
This commit is contained in:
David Remer
2022-06-07 09:27:36 +03:00
committed by Veljko V
parent 29dffe542e
commit 467ed02043
2 changed files with 10 additions and 0 deletions

View File

@@ -9,6 +9,11 @@ class TwigEnvironment extends Environment {
private $templateClassPrefix = '__TwigTemplate_'; private $templateClassPrefix = '__TwigTemplate_';
/**
* The original Environment of twig generates the class depending on PHP_VERSION.
* We need to produce the same class regardless of PHP_VERSION. Therefore, we
* overwrite this method.
**/
public function getTemplateClass(string $name, int $index = null): string { public function getTemplateClass(string $name, int $index = null): string {
return $this->templateClassPrefix . \hash('sha256', $name) . (null === $index ? '' : '___' . $index); return $this->templateClassPrefix . \hash('sha256', $name) . (null === $index ? '' : '___' . $index);
} }

View File

@@ -14,6 +14,11 @@ class TwigFileSystemCache extends \MailPoetVendor\Twig\Cache\FilesystemCache {
parent::__construct($directory, $options); parent::__construct($directory, $options);
} }
/**
* The original FileSystemCache of twig generates the key depending on PHP_VERSION.
* We need to produce the same key regardless of PHP_VERSION. Therefore, we
* overwrite this method.
**/
public function generateKey(string $name, string $className): string { public function generateKey(string $name, string $className): string {
$hash = \hash('sha256', $className); $hash = \hash('sha256', $className);
return $this->directory . $hash[0] . $hash[1] . '/' . $hash . '.php'; return $this->directory . $hash[0] . $hash[1] . '/' . $hash . '.php';