0

我对这个主题很困惑,假设我有一个身份验证类(登录、注销、检查是否登录)

用户类(包含用户、getter、setter、save 等)

我应该把创建用户和验证用户名之类的东西放在哪里?一个新的类,比如“UserManager”之类的?

4

2 回答 2

5

这更像是一个设计问题,这使得它有点难以回答,因为可能没有客观正确的方法来做到这一点。相反,有几个人创建了几种不同的解决方案,它们都同样有效。

一个建议是创建一个Users(复数)类,该类具有公共方法,如addNew(返回User对象)和userExists(返回Bool),以及validateUsername(也返回Bool)。

此类Users可能包含用于管理整个用户群的附加逻辑。

于 2012-12-05T15:07:38.547 回答
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...
}
于 2012-12-05T15:10:14.553 回答