遗留代码上的 Zend 路由问题



我在继承的旧版 Zend 应用程序上路由时遇到问题 - 想知道是否有人可以帮助我调试?

到目前为止,我已经检查过:

  • application.config.php - 模块正确加载:

    'modules' => array(
    'App',
    'Finding',
    'Listing',
    

等等

  • module.config.php 并且路径的路由似乎没问题,例如:

    'listing' => array(
            'type'    => 'segment',
            'options' => array(
                'route'    => '/admin/property/listing[/:action[/:id]][/:component/:optionTitle/:optionValue]',
                'constraints' => array(
                                                                            'action'                 => '[a-z0-9_-]*',
                                                                            'id'                     => '[0-9]+',
                                                                            'component'              => '[a-z0-9_-]*',
                                                                            'optionTitle'    => '[a-z0-9_-]*',
                                                                            'optionValue'   => '[a-z0-9_-]*'
                                                                    ),
                'defaults' => array(
                    'controller' => 'AdminControllerListing',
                    'action'     => 'list',
                ),
            ),
        ),
    

我得到的实际错误消息是:

     The requested URL could not be matched by routing. No Exception available

我正在做的是在用户登录区域中,单击加载正常的列表类别,然后提交一个 POST 表单,该表单更新与该 ID 关联的数据库中的特定属性。

但是,在提交时我收到上述消息,如果不是路由问题,是否有进一步的方法可以追踪此问题?

编辑

注释对于调试内容来说看起来并不那么好,所以我将根据要求在此处添加它们:

发布数据数组:

   [listingId] => 121 [colvalues] => Array ( [0] => 11 [1] => 22 [2] => 33 [3] => 44 [4] => 55 [5] => 66 [6] => 77 [7] => 88 )

单个网址结构

    admin/property/listing/view/11111 

它正在发布回相同的URL - 因此:

    admin/property/listing/view

路由具有可选的id参数

/admin/property/listing[/:action[/:id]]

您不是在发布id参数,而是listingId.

我的猜测是:

  1. AdminControllerListing没有viewAction.

  2. 有专门检查id参数的控制器逻辑,如果未提供,则返回带有404状态代码的响应。

我认为这些是原因的原因是,即使您的路由中缺少id参数(admin/property/listing/view),路由器仍应与控制器操作匹配(因为id可选参数)。

最新更新