我正在尝试使用Zend Framework 2获取一个特定的参数。例如,
// set the form to be used in the update templates view
$form = new EmailTemplateForm();
// gets the form method request (usually post)
$request = $this->getRequest();
// check to see if the request was a POST form request
if ($request->isPost()) {
// good to go
// filter the form values now
$email = new EmailTemplates();
$form->setInputFilter($email->getInputFilter());
// set the form data to hold all the values supplied by the form
// via $request->getPost()
$form->setData($request->getPost());
// now we will see if the form is valid
// we check if it is valid by the email form class we created
if ($form->isValid()) {
// it is valid
// pass the form to data to the filter class via exchangeArray()
$email->exchangeArray($form->getData());
$tpl_id = !empty($this->getRequest()->getParam('id'))
? $this->getRequest()->getParam('id') : null;
if ($this->getEmailTemplatesService()->modifyEmailTemplate($email, $tpl_id) === true) {
// the updated email template was inserted into the database successfully
// redirect to email template view
return $this->redirect()->toUrl('/admin/email-template');
} else {
// error occured..
// the error is logged automatically
// redirect to email template view
return $this->redirect()->toUrl('/admin/email-template/' . $tpl_id);
}
}
}
$this->getRequest()->getParam('id')会返回页面url中的id号吗?我将路线设置为以下格式:
'route' => '/admin[/][:action][/:id]',
那么,如果表单被提交(通过POST),并且相应的url是/admin/edit template/3,$this->getRequest()->getParam('id')会包含3吗?
谢谢!
如果你想从post中获取参数,也许最好使用:$this->params()->fromPost('param_name');
如果您想从路线:$this->params()->fromRoute('id');
您可以使用"id"输入名称创建,也可以使用路由中的id。