创建 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'