热点在ZF中与其他控制器共享通用控制器操作?

时间:2012-04-15 10:44:49

标签: php zend-framework

让我们说我有一个控制器,负责登录/注册/密码恢复等我的应用程序。我想在不同的模块和控制器之间分享这个。什么是最好的方式?

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

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

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

基本上我认为你要创建的是小部件。以下是ZF团队负责人http://weierophinney.net/matthew/archives/246-Using-Action-Helpers-To-Implement-Re-Usable-Widgets.html使用动作助手创建它们的精彩文章。

答案 1 :(得分:1)

您想要创建可重复使用的身份验证服务。将其创建为服务允许您单独测试它。将服务注入前端控制器插件,以便在每个请求期间运行。实际检查可以封装到自定义验证器中,因此您只需调用 - > isValid()即可。如果无效,请重新路由到登录页面。