Php 重构API调用中的长url
我有以下代码:Php 重构API调用中的长url,php,refactoring,Php,Refactoring,我有以下代码: if ($utm_source) { $url = "http://xxx.yyy.zzz/u/register.php?CID=815112955&f=472&p=2&a=r&SID=&el=&llid=&counted=&c=&optin=y&interest[]=[Interessen]&inp_3=".$email.'&inp_1005='.$utm_source; }
if ($utm_source) {
$url = "http://xxx.yyy.zzz/u/register.php?CID=815112955&f=472&p=2&a=r&SID=&el=&llid=&counted=&c=&optin=y&interest[]=[Interessen]&inp_3=".$email.'&inp_1005='.$utm_source;
} else {
$url = "http://xxx.yyy.zzz/u/register.php?CID=815112955&f=472&p=2&a=r&SID=&el=&llid=&counted=&c=&optin=y&interest[]=[Interessen]&inp_3=".$email;
}
有没有办法重构它,使URL不需要这么长?类似于URL数组或将基本URL和uri分开的东西。在索引文件中,您只需像这样定义基本URL
define('BASE_URL','http://xxx.yyy.zzz/u/register.php?CID=815112955&f=472&p=2&a=r&SID=&el=&llid=&counted=&c=&optin=y&interest[]=[Interessen]&inp_3=');
在那之后,你会这样做
$url = BASE_URL.'?Something';
希望它能解决您的问题尝试以下方法:
$url = "http://xxx.yyy.zzz/u/register.php?CID=815112955&f=472&p=2&a=r&SID=&el=&llid=&counted=&c=&optin=y&interest[]=[Interessen]&inp_3=".$email.'&inp_1005='.$utm_source;
$result = shortenurl($url);
function shortenurl($url)
{
if ( strlen($url) > 45) {
return substr($url, 0, 30)."[...]".substr($url, -15);
} else {
return $url;
}
}
结果:
“$email”&inp_1005=“$utm_sourc”
我正在研究angular,我定义了一个环境变量:
export const environment = {
my_api: 'http://xxx.yyy.zzz/u/register.php?
CID=815112955&f=472&p=2&a=r&SID=&el=&llid=&counted=&c=&optin=y&interest[]=
[Interessen]&inp_3=' };
您可以在文件中调用它:
私有静态api_url=environment.my_api 当您进行API调用时,您的URL必须是完整的。为什么要缩短?