动态更改PHP中的类名称空间

动态更改PHP中的类名称空间,php,namespaces,Php,Namespaces,是否可以动态更改PHP中的类名称空间 这纯粹是为了开发/测试环境,我想看看是否可以覆盖mysql\u查询 目前安装PECL apd不是一个选项。不可能!对于您的需求,更好的解决方案是在index.php文件中注册自动加载函数。获取单例实例后,您可以在其中获取环境状态。 例如,$environment=Env::getInstance()->environment()您的自动加载获取环境值ad依赖于该值do autoload 例如,您的所有生产类都位于production/class/here/g

是否可以动态更改PHP中的类名称空间

这纯粹是为了开发/测试环境,我想看看是否可以覆盖
mysql\u查询

目前安装PECL apd不是一个选项。

不可能!对于您的需求,更好的解决方案是在index.php文件中注册自动加载函数。获取单例实例后,您可以在其中获取环境状态。 例如,
$environment=Env::getInstance()->environment()
您的自动加载获取环境值ad依赖于该值do autoload

例如,您的所有生产类都位于
production/class/here/go/namespace/MyClass1.php

    function __autoload($class)
    {
        $parts = explode('\\', $class); // namespace
        $dir = Env::getInstance()->environment(); //string "production" or "debug"
        require(
            $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.$dir .
            implode(DIRECTORY_SEPARATOR, $parts).
            '.php'

        );

    }
所有调试类都位于
debug/class/here/go/namespace/MyClass1.php

    function __autoload($class)
    {
        $parts = explode('\\', $class); // namespace
        $dir = Env::getInstance()->environment(); //string "production" or "debug"
        require(
            $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.$dir .
            implode(DIRECTORY_SEPARATOR, $parts).
            '.php'

        );

    }
诸如此类