有些用户在系统中拥有不同的权限。他们的特权是分层的PHP OOP体系结构问题(面向角色的OOP)
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中面向对象,所以我接受明智建议,链接等
编辑: 我打算用这个角色 - 检查系统:
if(!method_exists($user->addComment())) die('Access denied')
您对此有何看法?
编辑2: 应该创建与Y轴作用,在X轴和方法的角色表?
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,聪明的程序员?
编辑2是否在我的文章中扩展了你的方法? – Dan 2011-02-18 00:26:19
嗯,是的...... – 2011-02-18 00:33:19