Модели в MVC в PHP

Давайте теперь разберемся с моделями. Модели также, как и контроллеры, представляют собой ООП классы. Их следует размещать в папке /project/models/. Давайте в этой папке в файле Page.php сделаем модель Page отвечающую за данные страниц нашего сайта:

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

Как вы видите, наша модель наследует от класса \Core\Model. От этого класса наша модель наследует защищенные методы findOne и findMany. Метод findOne параметром принимает SQL запрос и возвращает первую запись из БД, попавшую в результат запроса. Метод findMany также принимает SQL запрос, но возвращает массив записей.

При этом вам не нужно писать код, устанавливающий соединение с БД, а также обрабатывать результаты запроса через mysqli_fetch_assoc. Фреймворк делает это за вас. Вам просто нужно выбрать, ожидаете ли вы от запроса одну запись из БД или несколько и использовать соответствующую функцию, получив результатом вменяемый массив, которым можно просто взять и воспользоваться дальше.