久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

詳解Yii2 之 生成 URL 的方法

本篇文章主要介紹了Yii2 之 生成 URL 的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

前言

在項目中,推薦使用 Yii2 內置的 URL 工具類生成鏈接,這樣可以非常便捷的管理整站的 URL 行為:比如通過修改配置改變整站的URL格式等。URL 更多高級的用法參見官方文檔,這篇文章僅僅介紹 Yii2 生成 URL 的幾種方式。

Yii2 默認的 URL 鏈接格式

Yii2 默認的 URL 鏈接格式是指為開啟 URL 美化時的格式。

未啟用子模塊的 URL 格式:

// 參數 r 中的 article 表示控制器, view 表示動作
http://www.example.com/index.php?r=article/view&id=100

啟用了子模塊的 URL 格式:

// 參數 r 中的 kernel 表示子模塊
http://www.example.com/index.php?r=kernel/article/view&id=100

Yii2 內置的 URL 生成工具

  1. URL 管理器:urlManager
  2. URL 助手類:yii\helpers\Url

使用內置的 URL 生成工具,以后可以在不改變源碼的情況通過配置即可美化整站的 URL

URL 管理器

URL 管理器是一個名叫 urlManager 的內置應用組件。在 WEB 應用和控制臺應用中以通過以下兩種方式創建 URL:

  1. \Yii::$app->urlManager->createUrl($params)
  2. \Yii::$app->urlManager->createAbsoluteUrl($params, $schema = null)

createUrl 方法生成根目錄的相對路徑,例如:/index.php?r=article/view

createAbsoluteUrl() 方法生成的是絕對路徑,例如:http://www.example.com/index.php?r=article/view

常見的利用 URL 管理器創建 URL 的例子:

// URL:/index.php?r=article/view
\Yii::$app->urlManager->createUrl('article/view');

// URL:/index.php?r=article/view&id=2
\Yii::$app->urlManager->createUrl(['article/view','id'=>2]);

// URL: http://www.example.com?r=kernel/article/view
echo \Yii::$app->urlManager->createAbsoluteUrl('kernel/article/view');

URL 助手類

相對于 URL管理器,使用 yii\helpers\Url 助手類可大大簡化 URL 的創建。

1. 假設當前 URL /index.php?r=kernel/article/view&id=10,以下說明 URL 助手類 Url::to() 是如何工作的(不推薦):

// 創建當前 URL
// 顯示:/?r=kernel/article/view&id=10
echo Url::to();

// 創建當前 URL
// 顯示:http://www.example.com/?r=kernel/article/view&id=10
echo Url::to('', true);

// 字符參數,沒啥用
// 顯示:kernel/article/view
echo Url::to('kernel/article/view');

// 創建路由,數組參數的自動調用 Url::toRoute(...)
// 顯示:/index.php?r=kernel/article/view
echo Url::to(['article/view']);

2. 假設當前 URL /index.php?r=kernel/article/view&id=10,以下說明 URL 助手類 Url::toRoute() 方法是如何工作的(推薦):

// 創建當前路由(僅繼承參數r的值)
// 顯示:/index.php?r=kernel/article/view
echo Url::toRoute([]);

// 相同的模塊和控制器,不同的動作(僅繼承參數r的值)
// 顯示:/index.php?r=kernel/article/list
echo Url::toRoute('list');

// 相同的模塊和控制器,不同的動作(僅繼承參數r的值)
// 顯示:/index.php?r=kernel/article/list&cat=contact
echo Url::toRoute(['list','cat'=>10]);

// 相同模塊,不同控制器和動作(僅繼承參數r的值)
// 顯示:/index.php?r=kernel/product/index
echo Url::toRoute('product/index');

// 絕對路由,不管是被哪個模塊和控制器調用
// 顯示:/index.php?r=product/index
echo Url::toRoute('/product/index');

// 控制器動作 `actionListHot` 的 URL 格式(僅繼承參數r的值,區分大小寫)
// 顯示:/index.php?r=kernel/article/list-hot
echo Url::toRoute('list-hot');

// 從別名中獲取 URL 
// 顯示:http://www.baidu.com/
Yii::setAlias('@baidu', 'http://www.baidu.com/');
echo Url::to('@baidu');

3. 假設當前 URL /index.php?r=kernel/article/view&id=10,以下說明 URL 助手類 Url::current() 方法是如何工作的(推薦):

// 創建當前 URL(包括路由和參數)
// 顯示:/?r=kernel/article/view&id=10
echo Url::current();

// 移除參數 id
// 顯示:/?r=kernel/article/view
echo Url::current(['id'=>null]);

// 新增參數 cat
// 顯示:/?r=kernel/article/view&id=10&cat=2
echo Url::current(['cat'=>2]);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

1、當前站點網址: {pboot:httpurl} 使用說明: 自適應獲取當前訪問網址,主要用于需要使用網站路徑前綴的情況,如輸出:https://www.xxx.cn/ 2、當前頁面 {pboot:pageurl} 使用說明: 獲取當前訪
這篇文章主要為大家詳細介紹了PHP CURL與java http使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
這篇文章主要介紹了thinkphp5 URL和路由的功能詳解與實例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
Yii2的rule用于對模型屬性進行驗證,scenario用戶定義不同場景下需要驗證的模型,下面這篇文章主要給大家介紹了關于Yii2中場景(scenario)和驗證規則(rule)的相關資料,文中通過示例代碼介
這篇文章主要介紹了PHP基于curl post實現發送url及相關中文亂碼問題解決方法,結合具體實例形式分析了php使用curl實現post數據發送及content-type相關設置操作技巧,需要的朋友可以參考下
本篇文章主要介紹了淺談使用 Yii2 AssetBundle 中 $publishOptions 的正確姿勢,具有一定的參考價值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 久草热视频 | 国产精品视频久久久 | 日韩免费成人av | 久久久久国产精品午夜一区 | 夜夜艹| 亚洲欧美一区二区三区情侣bbw | 黄色毛片黄色毛片 | 国产成年人小视频 | 日韩二区 | 欧美久久久网站 | 日产久久 | 亚洲一区二区久久 | 日韩一区二区在线视频 | 欧美激情视频网站 | 黑人巨大精品欧美一区二区免费 | 亚洲一区久久久 | 国产精品成av人在线视午夜片 | 国产欧美精品 | 在线看片国产精品 | 亚洲国产成人精品久久 | 91精品无人区卡一卡二卡三 | 国产一区二区三区四区hd | 久久久久黑人 | 中文字幕综合在线 | 精品久久香蕉国产线看观看亚洲 | 国产激情在线 | 欧美中文视频 | 日韩一区二区在线观看 | 日韩欧美国产精品 | 狠狠的干狠狠的操 | 99爱国产 | 国产精品免费在线 | 欧美专区在线 | 成人在线观看免费爱爱 | 欧美黄视频| 亚洲欧洲av在线 | 色综合一区二区三区 | 国产精品伦理一区 | 天天操狠狠操 | www成人免费视频 | 91精品国产91久久久久久三级 |