Skip to content

Commit 25bc423

Browse files
authored
Performance improvements (#5)
Better constant lookup
1 parent 136f555 commit 25bc423

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

src/Filter/DateTime.php

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
namespace PHPModelGenerator\Filter;
66

77
use Exception;
8-
use PHPModelGenerator\Exception\ValidationException;
98

109
/**
1110
* Class DateTime
@@ -77,9 +76,20 @@ public static function serialize(?\DateTime $value, array $options = []): ?strin
7776
*/
7877
protected static function convertConstants(array &$options): void
7978
{
79+
static $constants = [];
80+
8081
foreach (['createFromFormat', 'outputFormat'] as $format) {
81-
if (isset($options[$format]) && defined("DATE_{$options[$format]}")) {
82-
$options[$format] = constant("DATE_{$options[$format]}");
82+
if (!isset($options[$format])) {
83+
continue;
84+
}
85+
86+
if (isset($constants[$options[$format]])) {
87+
$options[$format] = $constants[$options[$format]];
88+
continue;
89+
}
90+
91+
if (defined("DATE_{$options[$format]}")) {
92+
$options[$format] = $constants[$options[$format]] = constant("DATE_{$options[$format]}");
8393
}
8494
}
8595
}

0 commit comments

Comments
 (0)