Cakephp - 在不同的控制器中工作时从url获取控制器名称和操作

时间:2013-12-31 07:12:23

标签: cakephp controller

我有一个控制器'用户'&动作'索引',它是'$ this-> requestAction'的视图文件'我正在调用另一个控制器&行动。像这样:

index.ctp

//My html code
<?php echo $this->requestAction('anotherController/anotherAction'); ?>
//My html code

现在,问题出在'anotherController'和&amp; 'anotherAction',我想得到所要求的控制器'用户'&amp;使用'$ this-&gt; params'数组操作'index',但它给了'anotherController'作为当前控制器&amp; 'anotherAction'作为当前行动。像

anotherController.php

public function anotherAction(){
  pr($this->params);
  //It gives me
  //['controller'] = anotherController
  //['action'] = anotherAction
  //I want to get the requested controller & action of url here
  //which should be 'Users' & 'index'
}

$ _ SERVER ['REQUESTED_URI']给了我网址,但有没有更好的方法来找出什么是控制器&amp;从URL进行操作?

1 个答案:

答案 0 :(得分:0)

您可以将其作为参数传递

$this->requestAction(
    array('controller' => 'anotherController', 'action' => 'anotherAction'),
    array('pass' => array('curentController','currentAction'))
);

然后您可以将参数设为

$this->request->params['pass']

requestAction的语法:requestAction(string $url, array $options)