|
|
1
2
在init()内使用$this->_forward()没有任何错误(如果要转发的方法与init()在同一控制器内),这只会更改请求对象的控制器/操作(覆盖通过路由器设置的内容)。 另一种方法是创建一个Zend_Controller_插件,因为它看起来像是在处理意外错误。 因此,如果响应包含eny expections,并且只是编辑当前请求对象以显示“取消”操作,那么您将抛出一个异常,并让您的自定义插件签入postDispatch(),而不是转发到另一个操作。
最后一种方法可能是在echo“{error:”invalid json“}”之后抛出一个出口,这不太好,但可以避免再次分派迭代的过载。 |
|
|
2
2
我会抛出一个异常(然后在错误控制器中捕获它)-这就是当存在不可恢复的错误时所做的。 |
|
|
3
2
|
|
|
4
1
对于仍在寻找解决方案的人,可以尝试以下操作:
添加一个标志,说明是否存在错误,并重写分派方法。如果设置了标志,则不要调用
这是我想要的方式。我的原因是,我正在制作一个抽象的API控制器,默认情况下,它会检查请求中的API密钥,如果它不在那里,那么控制器应该以错误响应并成功完成请求。 例如。
对我来说,这似乎是一个干净的解决方案。 |
|
|
5
0
documentation (在“调度前和调度后挂钩”下),在Pre Dispatch()中调用_forward()将跳过该操作。
|
|
|
pia-sophie · 带子级的嵌套视图,不会显示子级 8 年前 |
|
|
pia-sophie · 注册查看帮助程序了解问题 8 年前 |
|
|
GThamizh · Mysql查询格式从ZEND更改为Yii2 8 年前 |
|
|
p.wright · Zend2 Post请求 8 年前 |