如何在get_defined_vars中返回的所有内容上执行str_replace?用普通字符串做很容易,但是对象/类呢?
答案 0 :(得分:3)
这听起来不错,所以我只回答硬编码域的实际问题。直接修复此问题,而不是在错误的结构上应用更多的bandaid。
您应该用常量(使用文本编辑器搜索/替换,而不是PHP)替换每个硬编码域的出现,您可以随意切换。
if (/* something */) {
define('MYAPP_BASE_URL', 'http://example.com');
} else {
define('MYAPP_BASE_URL', 'http://example2.com');
}
…
$url = MYAPP_BASE_URL;
更好的是,您的代码应该足够动态,以便开始使用$_SERVER['HTTP_HOST']
。