私は、一般的なユーザーの作成、削除、および変更を管理するユーザークラスを構築しています。私のクラスでは、このように使用する必要があります。ユーザークラス、良いアプローチですか?
# creation
user::create($username, $password, $email); // Does not need of $id
# modification
$u = new user($id);
$u->edit('password', $new_password);
# deletion
$u->delete();
は基本的にクラス(静的メソッドを作成含める)obliviously引数として使用されるIDを必要としないこと。作成後、ユーザー情報を収集し、クラスユーザーのインスタンスを作成するユーザーを管理し、ユーザーの$ idを引数として設定できます。 は、その優れたデザインですか私のようなものを作成する必要があります。2つの異なるクラスを作成しています...
# creation
$users = new genericUserMethod();
$users->create($username, $password, $email);
# modification
$u = new specificUser($id);
$u->edit('password', $new_password);
# deletion
$u->delete();
。それとも他の方法がありますか?
私はそれも好きで、これは過去にしたことです。おそらく、新しいユーザーの作成、古いものの読み込み、削除、エディジットなどの使用法を追加してください... + – ircmaxell
コンストラクタを使用してデータベースから暗黙的にオブジェクトを読み込むことは、「良い設計」ではありません。与えられた$ idがデータベースに存在しないことを示すことはできません。また、コンストラクタは、クラスの新しい有効なインスタンスを作成する目的にのみ役立つ必要があります。 -1 – mschneider
@mschneiderあなたは正しいです、コンストラクタはprotectedとして設定することもできますし、内部的にコンストラクタを呼び出す2つの静的メソッド "create"と "load"を作成することもできます...これは単純なスケルトンとして意図されています... – maid450