역할 클래스 모델 패턴을 내 웹 사이트 사용자 접근 메커니즘 (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);
: 여기에 관련 코드의 단순화 된 버전입니다 다른 전달
- 은 $ 사용자 -> "SomethingAdminish"방법에 uid를 내 로그에 로그 잘못된 정보는 것입니다 나는 위의 방법으로 다른 사용자의 정보를 기록하기로 결정하는 경우 시스템 (잘못된 사용자 ID)
, 는 기본적으로 나는과 같이, 인자로 를 전체 사용자 개체를 전달해야합니다 :
$ user-> rola-> SomethingAdminish ($ user);
여기에는 필수적인 것이 빠져 있습니다. 주제에 대해 좀 밝혀 주시겠습니까?