1 00:00:00,000 --> 00:00:00,170 2 00:00:00,170 --> 00:00:03,090 >> SPEAKER: Cerchiamo di migliorare i corsi homepage permettendo a noi stessi di 3 00:00:03,090 --> 00:00:06,610 fornire titoli personalizzati per ciascuno di questi pagine, in modo che ciascuno di essi è 4 00:00:06,610 --> 00:00:08,780 non, semplicemente, CS50. 5 00:00:08,780 --> 00:00:12,550 Per fare questo, cerchiamo di implementare un paio di funzioni, uno chiamato Render Header 6 00:00:12,550 --> 00:00:16,410 e uno chiamato Render piè di pagina, che invece di Richiedono solo avrà 7 00:00:16,410 --> 00:00:19,330 cura del rendering della nostra intestazioni e piè di pagina della pagina. 8 00:00:19,330 --> 00:00:20,280 Diamo uno sguardo. 9 00:00:20,280 --> 00:00:24,490 >> All'interno di index.php ora, si noti che Sto richiedendo un nuovo file chiamato 10 00:00:24,490 --> 00:00:26,070 Helpers.php. 11 00:00:26,070 --> 00:00:28,910 E 'lì che i miei due funzioni saranno definiti. 12 00:00:28,910 --> 00:00:32,960 Sotto questo, noto che ora sto chiamando tale funzione Render intestazione. 13 00:00:32,960 --> 00:00:34,830 E sto passando un argomento. 14 00:00:34,830 --> 00:00:39,040 >> Il tipo di tale argomento sembra essere una matrice, che è indicata in PHP 15 00:00:39,040 --> 00:00:40,370 con parentesi quadre. 16 00:00:40,370 --> 00:00:44,210 In particolare, questa matrice è un array associativo in quanto 17 00:00:44,210 --> 00:00:49,620 associa una chiave, come titolo, con valore, come il CS50, anziché affidarsi 18 00:00:49,620 --> 00:00:51,570 su indici numerici da solo. 19 00:00:51,570 --> 00:00:53,820 Qui di seguito che ora abbiamo la mia lista non ordinata. 20 00:00:53,820 --> 00:00:57,180 Ma sotto, abbiamo una chiamata al rendering Piè di pagina, l'altra funzione 21 00:00:57,180 --> 00:00:59,980 che è presumibilmente definita in Helpers.php. 22 00:00:59,980 --> 00:01:01,500 >> Diamo uno sguardo adesso. 23 00:01:01,500 --> 00:01:06,760 In Helpers.php, notare che ho, infatti, che la funzione Render Footer 24 00:01:06,760 --> 00:01:11,100 il cui scopo nella vita è apparentemente prendere come argomento un array 25 00:01:11,100 --> 00:01:12,130 chiamato Data. 26 00:01:12,130 --> 00:01:15,870 Ora, se l'utente non fornisce un matrice esplicita, il fatto che non c'è 27 00:01:15,870 --> 00:01:20,610 un segno di uguale seguito da piazza vuota parentesi significa che il valore predefinito 28 00:01:20,610 --> 00:01:23,410 dei dati sarà semplicemente un array vuoto. 29 00:01:23,410 --> 00:01:27,670 >> All'interno di Render piè di pagina, accorgo che sto chiamare una funzione chiamata Extract. 30 00:01:27,670 --> 00:01:32,170 Estratto prende un array associativo, come I dati in questo caso, e per qualsiasi 31 00:01:32,170 --> 00:01:37,060 chiave in esso, che si trasforma in una chiave variabile locale con lo stesso nome. 32 00:01:37,060 --> 00:01:41,640 Quindi, se questo array associativo aveva una chiave chiamato Foo, estratto dovrebbe garantire che 33 00:01:41,640 --> 00:01:45,680 ora abbiamo una variabile locale denominata segno di dollaro Foo, il cui valore è il 34 00:01:45,680 --> 00:01:48,140 stesso che è stato fatto che array associativo. 35 00:01:48,140 --> 00:01:52,890 >> Infine, mi chiamo Richiedi footer.php, che per inciso, sembra 36 00:01:52,890 --> 00:01:54,900 semplicemente come questo. 37 00:01:54,900 --> 00:01:59,390 Ora, tornando in Helpers.php, notare che abbiamo anche Render intestazione, la cui 38 00:01:59,390 --> 00:02:02,610 argomento è lo stesso, un array chiamato Data la cui impostazione predefinita 39 00:02:02,610 --> 00:02:04,380 valore è un array vuoto. 40 00:02:04,380 --> 00:02:07,060 Abbiamo poi chiamare di nuovo estratto, come prima. 41 00:02:07,060 --> 00:02:12,130 E poi abbiamo bisogno header.php, i cui contenuti sono ora questo. 42 00:02:12,130 --> 00:02:16,980 >> All'interno di header.php, notare che non hanno più un titolo codificato duro. 43 00:02:16,980 --> 00:02:19,720 Ed ora abbiamo un tag H1, pure. 44 00:02:19,720 --> 00:02:24,030 In particolare, il valore del titolo sta per essere qualunque sia il valore di 45 00:02:24,030 --> 00:02:26,750 la variabile locale denominata Title è. 46 00:02:26,750 --> 00:02:31,800 Dopo il passaggio ad una funzione PHP chiamato HTML Special Chars, stiamo andando 47 00:02:31,800 --> 00:02:36,560 Per determinare tale valore di ritorno, e poi collegarlo al codice HTML che sto output 48 00:02:36,560 --> 00:02:39,430 da un modo di questa funzione, chiamato Echo. 49 00:02:39,430 --> 00:02:43,580 >> Davvero, questo è notazione abbreviata per una chiamata di funzione che potrebbero altrimenti 50 00:02:43,580 --> 00:02:44,780 simile a questa. 51 00:02:44,780 --> 00:02:49,010 Ma è molto più pulito, semplicemente, di scrivere parentesi aperta punto interrogativo pari 52 00:02:49,010 --> 00:02:51,400 segno, senza neppure menzionare PHP. 53 00:02:51,400 --> 00:02:56,260 Ora sto andando a fare lo stesso all'interno di che tag H1 in modo che alla fine, se la 54 00:02:56,260 --> 00:03:00,520 utente passa alla mia funzione Render Header un array associativo, all'interno 55 00:03:00,520 --> 00:03:05,310 dei quali è una chiave denominata titolo, che la chiave di array associativo diventerà una 56 00:03:05,310 --> 00:03:07,870 variabile locale chiamata simbolo del dollaro titolo. 57 00:03:07,870 --> 00:03:12,130 >> Ci sarà poi passare che il segno del dollaro Titolo variabile a questa funzione, HTML 58 00:03:12,130 --> 00:03:13,240 Caratteri speciali. 59 00:03:13,240 --> 00:03:16,500 E solo nel caso ci sia qualche potenzialmente personaggi pericolosi in 60 00:03:16,500 --> 00:03:20,500 lì, come e commerciali, o altre simboli, HTML Special Chars farà 61 00:03:20,500 --> 00:03:23,140 Assicurarsi che stanno resi sicurezza sulla pagina. 62 00:03:23,140 --> 00:03:26,420 E utilizzando Domanda aperta staffa segnare segno di uguale, io sono letteralmente 63 00:03:26,420 --> 00:03:30,080 sostituendo a quella parte del Pagina qualunque sia il valore di ritorno 64 00:03:30,080 --> 00:03:32,050 di HTML Chars è. 65 00:03:32,050 --> 00:03:36,450 >> Nel frattempo, in Lectures.php, I avere un nuovo valore per il titolo. 66 00:03:36,450 --> 00:03:38,330 Non CS50, ma Lectures. 67 00:03:38,330 --> 00:03:41,590 In Week0.php, ho un valore di settimana 0. 68 00:03:41,590 --> 00:03:45,560 E in Week1.php, ho un valore di 1 settimana. 69 00:03:45,560 --> 00:03:48,790 Così, alla fine della giornata, mia pagina sembra abbastanza come ha fatto prima. 70 00:03:48,790 --> 00:03:52,090 Ma ora abbiamo ottenuto un molto, molto meglio del design. 71 00:03:52,090 --> 00:03:54,240