Modelių naudojimo MVC praktika PHP
Tarkime, jūsų duomenų bazėje yra lentelė page
su kokiomis nors įrašais. Sukurkime
modelį Page su dviem metodais. Pirmasis
metodas gaus vieną įrašą pagal jo id,
o antrasis metodas - gaus įrašų masyvą
iš id diapazono:
<?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");
}
}
?>
Dabar pažiūrėkime, kaip dirbti su mūsų modeliu kontroleryje:
<?php
namespace Project\Controllers;
use \Core\Controller;
use \Project\Models\Page; // prijungiame mūsų modelį
class PageController extends Controller
{
public function test() {
$page = new Page; // sukuriame modelio objektą
$data = $page->getById(3); // gausime įrašą su id=3
var_dump($data);
$data = $page->getById(5); // gausime įrašą su id=5
var_dump($data);
$data = $page->getByRange(2, 5); // įrašai su id nuo 2 iki 5
var_dump($data);
}
}
?>
Sukurkite savo duomenų bazėje lentelę page,
užpildykite ją duomenimis. Patikrinkite teorijoje aprašyto kodo veikimą.