Zend framework2 如何将参数值传递给另一个控制器';ZF2中的s作用

Zend framework2 如何将参数值传递给另一个控制器';ZF2中的s作用,zend-framework2,Zend Framework2,朋友们好,我是zf2的新手。我正在控制器中创建一个动作,所有东西都正常工作。当表单有效时,我想将一些值传递给重定向页面。我该怎么做?请帮帮我 我的控制器操作是 public function studenteditAction(){ $id = (int) $this->params()->fromRoute('id', 0); if (!$id) { return $this->redirect()->toRoute('man

朋友们好,我是zf2的新手。我正在控制器中创建一个动作,所有东西都正常工作。当表单有效时,我想将一些值传递给重定向页面。我该怎么做?请帮帮我

我的控制器操作是

public function studenteditAction(){

      $id = (int) $this->params()->fromRoute('id', 0);

     if (!$id) {
         return $this->redirect()->toRoute('manager', array(
             'action' => 'students'
         ));
     }
     $form  = new StudentsForm();

     $request = $this->getRequest();
     if ($request->isPost()) {

         $students = new Students();

         $form->setData($request->getPost());

         if ($form->isValid()) {


            $students->exchangeArray($form->getData());

              $table = $this->getServiceLocator()->get('Students\Model\StudentsTable');

              $table->profileStudents($students);

             return $this->redirect()->toRoute('manager',array('controller'=>'manager','action'=>'student-view','id'=>$id,'status' => 'profile-ready'));


         }
     }

     return array(
         'id' => $id,
         'form' => $form,
     );
 }
我无法在控制器视图上获取传递的状态值。
“状态”=>“配置文件准备就绪”


提前感谢

您需要修改路由配置以接受“id”和“状态”值

       'manager' => array(
            'type' => 'Segment',
            'options' => array(
                'route'    => '/manager[/:id][/:status]',
                'defaults' => array(
                    'controller' => 'Application\Controller\Manager',
                    'action'     => 'studentView',
                ),
                'constraints' => array(
                    'id' => '[0-9]*',
                    'status' => '[a-z-]*'
                ),
            ),
        ),
控制器:

public function studentViewAction()
{
    $id = $this->params()->fromRoute('id');
    $status = $this->params()->fromRoute('status');
    return new ViewModel(array('id' => $id, 'status' => $status));
}
查看

<?php 
echo $this->id;
echo $this->status;
?>


这就是我如何将所需的值传递给另一个控制器的操作的方式

感谢您的回复,但这种添加状态的方式将状态添加到url中,如()。我只想查看这个状态,而不是通过url,比如“echo$this->status”,重定向方法根据输入参数在内部构建url。因此,您不能使用redirect()方法执行HTTP post操作。