Πρακτική εργασία με μοντέλα στο MVC σε PHP
Ας υποθέσουμε ότι στη βάση δεδομένων σας υπάρχει ένας πίνακας page
με ορισμένες εγγραφές. Ας δημιουργήσουμε ένα μοντέλο
Page με δύο μεθόδους. Η πρώτη
μέθοδος θα λαμβάνει μια εγγραφή από το id της,
και η δεύτερη μέθοδος - θα λαμβάνει έναν πίνακα εγγραφών
από το εύρος 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");
}
}
?>
Ας δουλέψουμε τώρα με το μοντέλο μας στον controller:
<?php
namespace Project\Controllers;
use \Core\Controller;
use \Project\Models\Page; // συνδέουμε το μοντέλο μας
class PageController extends Controller
{
public function test() {
$page = new Page; // δημιουργούμε αντικείμενο μοντέλου
$data = $page->getById(3); // θα λάβουμε την εγγραφή με id=3
var_dump($data);
$data = $page->getById(5); // θα λάβουμε την εγγραφή με id=5
var_dump($data);
$data = $page->getByRange(2, 5); // εγγραφές με id από 2 έως 5
var_dump($data);
}
}
?>
Δημιουργήστε στη βάση δεδομένων σας τον πίνακα page,
γεμίστε τον με δεδομένα. Ελέγξτε τη λειτουργία του κώδικα,
που περιγράφηκε στη θεωρία.