这是我在here
上找到的最接近问题的内容我正在开发一个项目,我想为它添加一个安全模型,所以由于我亲身体验到跳转到编码和跳过规划阶段有多糟糕,我决定先做。所以我创建了一个ERD,很酷的一直在做,然后是UML类图,从大学开始就没有做过其中的一个,好吧一点点google,去吧。
参见ERD和UML类图Here
上面的图片是我迄今为止所做的一点,我知道我当然需要一个User Class和一个Permission Class,但我不知道如何处理这两者之间的关系。我一般都知道在一个M-N关系中,你用一个属性来建模它,这个属性是相关类的集合但是相关类的属性呢?以下是我最好的猜测,如果有人有更正,评论或材料的链接,那将是很棒的。我的目标是提前正确实施OOP。
class User{
private $id;
private $password;
private $active;
private $permissions;
/* skip getters and setters */
function getUserPermissions(){
return UserPermission[];
}
}
class UserPermission{
private $id;
private $deny;
private $grant;
private $active;
/* skip getters and setters */
function getPermissions(){
return Permission[];
}
}
class Permission{
private $id;
private $name;
private $description;
private $active;
/* skip getters and setters */
}
答案 0 :(得分:1)
您可以将这些数组直接返回,作为数组或列表。但那不是那么重要。
更重要的是,每个UserPermission
,即一个类关联,都应该有一个User
数组和一个Permission
数组。
此外,每个User
都应该有UserPermission
,每个权限也应该有UserPermission
。
并且User
应该没有UserPermission
的数组。他们的关联是1:n,n在用户方面。这意味着:UserPermission
有很多User
个,用户有1 UserPermission
。