Modelos no MVC em PHP

Vamos agora entender os modelos. Os modelos, assim como os controladores, são classes de POO. Eles devem ser colocados na pasta /project/models/. Vamos nesta pasta, no arquivo Page.php, criar o modelo Page responsável pelos dados das páginas do nosso site:

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

Como você pode ver, nosso modelo herda da classe \Core\Model. Da nossa classe, este modelo herda os métodos protegidos findOne e findMany. O método findOne recebe como parâmetro uma consulta SQL e retorna o primeiro registro do banco de dados que corresponde ao resultado da consulta. O método findMany também recebe uma consulta SQL, mas retorna um array de registros.

Com isso, você não precisa escrever código que estabeleça conexão com o banco de dados, nem processar os resultados da consulta via mysqli_fetch_assoc. O framework faz isso por você. Você só precisa escolher se espera que a consulta retorne um registro do banco de dados ou vários e usar a função correspondente, obtendo como resultado um array compreensível, que você pode simplesmente pegar e usar em seguida.