Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MVC难题:我如何才能解决这个问题,并将逻辑排除在外?_Php_Model View Controller_Cakephp - Fatal编程技术网

Php MVC难题:我如何才能解决这个问题,并将逻辑排除在外?

Php MVC难题:我如何才能解决这个问题,并将逻辑排除在外?,php,model-view-controller,cakephp,Php,Model View Controller,Cakephp,我正在用CakePHP构建一个站点,但是这个问题更多的是关于解决MVC问题,而不是CakePHP问题 我有一个用户模型和一个组模型。这是一种HABTM关系,因此不同的用户可能属于多个组。我网站上的一个控制器处理博客。它有很多方法,但所有视图都与相关文章等共享一个侧栏元素。我想在博客的侧栏中添加一些链接,只有属于管理组的用户才能看到这些链接 首先,我决定通过用户所属的每个组在view元素中循环,如果找到Admin组,则回显链接并中断循环 但这似乎打破了MVC模式。有更好的方法吗?只需在用户模型中实

我正在用CakePHP构建一个站点,但是这个问题更多的是关于解决MVC问题,而不是CakePHP问题

我有一个用户模型和一个组模型。这是一种HABTM关系,因此不同的用户可能属于多个组。我网站上的一个控制器处理博客。它有很多方法,但所有视图都与相关文章等共享一个侧栏元素。我想在博客的侧栏中添加一些链接,只有属于管理组的用户才能看到这些链接

首先,我决定通过用户所属的每个组在view元素中循环,如果找到Admin组,则回显链接并中断循环


但这似乎打破了MVC模式。有更好的方法吗?

只需在用户模型中实现一个
isAdmin()
布尔方法,该方法将封装权限检查逻辑,然后从视图中调用它来检查给定用户是否是管理员

根据经验,将所有业务逻辑保留在模型中