简写PHP环境变量

时间:2015-09-02 13:23:14

标签: php azure if-statement environment shorthand

我正在寻求从Localhost转换到Dev到East / West登台环境到生产而不必更改PHP文件,但我不认为我的代码是正确的,它可能是我的简写,我是新的对此。

我希望做的是,如果是localhost,那么如果是dev,否则如果向东进行,否则如果向西进行,否则如果生产。也许还有更好的方法吗?

如果有帮助,我使用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/'
);
?>

1 个答案:

答案 0 :(得分:0)

根据我们上面的评论,你可以去:

switch(strtolower(getenv('DEV_SERVER')))
{
    case 'localhost':
        define('URL_ROOT', 'http://localhost/Site/');
        break;
    case 'dev':
        define('URL_ROOT', 'dev.website.net');
        break;
    case 'east':
        define('URL_ROOT', 'http://website-east.website.net/');
        break;
    case 'west':
        define('URL_ROOT', 'http://website-west.website.net/');
        break;
    case 'prod':
        define('URL_ROOT', 'http://production-website.com/');
        break;
    default:
        die('Environment not defined!!');
}

如果可以的话,我建议设置一个通用的环境变量名称,例如getenv('SERVER_ENVIRONMENT'),并在switch()中使用它,因为DEV_SERVER表示它只是T / F而且除了每个服务器dev将设置为F。