Skip to content

Commit 44daf4b

Browse files
committed
autoloader updates
1 parent 7ec151d commit 44daf4b

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

template/core/classes/class_autoloader.php

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,12 @@
6666
require __DIR__ . DIRECTORY_SEPARATOR . '<?php echo PHPFHIR_TRAIT_XMLNS; ?>.php';
6767
}
6868

69-
// common classes
69+
// enums
70+
if (!enum_exists('\<?php echo $nsPrefix . PHPFHIR_ENUM_CONFIG_KEYS; ?>', false)) {
71+
require __DIR__ . DIRECTORY_SEPARATOR . '<?php echo PHPFHIR_ENUM_CONFIG_KEYS; ?>.php';
72+
}
73+
74+
// classes
7075
if (!class_exists('\<?php echo $nsPrefix . PHPFHIR_CLASSNAME_CONSTANTS; ?>', false)) {
7176
require __DIR__ . DIRECTORY_SEPARATOR . '<?php echo PHPFHIR_CLASSNAME_CONSTANTS; ?>.php';
7277
}
@@ -105,10 +110,10 @@ abstract class <?php echo PHPFHIR_CLASSNAME_AUTOLOADER; ?>
105110
*/
106111
public static function register(): bool
107112
{
108-
if (self::$_registered) {
109-
return self::$_registered;
113+
if (!self::$_registered) {
114+
self::$_registered = spl_autoload_register(__CLASS__ . '::loadClass', true);
110115
}
111-
return self::$_registered = spl_autoload_register([__CLASS__, 'loadClass'], true);
116+
return self::$_registered;
112117
}
113118

114119
/**
@@ -117,7 +122,7 @@ public static function register(): bool
117122
public static function unregister(): bool
118123
{
119124
if (self::$_registered) {
120-
if (spl_autoload_unregister([__CLASS__, 'loadClass'])) {
125+
if (spl_autoload_unregister(__CLASS__ . '::loadClass')) {
121126
self::$_registered = false;
122127
return true;
123128
}
@@ -131,7 +136,7 @@ public static function unregister(): bool
131136
* @param string $class
132137
* @return bool|null
133138
*/
134-
public static function loadClass(string $class): ?bool
139+
public static function loadClass(string $class): null|bool
135140
{
136141
if (isset(self::_CLASS_MAP[$class])) {
137142
return (bool)require __DIR__ . DIRECTORY_SEPARATOR . self::_CLASS_MAP[$class];

0 commit comments

Comments
 (0)