Camillo
Новичок
Маленький, конкретезированный вопрос по ООП.
Привет.
Всё пытаюсь освоить ООП. И возник небольшой вопрос.
Пусть у меня есть класс User, который описывает все свойства объекта "Пользователь" и реализует несколько методов, например метод add()
Всё бы в принципе и нормально, но каким образом мне теперь реализовать метод, который бы выдавал список всех пользователей из БД?
Проще всего конечно было бы сделать просто класс, связанный с таблицей и напихать туда самых разнообразных методов, например
Всё хорошо, но очень хочется попробовать имеенно ОБЪЕКТНЫЙ подход в действии, т.е. представить пользователя именно как объект.
Как бы вы это реализовали? Как эту идею правильнее всего реализовать?
Спасибо!
Привет.
Всё пытаюсь освоить ООП. И возник небольшой вопрос.
Пусть у меня есть класс User, который описывает все свойства объекта "Пользователь" и реализует несколько методов, например метод add()
PHP:
class User
{
public function __construct($arData) {
$this->id = $arData['id'];
$this->username = $arData['username'];
$this->email = $arData['email'];
$this->password = $arData['password'];
}
public function add() {
$insertArr = array(
'username' => $this->username,
'email' = > $this->email,
'password' => $this->encode_password($this->password)
);
global $DB;
$DB->query("INSERT INTO users ?a", $insertArr);
$r = $DB->query("SELECT LAST_INSERT_ID() as user_id");
$this->id = $r[0]['user_id'];
}
public function remove() {
global $DB;
$DB->query("DELETE FROM users WHERE id=?", $this->id);
}
private function encode_password($password) {
return md5($password);
}
}
Проще всего конечно было бы сделать просто класс, связанный с таблицей и напихать туда самых разнообразных методов, например
PHP:
class User
{
function insert($arData);
function remove($id);
function select($arData);
function uniq($field, $data);
}
Как бы вы это реализовали? Как эту идею правильнее всего реализовать?
Спасибо!
