我正在使用 CakePHP 构建一个网站,但这个问题更多的是关于解决 MVC 问题,而不是 CakePHP 问题。
我有一个用户模型和一个组模型。这是一种HABTM关系,因此不同的用户可能属于多个组。我网站上的一个 Controller 负责处理博客。它有很多方法,但所有 View 都共享一个侧边栏元素,其中包含相关帖子等内容。我想向博客的侧边栏添加一些链接,只有属于管理员组的用户才能看到。
首先,我决定在 View 元素中循环访问用户所属的每个组,如果找到管理组,则回显链接并中断循环。
但这似乎打破了MVC模式。有更好的办法吗?
最佳答案
只需在 User 模型中实现一个 isAdmin()
bool 方法,该方法将封装权限检查逻辑,然后从 View 中调用它来检查给定用户是否是管理员。
根据经验,将所有业务逻辑保留在模型中。
关于php - MVC 难题 : How can I solve this problem and keep logic out of the view?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3964833/