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.