Дело в том, что у вас есть классы, а затем у вас есть данные базы данных. Когда вы создаете объект, как установить свойства объектов, чтобы они содержали данные в базе данных?
Я видел что-то подобное, и мне интересно, действительно ли это лучший способ сделать это. Я уверен, что это довольно распространенная проблема, но я не знаю, каковы наиболее приемлемые решения о том, как справиться с этим.
В этом примере при создании объекта вы передаете идентификатор в качестве параметра, а затем запускаете запрос к базе данных с идентификатором и присваиваете возвращенные значения свойствам объекта. У меня нет большого опыта PHP и я не видел, чтобы это использовалось много.
Является ли это приемлемым способом достижения этой цели? Есть ли лучший или более приемлемый способ?
public function __construct($id = null){
if($id != null){
$sql = "SELECT *
FROM users
WHERE user_id = $id";
$res = Db::returnRow($sql);
// $res contains an associative array with database columns and values
if($res){
$this->user_id = $res['user_id'];
$this->user_name = $res['user_name'];
//and so on...
}
}
}
Может ли кто-нибудь предоставить пример кода или псевдокода, чтобы проиллюстрировать, как правильно это сделать?