加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

zend-framework2 – ZF2 – 覆盖供应商模块ZFcUser的配置

发布时间:2020-12-13 22:49:39 所属栏目:PHP教程 来源:网络整理
导读:编辑: 我只是自己找到了解决方案. 由于我的ContentManagerController扩展了AbstractRestfulController,它自然没有实现索引操作.因此’defaults’数组中的’action’字段必须被”或null覆盖.然后将按预期调用取决于HTTP请求类型的正确操作.我在哪里? 这是更
编辑:
我只是自己找到了解决方案.
由于我的ContentManagerController扩展了AbstractRestfulController,它自然没有实现索引操作.因此’defaults’数组中的’action’字段必须被”或null覆盖.然后将按预期调用取决于HTTP请求类型的正确操作.我在哪里?

这是更新的代码.更改

'defaults' => array(
    'controller' => 'zfcuser','action'     => 'index',),

'defaults' => array(
    'controller' => 'ContentManagerControllerContentManager','action'     => '',// or null
),

—原帖—

我试图从自定义模块(ContentManager)module.config.php中覆盖供应商模块(ZFcUser)的路由. ContentManagerController扩展了原始UserController.我不想触摸ZFcUser的module.config.php,因为它可能会在通过composer进行预期更新后导致麻烦.我想严格分离我从原始供应商文件中所做的任何配置.
简单地覆盖

'route' => '/user',

'route' => '/cms',

现在适用,但不是我想要实现的目标.
所以,我也需要更换控制器条目

'defaults' => array(
    'controller' => 'zfcuser',

'defaults' => array(
    'controller' => 'ContentManagerControllerContentManager',

但这给了我404错误.

The requested controller was unable to dispatch the request.

Controller:
ContentManagerControllerContentManager

似乎两个控制器都存在冲突.当我注释掉’defaults’数组时
?然后按预期调用ZFcUser module.config.php我的ContentManagerController.
我还确保我的模块在ZFcUser之后注册.所以压倒一切应该工作,afaik.

我已经做了很多研究,但无法弄清楚这里发生了什么.
描述here和there的策略并不成功.

return array(
    'controllers' => array(
        'invokables' => array(
            'ContentManagerControllerContentManager' => 'ContentManagerControllerContentManagerController','router' => array(
        'routes' => array(
            'zfcuser' => array(
                'type' => 'Literal','priority' => 1000,'options' => array(
                    'route' => '/cms','defaults' => array(
                        'controller' => 'ContentManagerControllerContentManager','may_terminate' => true,'child_routes' => array(
                    .
                    .
                    .
                ),);

谢谢你的帮助!

解决方法

作者找到了解决方案,但没有回答问题(他编辑了),我只是将它复制粘贴到答案中.

我只是自己找到了解决方案.由于我的ContentManagerController扩展了AbstractRestfulController,它自然没有实现索引操作.因此’defaults’数组中的’action’字段必须被”或null覆盖.然后将按预期调用取决于HTTP请求类型的正确操作.我在哪里?

这是更新的代码.更改

'defaults' => array(
    'controller' => 'zfcuser',

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读