Modellek az MVC-ben PHP-ben
Most pedig nézzük meg a modelleket. A modellek
szintén, akárcsak a vezérlők, OOP osztályokat
jelentenek. Ezeket a /project/models/ mappába
kell elhelyezni. Hozzunk létre ebben a mappában,
a Page.php fájlban egy Page modellt,
amely a weboldalunk oldalainak adataiért felelős:
<?php
namespace Project\Models;
use \Core\Model;
class Page extends Model
{
}
?>
Amint látható, a modellünk a \Core\Model
osztályból örököl. Ettől az osztálytól a modellünk
örökli a findOne és a findMany
védett metódusokat. A findOne metódus
paraméterként egy SQL lekérdezést fogad, és visszaadja
az adatbázisból az első, a lekérdezés eredményébe
került rekordot. A findMany metódus szintén
SQL lekérdezést fogad paraméterként, de egy rekordokból
álló tömböt ad vissza.
Ehhez nem kell olyan kódot írni, amely létesít
kapcsolatot az adatbázissal, vagy amely a
mysqli_fetch_assoc segítségével dolgozza fel
a lekérdezés eredményét. A keretrendszer ezt megteszi
helyetted. Neked csak annyit kell választanod, hogy
egy rekordot vársz-e az adatbázisból a lekérdezés
eredményeként, vagy többet, és használd a megfelelő
függvényt, hogy értelmezhető tömböt kapj eredményül,
amellyel ezután egyszerűen lehet tovább dolgozni.