是否可以动态更改PHP中的类命名空间?
这纯粹是针对开发/测试环境,我想知道是否可以覆盖mysql_query
目前安装PECL apd不是一个选择。
答案 0 :(得分:0)
不可能!对于您的要求,更好的解决方案是在index.php文件中注册自动加载功能。获取单例实例后,您可以获得环境状态。
例如$environent = Env::getInstance()->environment()
您的自动加载获取环境值广告依赖于该值执行自动加载。
例如,您的所有生产类都位于production/class/here/goes/namespace/MyClass1.php
所有调试类都位于debug/class/here/goes/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'
);
}
像这样的东西