fullurl 是一個可以取得或產生子網域的小函數,好像很難說明…

假設網站使用下列三個包括使用 https 和不同埠號子網域、以及兩組主網域(開發 test.com、上線 test.tw):

  • http://www.test.com, http://www.test.tw
  • http://user.test.com:5678, http://user.test.tw:5678
  • https://ec.test.com, https://ec.test.tw

若在開發環境內需要產生連結至 https://ec.test.tw 的網址,以往的方式可能就是 parse_url$_SERVER 來組合,甚至是將主網域寫死等到上線再改一次,依照懶人哲學這實在是浪費生命又不環保,於是 fullurl 就出現了。

以上述為例,我只需要呼叫 fullurl('ec', true); 在開發環境能產生 https://ec.test.com,而上線後則會自動產出 https://ec.test.tw

至於埠號也是能經由參數任意控制,例如 fullurl('user', false, 5678); 就能產出 http://user.test.com:5678;或是帶入 0 消除埠號,例如在 http://user.test.com:5678 的環境下使用 fullurl('www', false, 0); 能產出 http://www.test.com

更多例子、沙盒及原始碼:

http://app.essoduke.org/sandbox/fullurl.php

echo fullurl();
// Get the current URI.
// output: http://app.essoduke.org

echo fullurl('ftp');
// Replace 'ftp' with current subdomain.
// output: http://ftp.essoduke.org

echo fullurl('hello.');
// Append 'hello' to current subdomain.
// output: http://hello.app.essoduke.org

echo fullurl('ssl', true);
// Set HTTPs on
// output: https://ssl.essoduke.org


好像是個無關痛癢的小分享…