>> DAVID MALAN: Låt oss förbättra kursens hemsidan lite ytterligare genom
generalisera dessa funktioner, renderHeader och renderFooter, in i,
helt enkelt, gör för efter allt, de var nästan identiska med undantag
för deras namn.
Hur man gör detta?
Väl uppe på den här filen bara, nedanför där vi kräver helpers.php, låt oss kalla en
ny funktion, framför, vars första argument, låt oss säga, skall vara det namn
av en mall, en fil som är tänkt att pluggas in där.
Under tiden skall det andra argumentet förbli en associativ array, i detta
skift en matris som innehåller en nyckel för titel vars värde är här CS50.
Låt oss nu titta på helpers.php.
>> I helpers.php, vi nu, i Naturligtvis har bara en
funktion definierad, återge.
göra nu tar två argument, som Vi ringer mall och uppgifter,
sistnämnda vars standardvärde är fortfarande en tom array.
Men i den här versionen av återge, meddelande att jag förklarar nu en lokal variabel
kallas väg och tilldela det värdet av mall, som, till exempel, kanske
vara citat, unquote, "header" och lägga till den strängen. php.
Med andra ord, låt oss anta för nu att om vår mall kallas List,
då den mallen kommer att genomföras i en fil som heter helt enkelt,
header.php.
>> Under tiden, låt oss göra en snabb sanity check.
Om den vägen finns, som vi kan kontrollera med hjälp av en fil som kallas
file_exists, så låt oss extrahera associativ array kallas data så att
vi har en eller flera lokala variabler i omfattning, och sedan ska vi
kräver den vägen.
Samtidigt ser helpers.php ganska gillar helt enkelt detta, precis som tidigare.
>> Men om vi nu ser tillbaka på index.php, märka att vid botten av det
fil, kan vi på samma sätt ringa render, som går in som sin
enda argument sidfot.
I det här fallet behöver vi inte passera in en associativ array eftersom
sidfotsmall, minns, är just detta.
Men nu har vi utan tvekan en ännu renare design eftersom vi har
eliminerat en del av vår annars redundant kod och konsolideras i
bara en funktion, återge.