yii2 Url 帮助类
参考资料:
http://www.yiiframework.com/doc-2.0/guide-helper-url.html
Class yii\helpers\Url
获得通用 URL
有两种获取通用 URLS 的方法 :当前请求的 home URL 和 base URL 。 为了获取 home URL ,使用如下代码:
PHP Code复制内容到剪贴板
- $relativeHomeUrl = Url::home();
- $absoluteHomeUrl = Url::home(true);
- $httpsAbsoluteHomeUrl = Url::home('https');
PHP Code复制内容到剪贴板
- // /index.php?r=site%2Findex
- echo Url::to(['site/index']);
- // /index.php?r=site%2Findex&src=ref1#name
- echo Url::to(['site/index', 'src' => 'ref1', '#' => 'name']);
- // /index.php?r=post%2Findex assume the alias "@posts" is defined as "/post/index"
- echo Url::to(['@posts']);
- // the currently requested URL
- echo Url::to();
- // /images/logo.gif
- echo Url::to('@web/images/logo.gif');
- // images/logo.gif
- echo Url::to('images/logo.gif');
- // http://www.example.com/images/logo.gif
- echo Url::to('@web/images/logo.gif', true);
- // https://www.example.com/images/logo.gif
- echo Url::to('@web/images/logo.gif', 'https');
- // //www.example.com/images/logo.gif
- echo Url::to('@web/images/logo.gif', '');
记住网址
有些情况需要记住URL,然后在处理顺序请求时使用它。可以通过以下方式实现:
PHP Code复制内容到剪贴板
- // Remember current URL
- Url::remember();
- // Remember URL specified. See Url::to() for argument format.
- Url::remember(['product/view', 'id' => 42]);
- // Remember URL specified with a name given
- Url::remember(['product/view', 'id' => 42], 'product');
在下一个请求中,我们可以通过以下方式获取URL:
PHP Code复制内容到剪贴板
- $url = Url::previous();
- $productUrl = Url::previous('product');
可以在控制器中的index记住当前链接,含page等参数,在update,add方法中,返回链接,如:
PHP Code复制内容到剪贴板
- public function actionIndex(){
- Url::remember();/* 记住当前链接,add 、update和edit以后返回 */
- }
- public function actionUpdate($id){
- $url = Url::previous();
- return $this->goBack($url);
- }
检查相对URL
要查明URL是否相对,即没有主机信息部分,可以使用以下代码:
PHP Code复制内容到剪贴板
- $isRelative = Url::isRelative('test/it');
本文来自于:http://www.yiiframework.com/doc-2.0/yii-helpers-url.html
下一篇 yii2 邮件发送