Zagadnienia bazodanowe do naszego projektu MVC – rozbudowa i przebudowa projektu. Do dzieła!
Weźmiemy ten kod:
<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=mydb123', 'user', 'pass');
echo "OK";
} catch (PDOException $e) {
echo $e->getMessage();
}
Postaramy się go przebudować na podejście obiektowe tworząc klasę PDOConnection:
<?php
class PDOConnection {
protected $connection;
public function connect(): PDOConnection{
try {
$this->connection = new PDO('mysql:host=localhost;dbname=mydb123', 'user', 'pass');
} catch (PDOException $e) {
echo $e->getMessage();
}
return $this;
}
public function getConnection(): PDO|null
{
return $this->connection;
}
}
$conn = new PDOConnection();
$conn->connect();
$conn = $conn->getConnection();
Ok. Teraz warto by było mieć skąd pobierać dane do konstruktora PDO, ale tym zajmiemy się w następnych lekcjach.