我对这个问题很困惑,假设我有一个Authentication类(登录,注销,检查是否登录)
用户类(包含用户,getter,setter,save等)
我应该在哪里放置诸如创建用户之类的内容,以及验证用户名?一个新类,如“UserManager”或其他东西?
答案 0 :(得分:5)
这更像是一个设计问题,这使得它有点难以回答,因为可能没有客观正确的方法来做到这一点。相反,有几个人已经创建了几个不同的解决方案,所有这些解决方案都同样有效。
一个建议是创建一个Users
(复数)类,其中包含addNew
(返回User
object)和userExists
等公共方法(返回Bool
}),以及validateUsername
(也返回Bool
)。
此Users
类可能包含用于管理整个用户群的其他逻辑。
答案 1 :(得分:0)
我喜欢做的是在用户类
中包含create / validate / etc. ..方法class user{
function __construct($iduser){
$this->id=$iduser;
}
function getHref(){
return "/profile/".$this->id;
}
function create($username){
//insert your user in db
//retrieve the id of the created user
$iduser=mysql_insert_id();
$newuser=new user($iduser);
return $newuser;
}
function validate($username){
mysql_query("your code to validate");
return true or false;
}
}
$name="john";
if(user::validate("$name")){
$mynewuser=user::create("john");
$href=$mynewuser->getHref();
header("Location: $href"); //let s redirect him to its home page
//or use any other method...
}