Modele w MVC w PHP

Przejdźmy teraz do modeli. Modele także, tak jak kontrolery, reprezentują klasy OOP. Należy je umieszczać w folderze /project/models/. Stwórzmy w tym folderze w pliku Page.php model Page odpowiadający za dane stron naszej witryny:

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

Jak widzicie, nasz model dziedziczy po klasie \Core\Model. Od tej klasy nasz model dziedziczy chronione metody findOne i findMany. Metoda findOne parametrem przyjmuje zapytanie SQL i zwraca pierwszy rekord z bazy danych, który trafił w wyniku zapytania. Metoda findMany również przyjmuje zapytanie SQL, ale zwraca tablicę rekordów.

Przy tym nie musicie pisać kodu, ustanawiającego połączenie z bazą danych, ani przetwarzać wyników zapytania przez mysqli_fetch_assoc. Framework robi to za was. Po prostu musicie wybrać, czy spodziewacie się po zapytaniu jednego rekordu z bazy danych, czy wielu i użyć odpowiedniej funkcji, otrzymując w wyniku sensowną tablicę, którą można po prostu wziąć i użyć dalej.