Μοντέλα στο MVC σε PHP
Ας εξετάσουμε τώρα τα μοντέλα. Τα μοντέλα
επίσης, όπως και οι ελεγκτές, αντιπροσωπεύουν
κλάσεις ΟΟΠ. Θα πρέπει να τοποθετούνται στον φάκελο
/project/models/. Ας δημιουργήσουμε σε αυτόν τον φάκελο
στο αρχείο Page.php το μοντέλο Page
που είναι υπεύθυνο για τα δεδομένα των σελίδων του site μας:
<?php
namespace Project\Models;
use \Core\Model;
class Page extends Model
{
}
?>
Όπως βλέπετε, το μοντέλο μας κληρονομεί από την κλάση
\Core\Model. Από αυτή την κλάση το
μοντέλο μας κληρονομεί τις προστατευμένες μεθόδους findOne
και findMany. Η μέθοδος findOne δέχεται ως παράμετρο
ένα ερώτημα SQL και επιστρέφει την πρώτη
εγγραφή από τη βάση δεδομένων, που ταιριάζει στο αποτέλεσμα του ερωτήματος.
Η μέθοδος findMany δέχεται επίσης ένα SQL
ερώτημα, αλλά επιστρέφει έναν πίνακα εγγραφών.
Σε αυτή την περίπτωση, δεν χρειάζεται να γράψετε κώδικα που να δημιουργεί
σύνδεση με τη βάση δεδομένων, ούτε να επεξεργαστείτε τα αποτελέσματα
του ερωτήματος μέσω της mysqli_fetch_assoc.
Το framework το κάνει αυτό για εσάς. Απλά χρειάζεται
να επιλέξετε εάν αναμένετε από το ερώτημα μία μόνο εγγραφή
από τη βάση δεδομένων ή πολλές και να χρησιμοποιήσετε την αντίστοιχη
συνάρτηση, λαμβάνοντας ως αποτέλεσμα έναν εύχρηστο πίνακα,
με τον οποίο μπορείτε απλά να συνεχίσετε να εργάζεστε.