>> DAVID MALAN: La oss forbedre kursets hjemmeside litt videre ved å
generalisere disse funksjonene, renderHeader og renderFooter, inn,
ganske enkelt, gjengi fordi tross alt, de var nesten identiske med unntak
for navnene deres.
Hvordan du gjør dette?
Vel på toppen av denne filen bare, under der Vi krever helpers.php, la oss kalle en
ny funksjon, gjengi, som første argument, la oss si, skal være navnet
av en mal, en fil som er ment å være plugget i der.
I mellomtiden skal det andre argumentet forbli en assosiativ array, i dette
sak en matrise som inneholder en nøkkel for Tittelen hvis verdi er her CS50.
La oss nå se på helpers.php.
>> I helpers.php, vi nå, av Selvfølgelig har bare ett
funksjon definert, gjengi.
gjengi tar nå to argumenter, som vi kaller mal og data, det
sistnevnte som har en verdi standard er fortsatt en tom array.
Men i denne versjonen av gjengi, varsel at jeg nå erklære en lokal variabel
kalt banen og tilordne den verdien av mal, noe som, for eksempel, kan
være sitat, unquote, "header" og føye til at strengen. php.
Med andre ord, la oss anta nå at hvis vår mal kalles header,
da denne malen vil bli implementert i en fil som heter, rett og slett,
header.php.
>> I mellomtiden, la oss gjøre en rask tilregnelighet sjekk.
Om at banen eksisterer, som vi kan Sjekk ved hjelp av en fil som heter
file_exists, så la oss trekke ut assosiativ array kalt data slik at
vi har en eller flere lokale variabler i omfang, og så la oss
kreve at banen.
I mellomtiden ser helpers.php ganske rett og slett liker dette, akkurat som før.
>> Men hvis vi nå ser tilbake på index.php, Legg merke til at i bunnen av det
fil, kan vi likeledes ringe gjengi, passerer som sin
eneste argumentet bunntekst.
I dette tilfellet, trenger vi ikke å passere i en assosiativ array fordi
bunntekstmal, tilbakekalling, er nettopp dette.
Men nå har vi kanskje en enda renere design fordi vi har
eliminert noen av våre ellers overflødig kode og konsolidert inn
bare én funksjon, gjengi.