1 00:00:00,000 --> 00:00:02,420 >> DAVID MALAN: La oss forbedre kursets hjemmeside litt videre ved å 2 00:00:02,420 --> 00:00:06,180 generalisere disse funksjonene, renderHeader og renderFooter, inn, 3 00:00:06,180 --> 00:00:10,510 ganske enkelt, gjengi fordi tross alt, de var nesten identiske med unntak 4 00:00:10,510 --> 00:00:11,460 for navnene deres. 5 00:00:11,460 --> 00:00:12,290 Hvordan du gjør dette? 6 00:00:12,290 --> 00:00:17,140 Vel på toppen av denne filen bare, under der Vi krever helpers.php, la oss kalle en 7 00:00:17,140 --> 00:00:20,610 ny funksjon, gjengi, som første argument, la oss si, skal være navnet 8 00:00:20,610 --> 00:00:23,850 av en mal, en fil som er ment å være plugget i der. 9 00:00:23,850 --> 00:00:27,690 I mellomtiden skal det andre argumentet forbli en assosiativ array, i dette 10 00:00:27,690 --> 00:00:32,659 sak en matrise som inneholder en nøkkel for Tittelen hvis verdi er her CS50. 11 00:00:32,659 --> 00:00:35,240 La oss nå se på helpers.php. 12 00:00:35,240 --> 00:00:37,900 >> I helpers.php, vi nå, av Selvfølgelig har bare ett 13 00:00:37,900 --> 00:00:39,570 funksjon definert, gjengi. 14 00:00:39,570 --> 00:00:43,090 gjengi tar nå to argumenter, som vi kaller mal og data, det 15 00:00:43,090 --> 00:00:46,310 sistnevnte som har en verdi standard er fortsatt en tom array. 16 00:00:46,310 --> 00:00:50,180 Men i denne versjonen av gjengi, varsel at jeg nå erklære en lokal variabel 17 00:00:50,180 --> 00:00:54,540 kalt banen og tilordne den verdien av mal, noe som, for eksempel, kan 18 00:00:54,540 --> 00:00:59,680 være sitat, unquote, "header" og føye til at strengen. php. 19 00:00:59,680 --> 00:01:03,830 Med andre ord, la oss anta nå at hvis vår mal kalles header, 20 00:01:03,830 --> 00:01:07,120 da denne malen vil bli implementert i en fil som heter, rett og slett, 21 00:01:07,120 --> 00:01:09,170 header.php. 22 00:01:09,170 --> 00:01:11,140 >> I mellomtiden, la oss gjøre en rask tilregnelighet sjekk. 23 00:01:11,140 --> 00:01:14,920 Om at banen eksisterer, som vi kan Sjekk ved hjelp av en fil som heter 24 00:01:14,920 --> 00:01:19,850 file_exists, så la oss trekke ut assosiativ array kalt data slik at 25 00:01:19,850 --> 00:01:22,940 vi har en eller flere lokale variabler i omfang, og så la oss 26 00:01:22,940 --> 00:01:24,850 kreve at banen. 27 00:01:24,850 --> 00:01:30,040 I mellomtiden ser helpers.php ganske rett og slett liker dette, akkurat som før. 28 00:01:30,040 --> 00:01:34,510 >> Men hvis vi nå ser tilbake på index.php, Legg merke til at i bunnen av det 29 00:01:34,510 --> 00:01:37,570 fil, kan vi likeledes ringe gjengi, passerer som sin 30 00:01:37,570 --> 00:01:39,060 eneste argumentet bunntekst. 31 00:01:39,060 --> 00:01:42,190 I dette tilfellet, trenger vi ikke å passere i en assosiativ array fordi 32 00:01:42,190 --> 00:01:44,540 bunntekstmal, tilbakekalling, er nettopp dette. 33 00:01:44,540 --> 00:01:47,650 Men nå har vi kanskje en enda renere design fordi vi har 34 00:01:47,650 --> 00:01:51,360 eliminert noen av våre ellers overflødig kode og konsolidert inn 35 00:01:51,360 --> 00:01:52,820 bare én funksjon, gjengi. 36 00:01:52,820 --> 00:01:54,304