Practică de lucru cu modele în MVC în PHP
Să presupunem că în baza dvs. de date există un tabel page
cu unele înregistrări. Să creăm un model
Page cu două metode. Prima
metodă va obține o singură înregistrare după id-ul ei,
iar a doua metodă va obține un tablou de înregistrări
din intervalul de id-uri:
<?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");
}
}
?>
Acum să lucrăm cu modelul nostru în controller:
<?php
namespace Project\Controllers;
use \Core\Controller;
use \Project\Models\Page; // conectăm modelul nostru
class PageController extends Controller
{
public function test() {
$page = new Page; // creăm obiectul modelului
$data = $page->getById(3); // obținem înregistrarea cu id=3
var_dump($data);
$data = $page->getById(5); // obținem înregistrarea cu id=5
var_dump($data);
$data = $page->getByRange(2, 5); // înregistrări cu id de la 2 la 5
var_dump($data);
}
}
?>
Creați în baza dvs. de date tabelul page,
completați-l cu date. Verificați funcționarea codului
descris în teorie.