创建 URL
要创建各种类型的 URL,您可以使用yii\helpers\Url::to()辅助方法。以下示例假定正在使用默认 URL 格式。
第 1 步- 将actionRoutes()方法添加到SiteController。
public function actionRoutes() {
return $this->render('routes');
}
此方法仅呈现路线视图。
第 2 步- 在 views/site 目录中,使用以下代码创建一个名为routes.php的文件。
<?php
use yii\helpers\Url;
?>
<h4>
<b>Url::to(['post/index']):</b>
<?php
// creates a URL to a route: /index.php?r = post/index
echo Url::to(['post/index']);
?>
</h4>
<h4>
<b>Url::to(['post/view', 'id' => 100]):</b>
<?php
// creates a URL to a route with parameters: /index.php?r = post/view&id=100
echo Url::to(['post/view', 'id' => 100]);
?>
</h4>
<h4>
<b>Url::to(['post/view', 'id' => 100, '#' => 'content']):</b>
<?php
// creates an anchored URL: /index.php?r = post/view&id=100#content
echo Url::to(['post/view', 'id' => 100, '#' => 'content']);
?>
</h4>
<h4>
<b>Url::to(['post/index'], true):</b>
<?php
// creates an absolute URL: http://www.example.com/index.php?r=post/index
echo Url::to(['post/index'], true);
?>
</h4>
<h4>
<b>Url::to(['post/index'], 'https'):</b>
<?php
// creates an absolute URL using the https scheme: https://www.example.com/index.php?r=post/index
echo Url::to(['post/index'], 'https');
?>
</h4>
第 3 步- 键入http://localhost:8080/index.php?r=site/routes,您将看到to()函数的一些用途。
根据以下规则,传递给yii\helpers\Url::to()方法的路由可以是相对的或绝对的 -
yii\helpers\Url帮助类也提供了几个有用的方法。
第 4 步 - 修改路由视图,如下面的代码所示。
<?php
use yii\helpers\Url;
?>
<h4>
<b>Url::home():</b>
<?php
// home page URL: /index.php?r=site/index
echo Url::home();
?>
</h4>
<h4>
<b>Url::base():</b>
<?php
// the base URL, useful if the application is deployed in a sub-folder of the Web root
echo Url::base();
?>
</h4>
<h4>
<b>Url::canonical():</b>
<?php
// the canonical URL of the currently requested URL
// see https://en.wikipedia.org/wiki/Canonical_link_element
echo Url::canonical();
?>
</h4>
<h4>
<b>Url::previous():</b>
<?php
// remember the currently requested URL and retrieve it back in later requests
Url::remember();
echo Url::previous();
?>
</h4>
第 5 步- 如果您在 Web 浏览器中输入地址http://localhost:8080/index.php?r=site/routes,您将看到以下内容。