Praktisk hantering av modeller i MVC i PHP

Anta att du har en tabell page i din databas med några poster. Låt oss skapa en modell Page med två metoder. Den första metoden kommer att hämta en post efter dess id, och den andra metoden kommer att hämta en array med poster från ett id-intervall:

/project/models/Page.php<?php
  namespace Project\Models;
  use \Core\Model;
  
  class Page extends Model
  {
    public function getById($id)
    {
      return $this->findOne("SELECT * FROM page WHERE id=$id");
    }
    
    public function getByRange($from, $to)
    {
      return $this->findMany("SELECT * FROM page WHERE id>=$from AND id<=$to");
    }
  }
?>

Låt oss nu arbeta med vår modell i kontrollern:

project/controllers/PageController.php<?php
  namespace Project\Controllers;
  use \Core\Controller;
  use \Project\Models\Page; // ansluter vår modell
  
  class PageController extends Controller
  {
    public function test() {
      $page = new Page; // skapar ett modellobjekt
    
      $data = $page->getById(3); // hämtar post med id=3
      var_dump($data);
      
      $data = $page->getById(5); // hämtar post med id=5
      var_dump($data);
      
      $data = $page->getByRange(2, 5); // poster med id från 2 till 5
      var_dump($data);
    }
  }
?>
Задание 1

Skapa tabellen page i din databas, fyll den med data. Testa koden som beskrivs i teorin.