Mallit MVC:ssä PHP:ssä

Käsitellään nyt malleja. Mallit ovat myös, kuten ohjaimet, OOP-luokkia. Ne tulee sijoittaa kansioon /project/models/. Tehdään tähän kansioon tiedostoon Page.php malli Page vastaa sivustomme sivujen tiedoista:

/project/models/Page.php<?php
  namespace Project\Models;
  use \Core\Model;
  
  class Page extends Model
  {
    
  }
?>

Kuten näet, mallimme perii luokasta \Core\Model. Tästä luokasta mallimme perii suojatut metodit findOne ja findMany. Metodi findOne parametrina ottaa SQL-kyselyn ja palauttaa ensimmäisen tietueen tietokannasta, joka osuu kyselyn tuloksiin. Metodi findMany myös ottaa SQL-kyselyn, mutta palauttaa taulukon tietueista.

Samalla sinun ei tarvitse kirjoittaa koodia, joka muodostaa yhteyden tietokantaan, eikä käsitellä kyselyn tuloksia mysqli_fetch_assoc:n kautta. Framework hoitaa tämän puolestasi. Sinun tarvitsee vain valita, odatatko kyselyltä yhtä tietuetta tietokannasta vai useita ja käyttää vastaavaa toimintoa, saaden tulokseksi järkevän taulukon, jota voi yksinkertaisesti ottaa ja käyttää edelleen.