offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗ppOpUFmMd 161 of 179 menu

Модели в 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. Фреймворк делает это за вас. Вам просто нужно выбрать, ожидаете ли вы от запроса одну запись из БД или несколько и использовать соответствующую функцию, получив результатом вменяемый массив, которым можно просто взять и воспользоваться дальше.