DAVID Malan: Idemo poboljšati Naravno-a naslovnicu malo dalje generaliziranja tih funkcija, renderHeader i renderFooter, u, vrlo jednostavno, uzvratiti, jer nakon svega, oni su gotovo identični, osim za njihova imena. Kako to učiniti? Pa na vrhu ove datoteke jednostavno, ispod mjesta gdje zahtijevamo helpers.php, nazovimo Nova funkcija, uzvratiti, čiji je prvi argument, recimo, mora biti ime predloška, ​​datoteke koje je trebao biti priključen postoji. U međuvremenu, drugi argument mora ostat će asocijativni niz, u ovom mala niz koji sadrži ključ za Naslov čija vrijednost je ovdje CS50. Idemo sada pogledati helpers.php. U helpers.php, mi sada, od Naravno, ima samo jedan funkcija definirana, uzvratiti. donijeti traje sada dva argumenta, koji ćemo nazvati predložak i podataka, Potonji čiji zadane vrijednosti je još uvijek prazna polja. No, u ovoj verziji donijeti, otkaznim da sam sada izjavljujem lokalne varijable pod nazivom Put i dodijeliti joj vrijednost predložak, koji, na primjer, možda biti citat, završiti citat, "header" i pridodati tom niza. php. Drugim riječima, pretpostavimo za sada da, ako naš predložak zove zaglavlje, zatim predložak će se provoditi u datoteci naziva, vrlo jednostavno, header.php. U međuvremenu, idemo napraviti brzo razum ček. Ako je taj put postoji, što možemo provjeriti putem datoteka pod nazivom file_exists, onda neka je izdvojiti asocijativni niz naziva podataka, tako da se imamo jedan ili više lokalnih varijabli u okviru, a zatim Let zahtijevaju taj put. U međuvremenu, helpers.php izgleda prilično jednostavno mi se ovo, baš kao i prije. Ali, ako mi sada osvrnem na index.php, primijetiti da se na dnu koje file, mi isto tako može nazvati uzvratiti, prolaze kao svoj Jedini argument footer. U tom slučaju, ne trebamo proći u asocijativni niz, jer footer predložak, podsjetimo, samo to. No, sada imamo vjerojatno čak čišći dizajn jer smo otklonili neki naš drugi način zaštitni kod i konsolidirati u samo jedna funkcija, uzvratiti.