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:
<?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:
<?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);
}
}
?>
Skapa tabellen page i din databas,
fyll den med data. Testa koden
som beskrivs i teorin.