Правильная работа с ООП в PHP
Просьба помочь мне разобраться с ООП в PHP. Ранее как то мне такой опыт не требовался и ООП старался как-то обойти стороной, но времена меняются как говорится и нужно познавать что то новое. И перед вопросом своим скажу что я знаю и вроде как понимаю и если в чем то ошибусь то если не сложно поправьте пожалуйста. И так ООП у нас записывается в классах
class Test{
}
$test = new Test()
Так же у нас есть методы которые начинаются с function.
Вот представим у меня есть два файла test1.php и test2.php. В test1.php создаем класс для подключения к бд и несколько методов с запросами.
test1.php
class Pdo{
protected $pdo = null;
protected $stmt1 = null;
protected $stmt2 = null;
function __construct () {
try {
$this->pdo = new PDO(
"mysql:host=".DB_HOST.";charset=".DB_CHAR.";dbname=".DB_NAME,
DB_USER, DB_PASS
);
} catch (Exception $ex) { exit($ex->getMessage()); }
}
function __destruct () {
if ($this->pdo !== null) { $this->pdo = null; }
if ($this->stmt1 !== null) { $this->stmt1 = null; }
if ($this->stmt2 !== null) { $this->stmt2 = null; }
}
function query1 () {
$this->stmt1 = $this->pdo->prepare(
"SELECT *, UNIX_TIMESTAMP(`time`) AS `unix`
FROM `score` ORDER BY `time` DESC LIMIT 1"
);
$this->stmt1->execute();
return $this->stmt1->fetch(PDO::FETCH_ASSOC);
}
function query2 () {
$this->stmt2 = $this->pdo->prepare(
"SELECT *, UNIX_TIMESTAMP(`time`) AS `unix`
FROM `score` ORDER BY `time` DESC LIMIT 1"
);
$this->stmt2->execute();
return $this->stmt2->fetch(PDO::FETCH_ASSOC);
}
}
Скажу сразу что бы не было вопросов в методах query1 и query2 один и тот же запрос для примера и не более того. И вот как мне правильно подключить class из test1.php в class test2.php
test2.php
class Test{
function test1() {
// Тут выводим какой то html код в котором нужно выполнить
// в первой половине кода query1 ну а во второй query2
//
// Простой пример
echo "<div>". query1 ."</div>";
echo "<div>". query2 ."</div>";
//
// И тут же сразу спрошу что бы вызвать из этого метода метод test2
// Так должно выглядить?
$this->test2();
}
function test2() {
***
}
}
Если можно на вопросы не много развернуто ответить заранее Вам благодарен. Вижу что не очень сложно. Вот только вроде бы на первый взгляд простые моменты не как не поддаются пониманию.