URL 輔助函數(shù)?

URL 輔助函數(shù)文件包含的函數(shù)輔助 URLs 運(yùn)行。

加載 URL 輔助函數(shù)?

在每個(gè)請求中 URL 輔助函數(shù)由框架自動(dòng)地加載。

通用函數(shù)?

下文函數(shù)是通用的:

site_url([$uri = ''[, $protocol = NULL[, $altConfig = NULL]]])?
參數(shù):
  • $uri (string) – URI string
  • $protocol (string) – 協(xié)議,處理資料傳送的標(biāo)準(zhǔn),例如 ‘http’ 或者 ‘https’
  • $altConfig (\Config\App) – 使用更替配置
返回:

Site URL

返回類型:

string

返回你的 site URL,就像在你的配置文件里說明的。 index.php 文件(或者在你的配置文件里任何你已經(jīng)設(shè)置在你網(wǎng)站的 index_page) 將會(huì)添加到 URL,如同你通過函數(shù)程序段的一些 URL,外加在你的配置文件中已經(jīng)設(shè)置的 url_suffix.

在你的 URL 改變的事件中,你被鼓勵(lì)在任何時(shí)間使用函數(shù)生成本地 URL 以便你的頁面將變得更加便攜。

程序段能隨意地像 string 或者 array 通過函數(shù)。下文是 string 事例:

echo site_url('news/local/123');

上文的事例返回的地址如下: http://example.com/index.php/news/local/123

這里是一個(gè)通過數(shù)組程序段的事例:

$segments = ['news', 'local', '123'];
echo site_url($segments);

對不同的網(wǎng)站如果生成 URLs 你或許會(huì)找到比你的配置更有用的更替配置,該函數(shù)包含不同配置優(yōu)先權(quán)。 我們?yōu)閱卧獪y試框架本身使用這個(gè)函數(shù)。

base_url([$uri = ''[, $protocol = NULL]])?
參數(shù):
  • $uri (string) – URI string
  • $protocol (string) – 協(xié)議,處理資料傳送的標(biāo)準(zhǔn),例如 ‘http’ 或者 ‘https’
返回:

基地址 URL

返回類型:

string

返回你網(wǎng)站的基地址 URL, 如同在你配置文件里具體說明的。事例:

echo base_url();

如同 site_url() 該函數(shù)返回相同的事件, 排除 index_page 或者 url_suffix 被附加的情況。

也如函數(shù) site_url(), 你能提供程序段如 string 或者 array. 這里是 string 事例:

echo base_url("blog/post/123");

上文事例返回的地址如下: http://example.com/blog/post/123

因?yàn)椴煌?site_url() 函數(shù)是有用的, 你能提供 string 值到文件里,譬如圖片或者層疊式樣式表。 例如:

echo base_url("images/icons/edit.png");

上文的輸出函數(shù)將給你如下面的鏈接: http://example.com/images/icons/edit.png

current_url([$returnObject = false])?
參數(shù):
  • $returnObject (boolean) – True 如果你想要 URI 事例返回,代替 string。
返回:

最近的 URL

返回類型:

string|URI

返回最近被瀏覽過的頁面的正確的 URL (包括程序段)。

注解

引用下面的函數(shù)是同樣的:

base_url(uri_string());
previous_url([$returnObject = false])?
參數(shù):
  • $returnObject (boolean) – True 如果你想要 URI 事例返回,代替 string.
返回:

URL 用戶以前通過的

返回類型:

string|URI

返回完整頁面的 URL (包含程序段)是用戶以前通過的。

由于安全問題造成盲目的信任 HTTP_REFERER 系統(tǒng)變量,在對話里如果它是有用的 CodeIgniter 將儲(chǔ)存以前瀏覽的頁面。 這保證我們將常常使用已知且可信的源,如果對話已經(jīng)被加載了,或者是別的方式不能得到的,那么 HTTP_REFERER 的凈化版本將會(huì)被應(yīng)用。

uri_string()?
返回:An URI string
返回類型:string

返回你的最近 URL 的路徑部分。例如,如果你的 URL 是這樣的:

http://some-site.com/blog/comments/123

函數(shù)將返回:

blog/comments/123
index_page([$altConfig = NULL])?
參數(shù):
  • $altConfig (\Config\App) – 使用更替配置
返回:

‘index_page’ 值

返回類型:

mixed

返回你網(wǎng)站的 index_page, 如同在你的配置文件里明確說明的。 事例:

echo index_page();

如同用 site_url(),你也許要具體制定一個(gè)更替配置。 對不同的網(wǎng)站如果生成 URLs 你或許會(huì)找到比你現(xiàn)有的更有用的更替配置,函數(shù)包含不同配置優(yōu)先權(quán)。 我們?yōu)閱卧獪y試框架本身使用這個(gè)函數(shù)。

anchor([$uri = ''[, $title = ''[, $attributes = ''[, $altConfig = NULL]]]])?
參數(shù):
  • $uri (mixed) – URI 程序段的 URI string 或者 array
  • $title (string) – 錨定 title
  • $attributes (mixed) – HTML 屬性
  • $altConfig (ConfigApp) – 使用更替配置
返回:

HTML 超連結(jié) (錨定 tag)

返回類型:

string

基于你本地網(wǎng)站 URL 創(chuàng)建標(biāo)準(zhǔn) HTML 錨定鏈接。

第一個(gè)參數(shù)能包含任意你希望應(yīng)用到 URL 的程序段。 如同上文用 site_url() 函數(shù),程序段可以是 string 或者 array.

注解

如果你正在構(gòu)造的鏈接對于你的應(yīng)用是內(nèi)部的則不包含基地址 URL (http://…).在你的配置文件里函數(shù)將會(huì)明確說明的從信息里被自動(dòng)添加。你希望附加到的 URL 僅僅包含 URI 的程序段。

第二參數(shù)是你想要鏈接表達(dá)的正文。如果你留下第二個(gè)程序?yàn)榭?,URL 將會(huì)被應(yīng)用。

第三個(gè)參數(shù)包含你想要添加到鏈接里的的屬性列表。屬性可以是簡單的 string 或者組合數(shù)組。

這里是一些示例

echo anchor('news/local/123', 'My News', 'title="News title"');
// Prints: <a href="http://example.com/index.php/news/local/123" title="News title">My News</a>

echo anchor('news/local/123', 'My News', array('title' => 'The best news!'));
// Prints: <a href="http://example.com/index.php/news/local/123" title="The best news!">My News</a>

echo anchor('', 'Click here');
// Prints: <a href="http://example.com/index.php">Click here</a>

如同上文闡述的,你也許可以明確說明更替配置。 如果對不同網(wǎng)站生成鏈接你也許會(huì)發(fā)現(xiàn)更替配置比你的配置是更有用的,它包含不同的配置優(yōu)先權(quán)。 我們?yōu)閱卧獪y試框架自身使用這個(gè)函數(shù)。

注解

屬性載入錨定函數(shù)是自動(dòng)地退出對 XSS 攻擊不利的保護(hù)。

anchor_popup([$uri = ''[, $title = ''[, $attributes = FALSE[, $altConfig = NULL]]]])?
參數(shù):
  • $uri (string) – URI string
  • $title (string) – 錨定 title
  • $attributes (mixed) – HTML 屬性
  • $altConfig (ConfigApp) – 使用更替配置
返回:

自動(dòng)跳起的 hyperlink

返回類型:

string

幾乎同源于 anchor() 函數(shù),除了在新窗口里它是開放的 URL。 在第三個(gè)參數(shù)中你能明確說明 JavaScript 窗口屬性去控制窗口如何被打開。 如果第三個(gè)參數(shù)沒有設(shè)定,它將會(huì)帶著你自身的瀏覽器設(shè)定去簡單地打開一個(gè)新窗口。

這里是帶著屬性的事例:

$atts = [
    'width'       => 800,
    'height'      => 600,
    'scrollbars'  => 'yes',
    'status'      => 'yes',
    'resizable'   => 'yes',
    'screenx'     => 0,
    'screeny'     => 0,
    'window_name' => '_blank'
];

echo anchor_popup(‘news/local/123’, ‘Click Me!’, $atts);

As above, you may specify an alternate configuration. You may find the alternate configuration useful if generating links for a different site than yours, which contains different configuration preferences. We use this for unit testing the framework itself.

注解

上文屬性是默認(rèn)函數(shù)因此你僅僅需要去設(shè)置哪些個(gè)不同于你需要的屬性。在第三個(gè)參數(shù)里如果你想要函數(shù)去簡單地通過空數(shù)組使用所有它的默認(rèn)值:

::
echo anchor_popup(‘news/local/123’, ‘Click Me!’, []);

注解

window_name 不是真實(shí)的屬性,但是對于 JavaScript 爭論 window.open() 方法,它接受任何一方的窗口名或者窗口目標(biāo)。

注解

任何超過上文列表的其他屬性將會(huì)被分列就像 HTML 屬性對于錨定 tag. 如同上文描述的,你也許可以明確說明更替配置。 你也許會(huì)發(fā)現(xiàn)如果正生成的鏈接對不同的網(wǎng)站更替配置比你的配置更有用,他包含不同的配置優(yōu)先權(quán)。 我們?yōu)閱卧獪y試框架自身使用這個(gè)函數(shù)。

注解

屬性載入錨定自動(dòng)跳起函數(shù)是自動(dòng)地退出對 XSS 攻擊不利的保護(hù)。

mailto($email[, $title = ''[, $attributes = '']])?
參數(shù):
  • $email (string) – E-mail 地址
  • $title (string) – 錨定 title
  • $attributes (mixed) – HTML 屬性
返回:

“mail to” 超連結(jié)

返回類型:

string

創(chuàng)建標(biāo)準(zhǔn)的 HTML 郵件鏈接。用法事例:

       echo mailto('me@my-site.com', 'Click Here to Contact Me');

如同用上文 :php:func:`anchor()` tab 函數(shù),
你可以使用第三個(gè)參數(shù)設(shè)定屬性::

       $attributes = array('title' => 'Mail me');
       echo mailto('me@my-site.com', 'Contact Me', $attributes);

注解

屬性載入錨定 mailto 函數(shù)是自動(dòng)地退出對 XSS 攻擊不利的保護(hù)。

safe_mailto($email[, $title = ''[, $attributes = '']])?
參數(shù):
  • $email (string) – E-mail 地址
  • $title (string) – 錨定 title
  • $attributes (mixed) – HTML 屬性
返回:

安全垃圾郵件 “mail to” 超連結(jié)

返回類型:

string

完全相似于 mailto() 函數(shù)除了 mailto tag 的模糊版本, 由于垃圾郵件群聊程序用 JavaScript 寫了該函數(shù)正使用序數(shù)數(shù)字用以從保護(hù)已經(jīng)收獲的 e-mail 地址。

參數(shù):
  • $str (string) – 輸入 string
  • $type (string) – 鏈接類型 (‘email’, ‘url’ 或者 ‘both’)
  • $popup (bool) – 是否創(chuàng)建自動(dòng)跳起鏈接
返回:

鏈接化的 string

返回類型:

string

在字符到鏈接里自動(dòng)地轉(zhuǎn)換包含 URLs 和 e-mail 地址。事例:

$string = auto_link($string);

第二參數(shù)決定是否 URLs 和 e-mail 是轉(zhuǎn)換了僅僅一個(gè)或者其他什么的。如果參數(shù)不是明確的說明默認(rèn)行為是兼有的。 E-mail 鏈接編碼如同上文顯示的 safe_mailto() 一樣。

僅轉(zhuǎn)換 URLs:

$string = auto_link($string, 'url');

僅轉(zhuǎn)換 e-mail 地址:

$string = auto_link($string, 'email');

第三個(gè)參數(shù)決定是否鏈接在新窗口被顯示。 值是 TRUE 或者 FALSE (boolean):

$string = auto_link($string, 'both', TRUE);

注解

僅有的被普遍承認(rèn)的 URLs 這些鏈接用 “www.” 或者用 “://” 開始。

url_title($str[, $separator = '-'[, $lowercase = FALSE]])?
參數(shù):
  • $str (string) – 輸入 string
  • $separator (string) – 字符分隔符
  • $lowercase (bool) – 是否轉(zhuǎn)換輸出 string 為小寫字型
返回:

已經(jīng)格式化的 string

返回類型:

string

取 string 作為輸入值并創(chuàng)建友好人性化的 URL string. 這是有用的,例如,在 URL 里你有個(gè)blog ,在 blog 里你想要使用你的整個(gè)主題。事例:

$title     = "What's wrong with CSS?";
$url_title = url_title($title);
// Produces: Whats-wrong-with-CSS

第二個(gè)參數(shù)決定詞匯的定義符號(hào)。默認(rèn)的破折號(hào)被使用。更好的選項(xiàng)是: - (破折號(hào)) 或者 _ (下劃線)。

例如:

$title     = "What's wrong with CSS?";
$url_title = url_title($title, 'underscore');
// Produces: Whats_wrong_with_CSS

第三個(gè)參數(shù)決定是或者不是小寫字符是被強(qiáng)迫的。默認(rèn)他們不是。選項(xiàng)是 boolean TRUE/FALSE.

例如:

$title     = "What's wrong with CSS?";
$url_title = url_title($title, 'underscore', TRUE);
// Produces: whats_wrong_with_css
prep_url($str = '')?
參數(shù):
  • $str (string) – URL string
返回:

協(xié)議前綴 URL string

返回類型:

string

在事件里這個(gè)函數(shù)正從一個(gè) URL 錯(cuò)過,它將添加 http:// 協(xié)議前綴。 通過 URL string 的函數(shù)像下文這樣:

$url = prep_url('example.com');