2
我一直在試圖實施一個角色分類模型模式到我的網站用戶訪問機制(用PHP編寫)。但我有一些疑問。下面是相關的代碼的簡化版本:角色分類模型正確實施
class User
{
public $role;
public $uid;
public function setRole($role)
{
$this->role = $role;
}
}
// role classes responsible for restricted actions
class BaseRole {}
class AdminRole extends BaseRole
{
// do something adminish + log action into database (with User ID)
public function SomethingAdminish($admin_id) { }
}
$user = new User();
$user->setRole(new AdminRole());
// pass Admin ID (User ID) into method
$user->rola->SomethingAdminish($user->uid);
我看到一些弱點在這裏:
- 傳遞任何其他$用戶> uid解釋爲「SomethingAdminish」方法將在我的日誌 日誌信息不正確系統(錯誤的用戶ID)
如果我決定在上述方法中登錄其他用戶信息, 基本上我將不得不通過整個用戶對象作爲參數, 像這樣:
$ user-> rola-> SomethingAdminish($ user);
我可能錯過了這裏必不可少的東西。請你們介紹一下這個問題?