【发布时间】:2011-02-19 07:29:40
【问题描述】:
系统中有不同权限的用户。他们的权限是分层的
class User{//abstract user not logged in
//function signIn(){}
}
class Guest extends User{
}
class FullUser extends Guest{
static function signUp(){}//create an account
function signOut(){}
}
class Moderator extends FullUser{
function edit(){}//some new method introduced here,never introduced before
}
class Admin extends Moderator{
//can do everything
}
//can use
FullUser::signUP()
我的架构好吗? 你还能给我什么建议吗? 我想知道哪个是创建用户的最佳方式 - 编写构造函数?或者让它成为一个“工厂”函数。
function signIn($username, $password)
我是 php 的 OOP 新手,所以我接受明智的建议、链接等。
编辑: 我打算使用这个角色-检查系统:
if(!method_exists($user->addComment())) die('Access denied')
你怎么看?
编辑 2: 我应该创建一个角色表,其中 X 轴为 ROLE,Y 轴为 METHOD?
comment | post | editPost | kill
guest 0 0 0 0
fullUser 1 0 0 0
moderator 1 1 1 0
admin 1 1 1 1
以后我应该写这样的东西
function addComment($user){
if(!$ROLES [$this->$role][__FUNCTION__])return;
....
}
这比 OOP 更好吗,聪明的程序员?
【问题讨论】: