SPEAKER: Cerchiamo di migliorare i corsi homepage permettendo a noi stessi di fornire titoli personalizzati per ciascuno di questi pagine, in modo che ciascuno di essi è non, semplicemente, CS50. Per fare questo, cerchiamo di implementare un paio di funzioni, uno chiamato Render Header e uno chiamato Render piè di pagina, che invece di Richiedono solo avrà cura del rendering della nostra intestazioni e piè di pagina della pagina. Diamo uno sguardo. All'interno di index.php ora, si noti che Sto richiedendo un nuovo file chiamato Helpers.php. E 'lì che i miei due funzioni saranno definiti. Sotto questo, noto che ora sto chiamando tale funzione Render intestazione. E sto passando un argomento. Il tipo di tale argomento sembra essere una matrice, che è indicata in PHP con parentesi quadre. In particolare, questa matrice è un array associativo in quanto associa una chiave, come titolo, con valore, come il CS50, anziché affidarsi su indici numerici da solo. Qui di seguito che ora abbiamo la mia lista non ordinata. Ma sotto, abbiamo una chiamata al rendering Piè di pagina, l'altra funzione che è presumibilmente definita in Helpers.php. Diamo uno sguardo adesso. In Helpers.php, notare che ho, infatti, che la funzione Render Footer il cui scopo nella vita è apparentemente prendere come argomento un array chiamato Data. Ora, se l'utente non fornisce un matrice esplicita, il fatto che non c'è un segno di uguale seguito da piazza vuota parentesi significa che il valore predefinito dei dati sarà semplicemente un array vuoto. All'interno di Render piè di pagina, accorgo che sto chiamare una funzione chiamata Extract. Estratto prende un array associativo, come I dati in questo caso, e per qualsiasi chiave in esso, che si trasforma in una chiave variabile locale con lo stesso nome. Quindi, se questo array associativo aveva una chiave chiamato Foo, estratto dovrebbe garantire che ora abbiamo una variabile locale denominata segno di dollaro Foo, il cui valore è il stesso che è stato fatto che array associativo. Infine, mi chiamo Richiedi footer.php, che per inciso, sembra semplicemente come questo. Ora, tornando in Helpers.php, notare che abbiamo anche Render intestazione, la cui argomento è lo stesso, un array chiamato Data la cui impostazione predefinita valore è un array vuoto. Abbiamo poi chiamare di nuovo estratto, come prima. E poi abbiamo bisogno header.php, i cui contenuti sono ora questo. All'interno di header.php, notare che non hanno più un titolo codificato duro. Ed ora abbiamo un tag H1, pure. In particolare, il valore del titolo sta per essere qualunque sia il valore di la variabile locale denominata Title è. Dopo il passaggio ad una funzione PHP chiamato HTML Special Chars, stiamo andando Per determinare tale valore di ritorno, e poi collegarlo al codice HTML che sto output da un modo di questa funzione, chiamato Echo. Davvero, questo è notazione abbreviata per una chiamata di funzione che potrebbero altrimenti simile a questa. Ma è molto più pulito, semplicemente, di scrivere parentesi aperta punto interrogativo pari segno, senza neppure menzionare PHP. Ora sto andando a fare lo stesso all'interno di che tag H1 in modo che alla fine, se la utente passa alla mia funzione Render Header un array associativo, all'interno dei quali è una chiave denominata titolo, che la chiave di array associativo diventerà una variabile locale chiamata simbolo del dollaro titolo. Ci sarà poi passare che il segno del dollaro Titolo variabile a questa funzione, HTML Caratteri speciali. E solo nel caso ci sia qualche potenzialmente personaggi pericolosi in lì, come e commerciali, o altre simboli, HTML Special Chars farà Assicurarsi che stanno resi sicurezza sulla pagina. E utilizzando Domanda aperta staffa segnare segno di uguale, io sono letteralmente sostituendo a quella parte del Pagina qualunque sia il valore di ritorno di HTML Chars è. Nel frattempo, in Lectures.php, I avere un nuovo valore per il titolo. Non CS50, ma Lectures. In Week0.php, ho un valore di settimana 0. E in Week1.php, ho un valore di 1 settimana. Così, alla fine della giornata, mia pagina sembra abbastanza come ha fatto prima. Ma ora abbiamo ottenuto un molto, molto meglio del design.