From 3606e41798616a483849a63b5b9d5cd08078a93b Mon Sep 17 00:00:00 2001 From: liugang Date: Fri, 26 Apr 2024 17:13:41 +0800 Subject: [PATCH] * baseRouter: assign the $loadedTargets variable as global. --- framework/base/router.class.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/framework/base/router.class.php b/framework/base/router.class.php index e91aaa9d1d..d97fb73f7d 100644 --- a/framework/base/router.class.php +++ b/framework/base/router.class.php @@ -297,6 +297,16 @@ class baseRouter */ static $loadedModules = array(); + /** + * 已加载的目标,可能是 model,tao 或者 zen 的实例化对象。 + * Targets loaded, maybe instance of model, tao or zen. + * + * @static + * @var array + * @access public + */ + static $loadedTargets = array(); + /** * 全局$lang对象。 * The global $lang object. @@ -2503,8 +2513,7 @@ class baseRouter if(empty($moduleName)) $moduleName = $this->moduleName; if(empty($appName)) $appName = $this->appName; - global $loadedTargets; - if(isset($loadedTargets[$class][$appName][$moduleName])) return $loadedTargets[$class][$appName][$moduleName]; + if(isset(self::$loadedTargets[$class][$appName][$moduleName])) return self::$loadedTargets[$class][$appName][$moduleName]; $targetFile = $this->setTargetFile($moduleName, $appName, $class); @@ -2528,14 +2537,14 @@ class baseRouter /** * 因为zen继承自control,tao继承自model,构造函数里会调用loadTarget方法,赋默认值值防止递归调用。 */ - if($class == 'zen' || $class == 'tao') $loadedTargets[$class][$appName][$moduleName] = false; + if($class == 'zen' || $class == 'tao') self::$loadedTargets[$class][$appName][$moduleName] = false; /** * 初始化target 对象并返回。 * Init the target object and return it. */ $target = new $targetClass($appName); - $loadedTargets[$class][$appName][$moduleName] = $target; + self::$loadedTargets[$class][$appName][$moduleName] = $target; return $target; }