DAVID MALAN: Lad os forbedre kursets hjemmeside lidt længere ved generalisere disse funktioner, renderHeader og renderFooter, til, ganske enkelt, at gøre fordi trods alt, de var næsten identiske, bortset for deres navne. Hvordan du gør dette? Nå toppen denne fil lige nedenfor hvor vi kræver helpers.php, lad os kalde en ny funktion, gøre, hvis første argument, lad os sige, er navnet af en skabelon, en fil, der er beregnet skal sættes i der. I mellemtiden, det andet argument skal forblive et associativt array i denne Såfremt et array indeholdende en nøgle til titel, hvis værdi er her CS50. Lad os nu se på helpers.php. I helpers.php vi nu, af Selvfølgelig har kun én funktion defineret, gengive. render nu tager to argumenter, som vi vil kalde skabelonen og data, den sidstnævnte hvis default værdi stadig er et tomt array. Men i denne version af render, varsel at jeg nu erklære en lokal variabel kaldet sti og tildele den værdien af skabelon, som for eksempel kan være citat, citat slut, "header" og føjes til denne streng. php. Med andre ord, lad os antage, for nu at hvis vores skabelon kaldes header, så denne skabelon vil blive gennemført i en fil kaldet simpelthen header.php. I mellemtiden, lad os gøre en hurtig tilregnelighed check. Hvis der eksisterer den sti, som vi kan kontrolleres ved hjælp af en fil kaldet file_exists, så lad os udpakke associative array kaldet data, så vi har en eller flere lokale variable i omfang, og så lad os kræve, at vej. I mellemtiden helpers.php ser helt simpelthen lide det, præcis som før. Men hvis vi nu ser tilbage på index.php, bemærke, at i bunden af ​​denne filen, kan vi ligeledes ringe render, der passerer i dens eneste argument footer. I dette tilfælde behøver vi ikke at passere i et associativt array, fordi sidefodskabelon, husker, er netop dette. Men nu har vi nok et endnu renere design, fordi vi har fjernet nogle af vores ellers overflødig kode og konsolideres i blot én funktion, gengive.