Praksis for arbeid med modeller i MVC i PHP
Anta at du har en tabell kalt page i databasen din
med noen poster. La oss lage en modell
Page med to metoder. Den første
metoden skal hente en post basert på dens id,
og den andre metoden skal hente en rekke poster
fra et id-område:
<?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");
}
}
?>
La oss nå arbeide med modellen vår i kontrolleren:
<?php
namespace Project\Controllers;
use \Core\Controller;
use \Project\Models\Page; // tilkobler modellen vår
class PageController extends Controller
{
public function test() {
$page = new Page; // oppretter et modellobjekt
$data = $page->getById(3); // henter post med id=3
var_dump($data);
$data = $page->getById(5); // henter post med id=5
var_dump($data);
$data = $page->getByRange(2, 5); // poster med id fra 2 til 5
var_dump($data);
}
}
?>
Opprett tabellen page i databasen din,
fyll den med data. Test funksjonaliteten til koden
beskrevet i teorien.