1 00:00:00,000 --> 00:00:02,420 >> DAVID MALAN: Cerchiamo di migliorare del corso homepage un po 'più da 2 00:00:02,420 --> 00:00:06,180 generalizzando tali funzioni, RenderHeader e RenderFooter, in, 3 00:00:06,180 --> 00:00:10,510 molto semplicemente, render perché dopo tutto, erano quasi identici tranne 4 00:00:10,510 --> 00:00:11,460 i loro nomi. 5 00:00:11,460 --> 00:00:12,290 Come fare questo? 6 00:00:12,290 --> 00:00:17,140 Beh, in cima a questo file solo, sotto dove abbiamo bisogno helpers.php, chiamiamolo un 7 00:00:17,140 --> 00:00:20,610 nuova funzione, render, la cui prima l'argomento, diciamo, è il nome 8 00:00:20,610 --> 00:00:23,850 di un modello, un file che è destinata essere collegato in là. 9 00:00:23,850 --> 00:00:27,690 Nel frattempo, il secondo argomento deve rimanere un array associativo, in questo 10 00:00:27,690 --> 00:00:32,659 maiuscole e un array contenente una chiave per titolo il cui valore è qui CS50. 11 00:00:32,659 --> 00:00:35,240 Diamo ora un'occhiata a helpers.php. 12 00:00:35,240 --> 00:00:37,900 >> In helpers.php, ora, di Naturalmente, hanno un solo 13 00:00:37,900 --> 00:00:39,570 funzione definita, rendering. 14 00:00:39,570 --> 00:00:43,090 rendering prende ora due argomenti, che chiameremo modello e dati, il 15 00:00:43,090 --> 00:00:46,310 quest'ultimo di cui valore predefinito è ancora una matrice vuota. 16 00:00:46,310 --> 00:00:50,180 Ma in questa versione di rendering, avviso che ora mi dichiaro una variabile locale 17 00:00:50,180 --> 00:00:54,540 chiamato percorso e assegnare il valore di template, che, per esempio, potrebbe 18 00:00:54,540 --> 00:00:59,680 essere citazione, unquote, "intestazione" e aggiungere a quella stringa. php. 19 00:00:59,680 --> 00:01:03,830 In altre parole, supponiamo per ora che se il nostro modello si chiama intestazione, 20 00:01:03,830 --> 00:01:07,120 allora tale modello sarà attuato in un file chiamato, molto semplicemente, 21 00:01:07,120 --> 00:01:09,170 header.php. 22 00:01:09,170 --> 00:01:11,140 >> Nel frattempo, facciamo un controllo di integrità rapido. 23 00:01:11,140 --> 00:01:14,920 Se questo percorso esiste, che possiamo controllare per mezzo di un file chiamato 24 00:01:14,920 --> 00:01:19,850 file_exists, poi cerchiamo di estrarre l' array associativo chiamato dati in modo che 25 00:01:19,850 --> 00:01:22,940 abbiamo una o più variabili locali portata, e poi lasciare di 26 00:01:22,940 --> 00:01:24,850 esigere che il percorso. 27 00:01:24,850 --> 00:01:30,040 Nel frattempo, helpers.php sembra abbastanza semplicemente simile, esattamente come prima. 28 00:01:30,040 --> 00:01:34,510 >> Ma se ora guardiamo indietro a index.php, notare che nella parte inferiore di tale 29 00:01:34,510 --> 00:01:37,570 file, possiamo analogicamente chiamare rendering, passando come suo 30 00:01:37,570 --> 00:01:39,060 Suola footer argomento. 31 00:01:39,060 --> 00:01:42,190 In questo caso, non abbiamo bisogno di passare in un array associativo in quanto la 32 00:01:42,190 --> 00:01:44,540 modello piè di pagina, richiamo, è proprio questo. 33 00:01:44,540 --> 00:01:47,650 Ma ora abbiamo probabilmente ancor design più pulito perché abbiamo 34 00:01:47,650 --> 00:01:51,360 eliminato le nostre diversamente codice ridondante e consolidate in 35 00:01:51,360 --> 00:01:52,820 solo una funzione, render. 36 00:01:52,820 --> 00:01:54,304