创建 URL
Helper yii \ helpers \ Url 提供了一组用于管理 URL 的静态方法。此帮助程序可用于视图/控制器代码中。
路由的 URL:
echo Url::to(['post/index']);
带参数的路由的 URL:
echo Url::to(['post/view', 'id' => 100]);
锚定网址:
echo Url::to(['post/view', 'id' => 100, '#' => 'content']);
绝对网址:
echo Url::to(['post/index'], true);
使用 https 方案的绝对 URL:
echo Url::to(['post/index'], 'https');
注意: 传递给 Url::to()
方法的路由是上下文敏感的。它可以使用当前模块和电流控制器。例如,假设当前模块是 admin
,当前控制器是 post
:
仅具有操作 ID 的相对路径(根本不包含斜杠):
echo Url::to(['index']); // -->> '/index.php?r=admin%2Fpost%2Findex'
相对路线(没有前导斜线):
echo Url::to(['post/index']); // -->> '/index.php?r=admin%2Fpost%2Findex'
绝对路线(以斜线开头):
echo Url::to(['/post/index']); // -->> '/index.php?r=post%2Findex'
当前请求的 URL:
echo Url::to();
echo Url::to(['']);
要根据当前路由和 GET 参数创建 URL,请使用 Url :: current()
。
假设 $_GET = ['id' => 10, 'page' => 7]
,当前路线是 post/view
。
当前网址:
echo Url::current(); // -->> '/index.php?r=post%2Fview&id=10&page=7'
没有 page
参数的当前 URL:
echo Url::current(['page' => null]); // -->> '/index.php?r=post%2Fview&id=10'
当前网址已更改 page
参数:
echo Url::current(['page' => 12]); // -->> '/index.php?r=post%2Fview&id=10&page=12'