有些用戶在系統中擁有不同的權限。他們的特權是分層的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