Модели в MVC в PHP
Давайте теперь разберемся с моделями. Модели
также, как и контроллеры, представляют собой
ООП классы. Их следует размещать в папке
/project/models/. Давайте в этой папке
в файле Page.php сделаем модель Page
отвечающую за данные страниц нашего сайта:
<?php
namespace Project\Models;
use \Core\Model;
class Page extends Model
{
}
?>
Как вы видите, наша модель наследует от класса
\Core\Model. От этого класса наша
модель наследует защищенные методы findOne
и findMany. Метод findOne параметром
принимает SQL запрос и возвращает первую
запись из БД, попавшую в результат запроса.
Метод findMany также принимает SQL
запрос, но возвращает массив записей.
При этом вам не нужно писать код, устанавливающий
соединение с БД, а также обрабатывать результаты
запроса через mysqli_fetch_assoc.
Фреймворк делает это за вас. Вам просто нужно
выбрать, ожидаете ли вы от запроса одну запись
из БД или несколько и использовать соответствующую
функцию, получив результатом вменяемый массив,
которым можно просто взять и воспользоваться
дальше.