Praktyka pracy z modelami w MVC w PHP
Załóżmy, że w Twojej bazie danych znajduje się tabela page
z jakimiś wpisami. Stwórzmy model
Page z dwiema metodami. Pierwsza
metoda będzie pobierać jeden wpis po jego id,
a druga metoda - pobierać tablicę wpisów
z zakresu id:
<?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");
}
}
?>
Pracujmy teraz z naszym modelem w kontrolerze:
<?php
namespace Project\Controllers;
use \Core\Controller;
use \Project\Models\Page; // podłączamy nasz model
class PageController extends Controller
{
public function test() {
$page = new Page; // tworzymy obiekt modelu
$data = $page->getById(3); // pobierzemy wpis z id=3
var_dump($data);
$data = $page->getById(5); // pobierzemy wpis z id=5
var_dump($data);
$data = $page->getByRange(2, 5); // wpisy z id od 2 do 5
var_dump($data);
}
}
?>
Stwórz w swojej bazie danych tabelę page,
wypełnij ją danymi. Sprawdź działanie kodu,
opisanego w teorii.