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:

/project/models/Page.php<?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.