Bloga ierakstus nepieciešamas attēlot no datu bāzes, tāpēc to nepieciešams uztaisīt, kā arī atgūt kādreizējo kodu, kas ļāva izveidot savienojumu ar datu bāzi!
Bloga ierakstus nepieciešamas attēlot no datu bāzes, tāpēc to nepieciešams uztaisīt, kā arī atgūt kādreizējo kodu, kas ļāva izveidot savienojumu ar datu bāzi!
blogppposts, kurai ir kolonnas:
id - unikāls identifikators, kurš automātiski
palielinās un nevar būt nulle,
content - bloga tekstuāls saturs līdz 1000
rakstzīmēm, nevar būt nulle
Database.php
<?php
class Database {
private $config = [
"host" => "localhost",
"port" => 3306,
"dbname" => "blogpp",
"charset" => "utf8mb4",
"user" => "root",
"password" => ""
];
private $pdo;
// Konstruktors - pieslēdzas datu bāzei
public function __construct() {
$dsn = "mysql:" . http_build_query($this->config, "", ";");
$this->pdo = new PDO($dsn);
$this->pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
}
// Metode, kas izpilda vaicājumus
public function query($sql, $params = []) {
// 1. Sagatavot vaicājumu
$statement = $this->pdo->prepare($sql);
// 2. Izpildīt vaicājumu
$statement->execute($params);
return $statement;
}
}
Jāatzīst, ka šeit citādi nekā mācījāmies tiek iegūta datu bāzes
konfigurācijas informācija - tā tiek glabāta lokālā klases īpašībā
$config. Šis noteikti nav labs veids, bet tika
izvēlēts, lai atvieglotu tālāku klases izmantošanu.
BlogController klasiDatabase.php
index izveido datu bāzes klases instanti un
iegūsti no tās bloga ierakstus:
$db = new Database();
$posts = $db->query("SELECT * FROM posts")->fetchAll();
var_dump($posts); un interneta
pārlūkprogrammā pārliecinies, ka bloga ieraksti tiek iegūti
views/blog/index.view.php, lai,
izmantojot nenumurētu sarakstu, bloga ieraksti tiktu attēloti
var_dump($posts);