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.