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