From a4883be58805bbf0f6cd069f850e1703f13bf953 Mon Sep 17 00:00:00 2001 From: joyqi Date: Wed, 8 Sep 2021 22:18:11 +0800 Subject: [PATCH] fix #1155 --- var/Typecho/Common.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/var/Typecho/Common.php b/var/Typecho/Common.php index d8eb9021..2a02d539 100644 --- a/var/Typecho/Common.php +++ b/var/Typecho/Common.php @@ -75,11 +75,11 @@ namespace { namespace Typecho { spl_autoload_register(function (string $className) { + $isAlias = defined('__TYPECHO_CLASS_ALIASES__') && isset(__TYPECHO_CLASS_ALIASES__[$className]); $path = str_replace( ['_', '\\'], '/', - (defined('__TYPECHO_CLASS_ALIASES__') && isset(__TYPECHO_CLASS_ALIASES__[$className])) - ? __TYPECHO_CLASS_ALIASES__[$className] : $className + $isAlias ? __TYPECHO_CLASS_ALIASES__[$className] : $className ) . '.php'; $defaultFile = __TYPECHO_ROOT_DIR__ . '/var/' . $path; @@ -101,7 +101,7 @@ namespace Typecho { $aliasClass = str_replace('\\', '_', ltrim($className, '\\')); class_alias($className, $aliasClass); } elseif ( - (isset(__TYPECHO_CLASS_ALIASES__[$className]) || strpos($className, '_') !== false) + ($isAlias || strpos($className, '_') !== false) && !class_exists($className, false) && !interface_exists($className, false) && !trait_exists($className, false)