Yii 各种url地址写法
echo Url::home();
生成入口地址/yii2test/frontend/web/index.php;
echo Url::base();
生成入口文件夹地址:/yii2test/frontend/web
echo Url::base(true);
生成带有域名的入口文件夹地址:http://localhost/yii2test/frontend/web
echo Url::to();
生成当前浏览器文档地址(同时携带参数)/yii2test/frontend/web/index.php?r=item%2Fview&id=4
Url::toRoute($route, $scheme = false); $route必须为数组格式;
echo Url::toRoute(['item/view']);
生成item为控制器,view为action,地址为:/yii2test/frontend/web/index.php?r=item%2Fview
还有其它例子:echo Url::toRoute(['site/index', 'src' => 'ref1', '#' => 'name']);
Url::to和toRoute() 非常类似。这两个方法的唯一区别在于,前者要求一个路由必须用数组来指定。 如果传的参数为字符串,它将会被直接当做 URL 。
Url::to() 的第一个参数可以是:
- 数组:将会调用 toRoute() 来生成URL。比如:
['site/index'],['post/index', 'page' => 2]。 详细用法请参考 toRoute() 。 - 带前导
@的字符串:它将会被当做别名, 对应的别名字符串将会返回。 - 空的字符串:当前请求的 URL 将会被返回;
- 普通的字符串:返回本身
以下是一些使用示例:
// /index.php?r=site/index
echo Url::to(['site/index']); // /index.php?r=site/index&src=ref1#name
echo Url::to(['site/index', 'src' => 'ref1', '#' => 'name']); // /index.php?r=post/edit&id=100 assume the alias "@postEdit" is defined as "post/edit"
echo Url::to(['@postEdit', 'id' => 100]); // 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');
yii\helpers\Url::current() 来创建一个基于当前请求路由和 GET 参数的 URL
// assume $_GET = ['id' => 123, 'src' => 'google'], current route is "post/view" // /index.php?r=post/view&id=123&src=google
echo Url::current(); // /index.php?r=post/view&id=123
echo Url::current(['src' => null]);
// /index.php?r=post/view&id=100&src=google
echo Url::current(['id' => 100]);
记住 URLs
有时,你需要记住一个 URL 并在后续的请求处理中使用它。 你可以用以下方式达到这个目的:
// 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:
$url = Url::previous();
$productUrl = Url::previous('product');
检查相对 URLs
你可以用如下代码检测一个 URL 是否是相对的(比如,包含主机信息部分)。
$isRelative = Url::isRelative('test/it');
Yii 各种url地址写法的更多相关文章
- YII中URL地址美化
URL地址美化:urlManager地址管理(通过程序来实现url的地址美化) 例如: 原地址:http://localhost/项目/app/index.php?r=控制器/方法 新地址:http: ...
- vue href url地址写法
- yii的url写法
Yii 各种url地址写法 echo Url::home(); 生成入口地址/yii2test/frontend/web/index.php: echo Url::base();生成入口文件夹地址: ...
- ASP.NET MVC中获取URL地址参数的两种写法
一.url地址传参的第一种写法 1.通过mvc中默认的url地址书写格式:控制器/方法名/参数 2.实例:http://localhost:39270/RequestDemo/Index/88,默认参 ...
- web工程中URL地址的推荐写法
三.web工程中URL地址的推荐写法 使用c标签<c:url value="" /> 会自动添加项目名 -> value中的值 前面要加 “/” 在JavaWeb ...
- yii框架常用url地址
调用YII框架中 jquery:Yii::app()->clientScript->registerCoreScript('jquery'); framework/web/j ...
- web工程中URL地址的写法
在开发中我们不可避免的要碰到许多需要写URL地址的情况,这常常让我们感到头疼.下面笔者推荐一种简单的做法.URL地址分为绝对路径和相对路径两种.相对路径又分为相对资源路径和相对根路径.显然绝对路径在开 ...
- JavaWeb工程中url地址的写法
两种url地址: 1. "/"给服务器使用, 代表web工程根路径(webroot)2. "/"给浏览器使用, 代表tomcat 目录下的webapps文件夹 ...
- yii2获取登录前的页面url地址--电脑和微信浏览器上的实现以及yii2相关源码的学习
对于一个有登录限制(权限限制)的网站,用户输入身份验证信息以后,验证成功后跳转到登录前的页面是一项很人性化的功能.那么获取登录前的页面地址就很关键,今天在做一个yii2项目的登录调试时发现了一些很有意 ...
随机推荐
- thinkphp 使用原生mysql语句 联合查询
<?php class DelAction extends Action { public function ml(){ // 实例化一个空模型,没有对应任何数据表 $Dao = M(); // ...
- 使用rcp命令实现从远程机器拷贝文件
rcp:远程文件复制 使用rcp命令可以在远程主机之间复制文件,如果同时指定2个以上的文件或目录,且最后的目的地是一个已经存在的目录,则他会把前面指定的所有文件或目录复制到该目录中. rcp命令语法: ...
- e654. 获得文本的缩略图
Shape getTextShape(Graphics2D g2d, String str, Font font) { FontRenderContext frc = g2d.getFontRende ...
- Web 浏览
Web 浏览为了更好地了解 CGI 的概念,让我们点击一个超链接,浏览一个特定的网页或 URL,看看会发生什么. 您的浏览器联系上 HTTP Web 服务器,并请求 URL,即文件名.Web 服务器将 ...
- 关于lockkeyword
线程同步对象keywordlock,是以lock相应的object对象为准,即随意线程lock住lockObj对象之后,其它线程不管在其它不论什么代码段使用lock(lockObj)去进行线程同步时, ...
- ueditor1_4_3_3编辑器的应用
教程使用的是ueditor1_4_3_3版本. 首先到官网http://ueditor.baidu.com/website/download.html下载jsp utf-8版 下载好以后,解压,把解 ...
- 手淘H5移动端适配方案flexible源码分析
移动端适配一直是一个值得探讨的问题,在业余时间我找了一些页面,查看了一些厂商对于移动端H5页面的适配方案,看到了几个典型的例子,今天就来记录一下我看到的第一个典型的例子,也是我们公司目前普通H5项目正 ...
- 学习 TList 类的实现[5]
先来实现 TMyList.SetCapacity. 马上会想到下面代码: procedure TMyList.SetCapacity(const Value: Integer); begin if ...
- UGUI 的多分辨率适配
1.Canvas的属性配置 2.Canvas Scaler的属性配置 3.根据不同的屏幕的比例动态修改缩放基准 void Start () { float standard_width = 960f; ...
- vs中 main和_tmain的区别
用过C的人都知道每一个C的程序都会有一个main(),但有时看别人写的程序发现主函数不是int main(),而是int _tmain(),而且头文件也不是<iostream.h>而是&l ...