У меня есть некоторые проблемы с ООП.Я только начал ООП в php, и у меня есть некоторые проблемы.Итак, у меня есть к вам вопрос, может быть, вы мне поможете.
У меня есть несколько классов (в данном случае 3)
<?php
//FILE class.NB.php
class NB { //databse manipulations, curls
public $db;
function __construct($db) {
$this->db = $db;
}
public function LoginNB () {
//something here
$this->db->query("UPDATE logins SET login_time = %u", time());
}
}
//FILE class.fn.php
class FN extends NB {
public function deposits () {
$this->LoginNB();
return $this->db->query("SELECT * FROM deposits");
}
public function getUserWihdrawsCompared() {
// AND HERE I WOULD LIKE TO USE the DR's ::usersWithdraws
$users = $this->usersWithdraws();
}
}
//FILE class.dr.php
class DR extends NB {
public function withdraws () {
$this->LoginNB();
return $this->db->query("SELECT * FROM withdraws");
}
public function usersWithdraws() {
$a = $this->db->query("SELECT * FROM user_withdraws");
/*code here*/
return $final_array;
}
public function compare_withdraws_deposits () {
// AND HERE I WOULD LIKE TO USE the FN's ::deposits
$deposit_list = $this->deposits();
/* code here */
return $final_array;
}
}
?>
Итак, мой вопрос, как можно использоватьвсе везде.Я видел что-то с чертами, но я не уверен, как использовать и что именно использовать.Мои проблемы в том, что я хочу использовать дочерний метод родителя для другого потомка с тем же родителем.Но в конце я хотел бы использовать только родительский класс для «запуска» реализации в других классах, если это возможно.Например:
$NB = new NB($db);
$result = $NB->ShowResults();
Проблема: ShowResults () должен использовать как дочерние, так и дочерние методы, используемые в ShowResults (), иногда использовать методы из другого дочернего класса.
Может быть, это невозможно, но я быпризнателен, если вы могли бы помочь мне.(даже с подтверждением, которое невозможно)
Спасибо.