确定。我在我的应用程序中设计类。
我有一个User类。现在我需要列出用户,获取有关特定用户的信息等。
最初我试图做的是:
class User
{
private $userId;
private $name;
private $age;
function __construct()
{
// the code to get the user details from db and assign it to the properties.
}
// get the list of all the users
public function getUserList()
{
}
// add a new user
public function addUser()
{
}
// gets the username
public function getUserName($userId)
{
return $this->name;
}
}
这些是我的怀疑:
您认为从数据库中填充属性是一个好主意 构造函数?如果没有,你能建议一个更好的方法吗?
函数getUserList()和addUser()是否真的属于这个类?或者我应该创建一个单独的类来获取用户列表,添加,删除用户,然后创建另一个类来存储特定用户的信息?我该如何设计呢?
由于
答案 0 :(得分:1)
我认为更好的选择是创建两个类,用户和用户。
class Users implements IteratorAggregate {
/**
* @return User[]
*/
public function getUserList() {}
public function addUser(User $user) {}
/**
* @return User
*/
public function getUser($userId) {}
public function getIterator() {
return new ArrayIterator($this->getUserList());
}
}
class User {
public $userId;
public $name;
public function __construct() {}
}