Php 在模型或控制器中的何处使用Zend_Auth?

Php 在模型或控制器中的何处使用Zend_Auth?,php,zend-framework,model,controller,zend-auth,Php,Zend Framework,Model,Controller,Zend Auth,我正在使用Zend开发我的第一个用户登录,但是我对Zend_Auth有点困惑。 我读到的所有关于它的文章都直接在控制器中使用它。但对我来说,在我的用户模型中使用它更有意义,这样每个控制器都可以调用这些函数 你们觉得怎么样 关于Zend Framework模型的文档非常少。Zend_Auth::getInstance()将返回实例,以便您可以在任何需要的控制器中使用它,并使舒尔在成功登录时保存数据,这样您就不需要模型进行身份验证或测试用户是否通过身份验证。(在您的模型中使用auth会在您不需要的时

我正在使用Zend开发我的第一个用户登录,但是我对Zend_Auth有点困惑。 我读到的所有关于它的文章都直接在控制器中使用它。但对我来说,在我的用户模型中使用它更有意义,这样每个控制器都可以调用这些函数

你们觉得怎么样

关于Zend Framework模型的文档非常少。

Zend_Auth::getInstance()将返回实例,以便您可以在任何需要的控制器中使用它,并使舒尔在成功登录时保存数据,这样您就不需要模型进行身份验证或测试用户是否通过身份验证。(在您的模型中使用auth会在您不需要的时候在内存中加载不必要的模型类…,如果用户经过身份验证,则应在引导时进行测试)

编辑以回答您的问题


使单个控制器具有身份验证和日志操作,这样您就可以将所有操作分开,您可以通过页面上的简单链接调用日志功能,并在注销到$u服务器['HTTP_REFERER']后重定向回;因此,用户最终返回到他单击loggout时正在查看的页面。

在正常的web应用程序“模型-视图-控制器”范例中(可能没有尽头),视图/控制器部分应该包含与用户个人体验相关的代码。模型应仅用于与数据交互;它应该包含转换数据、存储数据和检索数据的方法,以及包含数据的成员。与业务逻辑、身份验证和其他特定于会话的信息相关的所有内容都应保留在“模型”之外。

您可以将身份验证逻辑放入您的用户类中


看一看,他正在展示如何将Zend\u Auth\u Adapter\u接口所需的
身份验证
方法添加到自定义用户类。

我明白了,谢谢您的回复。还有一个问题:我可能需要在每个控制器中执行注销操作,我应该用它来创建一个助手吗,或者?