0

私はこのテーマについてかなり混乱しています。たとえば、認証クラス(ログイン、ログアウト、ログインしているかどうかの確認)があるとします。

Userクラス(User、getter、setter、saveなどを保持します)

ユーザーの作成やユーザー名の検証などはどこに置くべきですか?「UserManager」などの新しいクラス?

4

2 に答える 2

5

これは設計上の質問であり、これを行うための客観的に正しい方法がおそらくないため、答えるのが少し難しくなります。むしろ、何人かの人々が、すべてが等しくうまく機能するいくつかの異なるソリューションを作成しました。

1つの提案は、(returnsオブジェクト)や(returns )、および( returning )Usersなどのパブリックメソッドを持つ(複数形)クラスを作成することです。addNewUseruserExistsBoolvalidateUsernameBool

この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 に答える