2012-04-15 76 views
0

让我们说我有一个控制器,负责登录/注册/密码恢复等在我的应用程序。我想分享不同的模块和控制器。最好的方法是什么?很热共享控制器在ZF中的其他控制器的行为?

我应该做一个动作助手,还是使用继承?当然,我并不是说这些行为的逻辑是由模型实现的(每个模块都不相同),我只是想分享共同的参数,解释并将结果传递给视图。

我打算为我的项目中的这些东西做一些通用库。所以我会有一些抽象的用户模型,其中所有其他模型想要使用登录/注册功能将继承,但我想知道控制器的东西。

有什么想法?

回答

1

创建一个可重用的认证服务是你想要做的。将它创建为一项服务可以让您对其进行单独测试。将服务注入到前端控制器插件中,以便在每个请求期间运行。实际检查可以封装到自定义验证器中,以便您可以简单地调用 - > isValid()。如果无效,请重新路由到登录页面。

+0

您可以提供任何有关如何以更详细的方式将其作为服务更多地创建的文档。我知道你的意思,但如何解决它技术性。 – 2012-04-17 12:26:24