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

Where can I get the route action in zend framework

这是我的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我放在里面的代码是对还是错?谢谢

一方面,使用 url 帮助程序生成路由 url 您不需要传入任何参数,因为您已经在 defaults 下的 [=] 中指定了它们11=]。此外,由于它是文字,我认为您甚至无法更改操作(对于这种类型的路线来说它不是可变的)。 旁注:不需要传入整个路由class名称,因为ZF2已经在Literal下注册了(不区分大小写),所以可以缩短type的值关键。

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