Php 环境相关值
有时,我需要使用一个动态值,根据代码是在测试环境中执行还是在远程主机上执行,该值会有所不同 为了解决这个问题,我一直在使用以下函数:Php 环境相关值,php,Php,有时,我需要使用一个动态值,根据代码是在测试环境中执行还是在远程主机上执行,该值会有所不同 为了解决这个问题,我一直在使用以下函数: function localhost($local_host_value, $remote_host_value = "") { if($_SERVER["REMOTE_ADDR"] == "127.0.0.1") { return $local_host_value; } else { return $rem
function localhost($local_host_value, $remote_host_value = "")
{
if($_SERVER["REMOTE_ADDR"] == "127.0.0.1")
{
return $local_host_value;
}
else
{
return $remote_host_value;
}
}
你能为上面引用的函数建议一个更优雅的方法或至少更好的名称吗?如果你不喜欢使用超级全局变量,你可以试试
// Example use of getenv()
$ip = getenv('REMOTE_ADDR');
// Or simply use a Superglobal ($_SERVER or $_ENV)
$ip = $_SERVER['REMOTE_ADDR'];
至于函数名
function is_localhost(...) <-- more like determine is local host (boolean)
function get_host_value(...) <-- (string)
函数是\u localhost(…)如果您不喜欢使用超全局变量,可以尝试
// Example use of getenv()
$ip = getenv('REMOTE_ADDR');
// Or simply use a Superglobal ($_SERVER or $_ENV)
$ip = $_SERVER['REMOTE_ADDR'];
至于函数名
function is_localhost(...) <-- more like determine is local host (boolean)
function get_host_value(...) <-- (string)
函数是\u localhost(…)
在我看来,它更简洁、更简洁,但实际上是一样的。
或者使用ajreal建议的getenv:
function localhost($local_host_value, $remote_host_value = '') {
return getenv('REMOTE_ADDR') == '127.0.0.1'? $local_host_value : $remote_host_value;
}
关于函数名,我可能会选择get\u host\u value(…)
PS:当字符串不包含变量时,请尝试使用单引号而不是双引号:
在我看来,它更简洁、更简洁,但实际上是一样的。
或者使用ajreal建议的getenv:
function localhost($local_host_value, $remote_host_value = '') {
return getenv('REMOTE_ADDR') == '127.0.0.1'? $local_host_value : $remote_host_value;
}
关于函数名,我可能会选择get\u host\u value(…)
PS:当字符串不包含变量时,尝试使用单引号而不是双引号:我认为从长远来看,这种方法不是最佳的,因为所有设置都分布在代码中,并且很难添加第三个服务器环境(例如,实时暂存服务器)
我会考虑使用某种类型的中心配置,它根据一个服务器上运行的某个点加载所有配置值。p>
相关的:
我认为从长远来看,这种方法不是最佳的,因为所有设置都分布在您的代码中,并且很难添加第三个服务器环境(例如,实时登台服务器)
我会考虑使用某种类型的中心配置,它根据一个服务器上运行的某个点加载所有配置值。p>
相关的:
嗯。。。代码始终在本地主机上执行:P@Mchl,我指的是一个测试环境(127.0.0.1)。合适的术语是什么?“测试环境”是合适的术语;)嗯。。。代码始终在本地主机上执行:P@Mchl,我指的是一个测试环境(127.0.0.1)。合适的术语是什么?“测试环境”是合适的术语;)is_localhost(…)
对于我来说,它将返回一个布尔值,无论我们是否在localhost中。。。我发现get\u value\u for\u host(…)
或get\u host\u value(…)
更具描述性is\u localhost(…)
对于我来说,它会返回一个布尔值,无论我们是否在localhost中。。。我发现get\u-value\u用于主机(…)
或get\u-host\u-value(…)
更具描述性