Pratique de travail avec les modèles en MVC en PHP
Supposons que votre base de données ait une table page
avec quelques enregistrements. Créons un modèle
Page avec deux méthodes. La première
méthode obtiendra un enregistrement par son id,
et la deuxième méthode - obtiendra un tableau d'enregistrements
de la plage de 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");
}
}
?>
Maintenant, travaillons avec notre modèle dans le contrôleur :
<?php
namespace Project\Controllers;
use \Core\Controller;
use \Project\Models\Page; // connectons notre modèle
class PageController extends Controller
{
public function test() {
$page = new Page; // créons un objet du modèle
$data = $page->getById(3); // obtiendrons l'enregistrement avec id=3
var_dump($data);
$data = $page->getById(5); // obtiendrons l'enregistrement avec id=5
var_dump($data);
$data = $page->getByRange(2, 5); // enregistrements avec id de 2 à 5
var_dump($data);
}
}
?>
Créez dans votre base de données la table page,
remplissez-la avec des données. Vérifiez le fonctionnement du code,
décrit dans la théorie.