1.$this->redirect这里的$this是当前的controller。可能是应用程序的也
可能是模块下的
这里仅将解一下第一个参能是url,当url是一个字符串时,它会自己动跳转
如$this->redirect('/'); 会跳转到站点根,如果你的当前主机为localhost,
那么他就会跳到http://localhost/
再者$this->redirect('/books');,则会跳到http://localhost/books
在应用程序的controller中,也可以使用$this->redirect('books');
也会跳到http://localhost/books
但是当你在module中这样使用,则会出现另一种情况,
当你打开urlManager,并设置了隐藏脚本文件,输入
如果你当前的访问地址为 http://localhost/admin/default/index 当使用$this->redirect('books'); 跳转, 跳转后地址则是 http://localhost/admin/default/books 这里只是说一下,redirect的简单跳转,我个人建议,如果不是跳到其他项目,
或外站$this->redirect('http://yiibook.com');,建议都使用下面的方法
url使用数组
当url为数组时,会调用urlManager来根据路由组织跳转的路径,这种情况比较理想,而且会根据路由
的修改而改变
如果有一条路由为
'book'=>'admin/default/index'
格式为:'路由'=>'真实地址',
即指定了访问book,就相当于方问admin模型下的default控制器的index操作方法。
既然使用了路由,主要是为了让url更友好,并隐藏真实地址 那么,当想使用$this->redirect跳转到这个路由时,需要指定真实地址,如
$this->redirect(array('admin/default/index'));
这样就会跳到这个地址了,而且url显示的确是book,而当你修路由名称时,如
'books'=>'admin/default/index',或干脆去掉这个路径,都不用修改你的程序 在模块中的情况,如果你当前在admin模块的controller中,使用跳转,则可以不用写moduleId
直接使用$this->redirect(array('default/index')); 也是ok的,这样你的module也不会
依赖于moduleId了
再有如果你当前也在admin模块下的default控制器中,也可以使用
$this->redirect(array('index'));进行跳转,不依赖于控制器的名字

我们再看一下带参数的路由
'book<id:\d+>'=>'admin/default/index'
那么,url需要为这个路径传递一个参数id,如
$this->redirect(array('admin/default/index', 'id'=>1)); url格式为array('真实路径', '参数名'=>'参数值’,'参数名2'=>'参数值2', ....);
Yii中许多组件或方法都有支持这种url的格式,如CMenu等等。 2.createUrl,有$this->createUrl和Yii::app()->createUrl,
createUrl它会根据真实地址,组织成路由格式的地址
根据上面的路由,创建url
$this->createUrl('admin/default/index')
带参数情况
$this->createUrl('admin/default/index', array('id'=>1)); admin模块中,使用
$this->createUrl('default/index');或$this->create('index');
不要使用Yii::app()->createUrl,避免依赖于具体的路由 注意一下redirect与createUrl的参数区别。

yii create url (一)的更多相关文章

  1. yii create url (二)

    在Yii中经常要生成URL,不管是为了自动跳转还是仅仅是一个链接.下面对Yii中的URL生成做了一个总结.提示:以下controllerX代表控制器X,actionX代表方法X.在Controller ...

  2. Yii的URL助手

    Url 帮助类 获得通用 URL 记住 URLs 检查相对 URLs Url 帮助类提供一系列的静态方法来帮助管理 URL. 获得通用 URL 有两种获取通用 URLS 的方法 :当前请求的 home ...

  3. yii的url写法

    Yii 各种url地址写法 echo Url::home(); 生成入口地址/yii2test/frontend/web/index.php: echo  Url::base();生成入口文件夹地址: ...

  4. Yii 各种url地址写法

    echo Url::home(); 生成入口地址/yii2test/frontend/web/index.php: echo  Url::base();生成入口文件夹地址:/yii2test/fron ...

  5. plus.webview.create( url, id, styles, extras )参数及说明

    plus.webview.create( "xxx.html", //url:String类型,可选,新窗口加载的HTML页面地址.新打开Webview窗口要加载的HTML页面地址 ...

  6. Yii 获取url 的一些方法

    原文出处http://blog.csdn.net/iefreer/article/details/21325371 1. 获取url中的host信息: Yii::app()->request-& ...

  7. Yii 框架 URL路径简化

    Yii 框架的訪问地址若不简化会让人认为非常繁琐.未简化的地址一般格式例如以下: http://localhost:80/test/index.php?r=xxx/xxx/xxx 若是带有參数会更复杂 ...

  8. YII中URL地址美化

    URL地址美化:urlManager地址管理(通过程序来实现url的地址美化) 例如: 原地址:http://localhost/项目/app/index.php?r=控制器/方法 新地址:http: ...

  9. YII 开启URL伪静态

    1.开启apache的mode_rewrite模块 去掉LoadModule rewrite_module modules/mod_rewrite.so前的“#”符号 确保<Directory ...

随机推荐

  1. 优化数据库的方法及SQL语句优化的原则

    优化数据库的方法: 1.关键字段建立索引. 2.使用存储过程,它使SQL变得更加灵活和高效. 3.备份数据库和清除垃圾数据. 4.SQL语句语法的优化.(可以用Sybase的SQL Expert,可惜 ...

  2. 简单设置,解决使用webpack前后端跨域发送cookie的问题

    最近用vue来做项目,用webpack来做前端自动化构建.webpack-dev-server会在本地搭建一个服务器,在和后端调试的时候,就会涉及到跨域的问题. 刚开始时,没有用vue-cli来构建项 ...

  3. git代码回滚:Reset、Checkout、Revert的选择

    代码回滚:Reset.Checkout.Revert的选择 Zhongyi Tong edited this page on Dec 8, 2015 · 5 revisions Pages 19 Ho ...

  4. 如何解读SQL Server日志(3/3)

    如何查看被截断的日志 如果数据库做了日志备份操作,则日志会被截断,然后原来活动的VLF会被重用.使用sys.fn_dblog将会看不到任何被截断的日志.那如何查看日志备份中的日志呢?使用fn_dump ...

  5. 『给它加个壳』纯MarkDown博客阅读体验优化

    今天鼓捣了一天纯MarkDown书写的博客样式的美化,事实证明图表较多的MarkDown撰写的博文一样可以展现出非常漂亮的效果.为了让纯MarkDown书写的博客有一个干净舒服的阅读体验,我主要针对博 ...

  6. SQL--Order By

    Order By--将当前查询出来的数据结果,进行排序,排序按照后面指定的列排序; DESC--倒序排序(降序); ASC--正序排序(升序); 汉字:用拼音的首字母排序,升序是从a--z;降序是从z ...

  7. STL : map函数的运用 --- hdu 4941 : Magical Forest

    Magical Forest Time Limit: 24000/12000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Other ...

  8. 同样的MVC,不同的实现方法(Spring MVC .Net MVC)

    由于工作需要,最近将Net的MVC又重新好好的学习了一遍.学习教材是博客园里的大神的作品<ASP.NET MVC5框架揭秘>. <ASP.NET MVC5框架揭秘>这本书,说了 ...

  9. C# 站点IP访问频率限制 针对单个站点

    0x00 前言 写网站的时候,或多或少会遇到,登录,注册等操作,有时候,为了防止别人批量进行操作,不得不做出一些限制IP的操作(当前也可以用于限制某个账号的密码校验等). 这样的简单限制,我们又不想对 ...

  10. XE8 FMX SpeedButton 大图标(改 Style)

    自从 XE8 提供 ImageList 带来了很多便利,但 SpeedButton 的图标太小(不够大气),还好 FMX 提供了 Style 可供使用者自订图标大小及显示位置,请自行按图索骥,做一遍: ...