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.