>> David Malan: Kom ons verbeter die kursus se tuisblad 'n bietjie verder deur
veralgemening daardie funksies renderHeader en renderFooter, in,
eenvoudig, lewer, want na alles, hulle was byna identies, behalwe
vir hul name.
Hoe om dit te doen?
Wel bo hierdie lêer net, onder waar benodig ons helpers.php, kom ons noem 'n
nuwe funksie, lewer, wie se eerste argument, kom ons sê, moet die naam wees
van 'n sjabloon, 'n lêer wat bedoel is te word ingeprop in daar.
Intussen het die tweede argument sal bly 'n assosiatiewe skikking, in hierdie
geval word 'n verskeidenheid wat 'n sleutel vir titel waarvan die waarde is hier CS50.
Kom ons kyk nou na helpers.php.
>> In helpers.php, het ons nou van Natuurlik, het net een
funksie gedefinieer, lewer.
lewer neem nou twee argumente wat ons sal sjabloon en data, bel die
Laasgenoemde van wie standaard waarde is nog steeds 'n leë skikking.
Maar in hierdie weergawe van lewer, kennisgewing dat ek verklaar nou 'n plaaslike veranderlike
genoem pad en gee dit die waarde van sjabloon, wat, byvoorbeeld, mag
wees quote, unquote, "kop" en voeg tot die string. PHP.
Met ander woorde, kom ons veronderstel vir nou dat as ons sjabloon kop genoem word,
dan sjabloon geïmplementeer sal word in 'n lêer genaamd, heel eenvoudig,
Header.php.
>> Intussen, laat ons doen 'n vinnige gesonde verstand tjek.
As daardie pad bestaan, wat ons kan kyk deur middel van 'n lêer genaamd
file_exists, dan laat ons pak die assosiatiewe skikking met die naam data, sodat
ons het een of meer plaaslike veranderlikes in omvang, en dan laat se
vereis dat die pad.
Intussen helpers.php lyk baie eenvoudig soos hierdie, presies soos tevore.
>> Maar as ons nou terug kyk op jeug, sien dat aan die onderkant van die
lêer, kan ons insgelyks noem lewer, verby in as sy
enigste argument voet.
In hierdie geval, het ons nie nodig om te slaag in 'n assosiatiewe skikking omdat die
footer sjabloon, onthou, is net hierdie.
Maar nou het ons waarskynlik 'n selfs skoner ontwerp, want ons het
uitgeskakel sommige van ons andersins oorbodig kode en gekonsolideer in
net een funksie, lewer.