>> 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.