>> DAVID MALAN: Ας βελτίωση του μαθήματος αρχική λίγο περισσότερο από
γενίκευση αυτών των λειτουργιών, renderHeader και renderFooter, σε,
πολύ απλά, καθιστούν διότι μετά από όλα, ήταν σχεδόν πανομοιότυπες, με εξαίρεση
για τα ονόματά τους.
Πώς να το κάνουμε αυτό;
Καλά στην κορυφή αυτού του αρχείου ακριβώς, κάτω από την οποία χρειαζόμαστε helpers.php, ας ονομάσουμε
νέα λειτουργία, καθιστούν, των οποίων η πρώτη επιχείρημα, ας πούμε, πρέπει να είναι το όνομα
από ένα πρότυπο, ένα αρχείο που σήμαινε να συνδεθεί εκεί.
Εν τω μεταξύ, το δεύτερο επιχείρημα, πρέπει παραμένουν ένα associative array, σε αυτό το
πεζών μια συστοιχία που περιέχει ένα κλειδί για τίτλος του οποίου η αξία είναι εδώ CS50.
Ας δούμε τώρα helpers.php.
>> Σε helpers.php, τώρα, της Φυσικά, έχουν μόνο ένα
συνάρτηση που ορίζεται, render.
καθιστούν τώρα παίρνει δύο επιχειρήματα, τα οποία θα καλέσουμε το πρότυπο και τα δεδομένα, η
τελευταία του οποίου η προεπιλεγμένη τιμή εξακολουθεί να είναι ένα άδειο πίνακα.
Αλλά σε αυτή την έκδοση από τον σοβά προειδοποίηση ότι τώρα δηλώνουν μια τοπική μεταβλητή
που ονομάζεται διαδρομή και να ορίσετε την αξία του πρότυπο, το οποίο, για παράδειγμα, θα μπορούσε
είναι απόσπασμα, unquote, "κεφαλίδα" και επισυνάπτει στην εν λόγω σειρά. php.
Με άλλα λόγια, ας υποθέσουμε τώρα ότι αν μας πρότυπο ονομάζεται κεφαλίδα,
τότε αυτό το πρότυπο θα εφαρμοστεί σε ένα αρχείο που ονομάζεται, πολύ απλά,
header.php.
>> Εν τω μεταξύ, ας κάνουμε μια γρήγορο έλεγχο λογική.
Αν υπάρχει αυτό το μονοπάτι, το οποίο μπορούμε να ελέγξετε μέσω ενός αρχείου που ονομάζεται
file_exists, τότε ας το εκχύλισμα associative array ονομάζεται δεδομένα, έτσι ώστε
έχουμε μία ή περισσότερες τοπικές μεταβλητές το πεδίο εφαρμογής, και στη συνέχεια ας
απαιτεί αυτό το μονοπάτι.
Εν τω μεταξύ, helpers.php φαίνεται αρκετά ήθελα απλά αυτό, ακριβώς όπως και πριν.
>> Αλλά εάν κοιτάξουμε τώρα πίσω στο index.php, παρατηρήσετε ότι στο κάτω μέρος του εν λόγω
αρχείο, μπορούμε ομοίως καλέσετε καθιστούν, περνώντας ως της
μοναδικός footer επιχείρημα.
Σε αυτή την περίπτωση, δεν χρειάζεται να περάσει ένα associative array, διότι η
πρότυπο footer, ανάκληση, είναι ακριβώς αυτό.
Αλλά τώρα έχουμε αναμφισβήτητα ένα ακόμη καθαρότερο σχεδιασμό, διότι έχουμε
εξαλειφθούν μερικά από τα άλλα μας περιττό κώδικα και ενοποιούνται σε
μόνο μία λειτουργία, καθιστούν.