40 |
Το «$x» που αναγράφεται παραπάνω συνήθως είναι το πρωτεύον κλειδί του πίνακα και έχει την
ονομασία «id».
Οι συναρτήσεις αναζήτησης είναι ιδιαιτέρως σημαντικές για το σύστημά μας. Μπορεί να
είναι μία ή περισσότερες. Η κάθε μία αναζητά τις εγγραφές της οντότητας με κάποια κριτήρια.
Ορισμένες φορές μπορεί τα κριτήρια να είναι ιδιαιτέρως πολύπλοκα ιδίως όταν πρόκειται για
οντότητες οι οποίες συγκεντρώνουν σχέσεις στη βάση δεδομένων με αρκετές άλλες. Στην
περίπτωση της Δ.Ε. η οντότητα ή πίνακας που συγκεντρώνει τέτοια χαρακτηριστικά είναι ο
πίνακας που έχει τις εγγραφές των θέσεων πρακτικής άσκησης.
2.2.2 Ελεγκτής (Controller)
Οι ελεγκτές ως συνήθως είναι όσα είναι και τα μοντέλα. Συσχετίζονται ακριβώς μαζί τους
και μέσα από αυτούς εκτελούμε συναρτήσεις τους. Ο ελεγκτής αποτελείται από σημαντικές
συναρτήσεις οι οποίες ονομάζονται Ενέργειες (Actions). Η κάθε συνάρτηση ξεκινά ως συνήθως
με το πρόθεμα «action» και μετά γράφουμε την ιδιότητα της. Οι συναρτήσεις αυτές είναι εξόχως
σημαντικές και αποτελούν τον «εγκέφαλο» του συστήματός μας. Μπορεί να έχουν ορίσματα ως
είσοδο, ή να μην έχουν καθόλου ορίσματα. Η κάθε συνάρτηση καλεί συναρτήσεις του μοντέλου
με σκοπό να εξάγει κάποια δεδομένα που είναι σχετικά με τη φύση της και με τα ορίσματα στην
είσοδό της. Μετά την επεξεργασία αυτών των δεδομένων δημιουργεί την έξοδο, την οποία την
εκφράζει μέσω της Εμφάνισης (View).
Έτσι στον ελεγκτή μπορούμε να δημιουργούμε κάποιο Πάροχο Δεδομένων (Data Provider)
[15] με σκοπό να εμφανίσουμε κάτι στον χρήστη. Συνήθεις συναρτήσεις είναι η «actionView» ή
οποία δημιουργεί έναν πάροχο δεδομένων για κάποια εγγραφή ή η «actionCreate» που σχετίζεται
με την δημιουργία μίας νέας εγγραφής του μοντέλου που είναι συσχετισμένος ο ελεγκτής μας.
Μέσα σε αυτή την συνάρτηση καλούμε κάποια φόρμα ώστε να λάβουμε δεδομένα από τον πελάτη,
στη συνέχεια καλούμε τις συναρτήσεις επικύρωσης των τιμών και αποθήκευσης των δεδομένων
από το μοντέλο. Έπειτα μπορούμε να εμφανίσουμε τυχών μηνύματα λάθους ή μηνύματα επιτυχούς
αποθήκευσης ανάλογα με την έξοδο της αντίστοιχης συνάρτησης του μοντέλου.