我在哪里可以在zend框架中获取路由操作

时间:2015-11-11 04:45:01

标签: zend-framework2

这是我的module.config.php

return [
'router' => [
    'routes' => [
        'home' => [
            'type' => 'Zend\Mvc\Router\Http\Literal',
            'options' => [
                'route' => '/',
                'defaults' => [
                    'controller' => 'rotation',
                    'action' => 'add',
                ],
            ],
        ],

这是我的add.phtml。

<?php

  $form = $this->form;
  $form->setAttribute('action',
  $this->url('home/default', //your route name ...
    array('controller'=>'rotation', 'action' => 'add'))); 
  $form->prepare();

   echo $this->form()->openTag($form);
   echo $this->formRow($form->get('profilename'));
   echo $this->form()->closeTag();

在第$this->url('home/default', //your route name ... array('controller'=>'rotation', 'action' => 'add')));行中,我收到错误消息。它没有显示任何内容,但是当我删除该行时,它会显示文本框。

我的问题是我在代码中放入的url是正确还是错误?感谢

1 个答案:

答案 0 :(得分:1)

要使用网址助手生成该路线网址,您不需要传递任何参数,因为您已在defaults options下指定了这些参数。此外,因为它是一个文字,我不认为你甚至可以改变行动(这种类型的路线不是变量)。 旁注:您不需要传递整个路由类名称,因为ZF2已经在Literal(不区分大小写)下注册了它,因此您可以缩短type密钥的值。

$this->url('home')应该返回您期望的结果。