PHP fullurl function
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
—
好像是個無關痛癢的小分享…
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
—
好像是個無關痛癢的小分享…