在Zend框架中显式处理无效的控制器


handle invalid controller explicitly in Zend framework

我是Zend的新开发人员,我正在Zend的一个非常简单的应用程序上工作,这将允许我发布页面。

要做到这一点,我需要创建一种方法来获取控制器名称和操作名称(如果它不存在)。

e。我有一个名为page的控制器,在该控制器的视图操作中,我根据我传递的id显示页面内容。所以url是:

http://localhost/page/view/slug/some-slug-value

如果我写下面的链接,

http://localhost/some-slug-value

不是显示Invalid controller error,它还应该在数据库中搜索该段符,并在页面控制器中打开视图操作。

我不想改变URL http://localhost/some-slug-value即使我必须显示一些错误。

如果我必须处理无效的动作,我可以通过控制器中的__call()函数来做。所以我需要一个__call函数来处理无效的控制器。

由于我是Zend的新手,请也提及我必须在哪里编写您将要建议的代码。

Thanks in advance

Zend_Controller_Plugin_ErrorHandler可以处理由于缺少控制器/动作而导致的异常,默认情况下是启用的。

在使用自定义插件之前,我已经回答了一个类似的问题。

基本上,它检查请求是否可以被调度,如果不能,它将重定向到另一个控制器/操作。这发生在ErrorHandler插件之前,允许ErrorHandler只按预期处理错误。

编辑

我应该注意到,在链接问题的插件中,我引用了用户名。在您的示例中,您必须将slug替换为username。