我是Zend的新开发人员,我正在研究Zend中一个非常简单的应用程序,它将允许我发布这些页面。
要这样做,我需要创建一种获取控制器名称和操作名称的方法(如果它不存在)。
例如,我有一个名为page的控制器,在该控制器的view操作中,我根据id I Pass显示页面内容。所以他的网址是:
http://localhost/page/view/slug/some-slug-value
如果我写下以下链接,我想要
http://localhost/some-slug-value
而不是显示无效的控制器错误,它还应该为该段塞服数据库并在页面控制器中打开视图操作。
即使我必须显示一些错误,我也不想更改网址http://localhost/some-slug-value。
如果我必须处理无效操作,我可以通过该控制器中的__call()函数来完成。所以我需要一个__call函数来处理无效的控制器。
由于我是Zend的新手,请同时提及我要编写的代码,并提出建议。
提前致谢
答案 0 :(得分:1)
Zend_Controller_Plugin_ErrorHandler可以处理异常,默认情况下已启用。你可以将你的逻辑放在里面。
答案 1 :(得分:1)
在使用自定义插件here之前,我已回答了类似的问题。
基本上,它检查是否可以调度请求,如果不能,则重定向到另一个控制器/操作。这发生在ErrorHandler插件之前,允许ErrorHandler仅按预期处理错误。
修改强>
我应该注意链接问题上的插件,我引用了用户名。在您的情况下,您将不得不用slug替换用户名。