【发布时间】:2015-09-07 11:52:10
【问题描述】:
我希望在无需更改 PHP 文件的情况下从 Localhost 过渡到 Dev 到 East/West 登台环境再到生产环境,但我认为我的代码不正确,它可能是我的速记,我是新手到这个。
我希望做的是说,如果是本地主机,那么如果是开发,则如果在东部分期,如果在西部分期,如果是生产。也许有更好的方法来做到这一点?
如果有帮助,我使用 Apache 作为我的本地主机,在开发/暂存/生产中使用 Azure,我会使用两者,但我无权访问 Azure。
<?php
$thisPage = "navigation";
define('URL_ROOT',
getenv('DEV_SERVER') ?
'http://localhost/Site/' :
'dev.website.net' :
'http://website-east.website.net/' :
'http://website-west.website.net/' :
'http://production-website.com/'
);
?>
【问题讨论】:
-
希望我的编辑能让其他人更容易阅读您的代码。
-
您希望从
getenv('DEV_SERVER')为 5 台服务器中的每台服务器获得什么输出? -
@AbraCadaver 你是对的,OP 使用三元运算符的参数太多。我认为他们会从
switch(){}声明中受益,否则事情会变得丑陋。 -
@MonkeyZeus 感谢您编辑它,它现在更具可读性。我在 Apache 中为我的本地主机定义了 DEV_SERVER。我的想法是,如果它在 Azure 上并且找不到我的本地主机,它将转到 dev.website.net 版本,如果找不到,则转到 website-east 等等。 . 我想弄清楚我是否可以推送到多个环境,而不必总是为每个新环境编辑 PHP 文件。我不确定如何使用 switch(){},但我会研究它。谢谢
-
@user2966325 a
switch可能是最干净的解决方案,它将帮助您弄清楚在每种情况下应该做什么。我会用它的用法发布答案:-)
标签: php azure if-statement environment shorthand