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:
<?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.