yii2.0为什么yii2 获取当前控制器控制器和方法名报错

yii&学习&获取url/控制器/方法
一、获取控制器名
在控制器中获取控制器名字:$this-&getId();
在视图中获取控制器名字:Yii::app()-&controller-&
二、获取动作名
在控制器beforeAction()回调函数中获取动作名:$action-&
在其他地方获取动作名:$this-&getAction()-&getId();
假设我们当前页面的访问地址是:http://localhost/CMS/public/index.php?r=news&id=1
1、获取当前域名:echo Yii::app()-&request-&hostI
结果:http://localhost
2、获取(除域名外的)当前URL: echo
Yii::app()-&request-&getUrl();
结果:/CMS/public/index.php?r=news&id=1
3、获取(除域名外的)首页地址: echo Yii::app()-&user-&returnU
结果:/CMS/public/index.php
4、获取(除域名外的)根目录地址:echo Yii::app()-&homeU
结果:/CMS/public/index.php
5、echo Yii::app()-&request-&baseU
结果:/CMS/public
6、获取网站根目录相对地址:echo Yii::app()-&baseU
结果:/CMS/public
(注意:如果直接用这种方法指向网站根目录,请最好在其后面添加一个“/”,因为有时如果不添加“/”,有可能不能正确指向网站根目录。应用举例:
7、YII获取 IP地址:Yii::app()-&request-&userHostA
8、Yii判断提交方式:Yii::app()-&request-isPostR
9、proteced目录的物理路径:Yii::app()-&baseP
10、获取上一页的url以返回:Yii::app()-&request-&urlR
11、获取当前控制器ID:Yii::app()-&getController()-&getAction()-&
12、项目路径:dirname(Yii::app()-&BasePath);
13、Yii获取get,post过来的数据:Yii::app()-&request-&getParam('id');
14、Yii如何设置时区:
可以在config/main.php里'timeZone'=&'Asia/Chongqing',设定时区
15、防止重复提交:Ccontroler-&refresh();
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。设置默认控制器有两种方法
1、在/vendor/yiisoft/yii2/web/Application.的第28行左右
&&&& public&$defaultRoute&= 'site';&&&&& 可以把这个默认改了,但是修改框架源码不是很好最好是在配置文件中扩展
2、可以在 frontend/config/mian.php&& return[]下添加一行&&
'defaultRoute' =&'index', 这样默认控制器就改好了原文链接:
阅读排行榜Yii 2.0 在控制器里面的init方法里面重定向报错啊??
就是我写了一公共控制器,然后实现它的init方法,验证用户登录,没有登录就重定向到登录页。
重定向方法:$this-&redirect(['user/login']);
报错信息:
No active controller is available
Yii::$app-&controller 这个对象是空的。
怎么回事?
Yii::$app-&respone-&redirect(
['user/login']);&
--- 共有 1 条评论 ---
respone单词写错了!
为什么我上面这样不行?
是因为我上面这样当前controller还没有实例化完成就跳走了导致的吗?2.0版本中如何取得当前的控制器和方法 - 问答 - Yii Framework 中文社区
2.0版本中如何取得当前的控制器和方法
11760次浏览
悬赏 0 金钱
在控制器中和在模板中得到当前的controller和action,应该怎么写
网上的写法全是1.x版的,放在2.0版本中不正确
在 控制器 里面
1 $controllerID = Yii::$app-&controller-&
2 $actionID = Yii::$app-&controller-&action-&
在 视图 里面
1$controllerID = Yii::$app-&controller-&
2$actionID = Yii::$app-&controller-&action-&
详见: .cn/s/blog_88a65c1b0101j6aa.html
共 3 条回复为什么我这样写不对呢,要在Yii前加\才对:\Yii::$app-&controller-&id
你这样写错了
应该是这样写的
Yii::app ()-&controller-&
Yii::app ()-&controller-&action-&
你这是1版本的写法
在 控制器 里面
var_dump($this-&id, $this-&action-&id);
在 视图 里面
var_dump($this-&context-&id, $this-&context-&action-&id);
您需要登录后才可以回答。 |

我要回帖

更多关于 yii2.0设置默认控制器 的文章

 

随机推荐