首页 > 解决方案 > 更改 php 命名空间内的全局变量值

问题描述

我需要在 PHP 的命名空间内更改一个全局变量。

我目前正在重构一些遗留代码,其中一部分代码依赖于全局变量的使用,该变量曾经在我正在重构的代码中进行配置。

我现在正在尝试在新的重构代码上使用命名空间,并且可以通过 using 很好地访问该变量\,但我找不到更改其值的方法。

可悲的是,更改 \legacyCode 使其不使用全局变量是没有问题的。

在这里使用命名空间不是唯一的好解决方案吗?

例子:

namespace Namespace;

$GlobalVariable = 123;

abstract class NamespaceClass extends \legacyCode
{
} 
// no namespace defined

class legacyCode
{
    function doSomething() {
        global $GlobalVariable;

        echo $GlobalVariable;
        // GlobalVariable is undefined
    }
}

提前致谢。

标签: phpnamespacesglobal

解决方案


推荐阅读