DAVID Malan: Laten we het verbeteren van de cursus homepage een beetje verder door generaliserende die functies, renderHeader en renderFooter, in, heel eenvoudig, maken want na al, ze bijna identiek behalve waren voor hun namen. Hoe je dit doet? Nou net boven, onder dit bestand waar we helpers.php nodig, laten we noemen een nieuwe functie, geef terug, wiens eerste argument, laten we zeggen, zal de naam zijn van een sjabloon, een bestand dat is bedoeld om aangesloten te worden daar. Ondertussen, het tweede argument stelt blijven een associatieve array, in dit Indien een array met een sleutel voor titel waarvan de waarde is hier CS50. Laten we nu kijken naar helpers.php. In helpers.php, hebben we nu, van Natuurlijk, hebben slechts een functie gedefinieerd, renderen. renderen duurt nu twee argumenten, die we zullen sjabloon en data, bel de laatstgenoemde waarvan standaardwaarde is nog steeds een lege array. Maar in deze versie van te maken, bericht dat Ik verklaar nu een lokale variabele genoemd pad en toewijzen van de waarde van sjabloon, die bijvoorbeeld zou zijn citaat, unquote, "header" en toevoegen aan die string. php. Met andere woorden, laten we aannemen voor nu dat als onze template header wordt genoemd, dan is dat template zal worden uitgevoerd in een bestand genaamd, heel eenvoudig, header.php. Ondertussen gaan we een snel sanity check. Als dat pad bestaat, die we kunnen controleren door middel van een bestand file_exists, dan laten we halen de associatieve array met de naam gegevens, zodat we hebben een of meer lokale variabelen in omvang, en laten we dan vereisen dat pad. Ondertussen helpers.php ziet er heel gewoon dit, precies zoals voorheen. Maar als we nu terugkijken naar index.php, merken dat onderaan die bestand, kunnen we zo ook bellen maken, passeren in als zijn enige argument voettekst. In dit geval hoeven we niet in gaan een associatieve array, omdat de sjabloon voettekst, rappel, is gewoon dit. Maar nu hebben we misschien wel een nog schoner ontwerp omdat we hebben geëlimineerd sommige van onze anders redundante code en geconsolideerd tot slechts een functie te maken.