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必须是完整的。为什么要缩短?