2012-11-28 17 views
1

我使用Zend框架转发,并拿出转发到在同一个控制器的另一个动作的请求的情况。ZF - 检查请求是否是从另一个动作

我转发来自创建保存请求。我想要做的是检查(从saveAction)请求是否被转发或直接请求(不使用任何额外的变量或参数)

init()功能将被触发两次,每次转发(一个用于创建和一个用于保存),这将是从init()过更好的检查。

class Cms_UserController extends Zend_Controller_Action { 

    public function init() { 
     parent::init(); 

     // some code here 
    } 

    public function createAction() { 

     if (!$this->getRequest()->isPost()) { 
      // forwarding to cms/user/save 
      return $this->_forward('save'); 
     } 

     // do some stuff for POST request 
    } 

    public function saveAction() { 
     // I want to check whether the request is 
     // forwarded from 'createAction' or from any action 
     // or a direct request to cms/user/save 
    } 

} 

回答

3

希望这将帮助你:

public function lastAction(){ 
    $request=$this->getRequest()->getParams(); 
    $request['action']; //you can get corresponding actions here 
} 
public function testAction(){ 
    return $this->_forward('last'); 
} 
+0

这个工作!谢啦。仅供参考,我用了捷径方法'$这个 - > Request()方法 - > getParam( '行动')',将给予 '试验' 和'$这个 - > Request()方法 - > getActionName()'会给“最后” :) – rajukoyilandy

+0

伟大的工作@Munawer阿齐兹和rajukoyilandy ......你以前collegue..unnikrishnan – coolguy

相关问题