SPEAKER: Ni plibonigos la kursoj hejmpaĝo ebligante nin al provizi kutimo titolojn por ĉiu el tiuj paĝoj, tiel ke ĉiu el ili estas Ne, tute simple, CS50. Por fari tion, ni apliki kelkajn funkcioj, oni nomas Redonu Header kaj oni vokis Redonu Footer, ke anstataŭ Postuli Alone prenos prizorgi la desegnadon de nia paĝo etojn kaj footers. Ni rigardu. Interne de index.php nun, rimarki ke Mi postulas novan dosieron nomitan Helpers.php. Ĝi estas en tie, ke miaj du funkcioj estos difinita. Sub tiu, rimarki, ke mi nun vokas ke funkcio Redonu Header. Kaj mi pasas en argumento. La tipo de tiu argumento ŝajnas esti tabelo, kiu en PHP estas signifita kun kvadrataj krampoj. Specife, tiu tabelo estas asocieca tabelo la mezuro asocias ŝlosilon, kiel titolo, kun valoron, kiel CS50, anstataŭ ol dependi sur nombraj indeksoj sola. Malsupre, ke nun ni havas mia neordigitaj listo. Sed sub tiu, ni havas alvokon al Redonu Footer, la alia funkcio tio estas supozeble difinita en Helpers.php. Ni rigardu tie nun. En Helpers.php, rimarkas ke mi havas, efektive, tiu funkcio Redonu Footer kies celo en la vivo estas ŝajne al preni en kiel ĝia argumento tabelo vokis Datumoj. Nun, se la uzanto ne provizi eksplicita tabelo, la fakto ke ekzistas egala signo sekvata de malplena kvadrato krampoj signifas ke la defaŭlta valoro de datumoj estos simple esti malplena tabelo. Interne de Redonu Footer, rimarki, ke mi estas nomante funkcio nomita Ekstrakto. Ekstrakto prenas asocieca tabelo, kiel Datumoj en tiu kazo, kaj por ajna ŝlosilo en ĝin, ĝi rezultas ke ŝlosilaj enen loka variablo de la sama nomo. Do se tiu asocieca tabelo havis ŝlosilon vokis Foo, ekstrakto certigus ke ni nun havas lokan variablon nomitan dolaro signo Foo, kies valoro estas la sama, kiel estis en tiu asocieca tabelo. Laste, mi vokas Postuli Footer.php, kiu kiel flanken, aspektas tute simple ŝatas tion. Nun, reen en Helpers.php, rimarki ke ankaux ni Redonu Header, kies argumento estas la sama, tabelo vokis Datumoj kies defaŭlta valoro estas malplena tabelo. Ni tiam nomita Ekstrakto denove, kiel antaŭe. Kaj tiam ni postuli Header.php, kies enhavo estas nun ĉi. Interne de Header.php, rimarki, ke ni ne plu havas malmolan coded titolo. Kaj ni nun havas H1 tag, kiel bone. En aparta, la valoro de la titolo tuj estos ajn la valoro de la lokan variablon nomitan Titolo estas. Post pasi ĝin al PHP-a funkcio nomata HTML Specialaj signaĵoj, ni iras akiri, ke reveno valoron, kaj poste ŝtopi ĝin en la HTML-Mi outputting per maniero de tiu funkcio, vokis Eĥon. Vere, tiu estas stenografio skribmaniero por funkcio nomita kiu povus alie aspektas kiel ĉi tio. Sed estas multe pli pura, simple, skribi malferma krampo demandosigno egala subskribi, eĉ sen mencii PHP. Mi nun volas fari la saman interne de ke H1 tag tiel ke finfine, se la uzanto pasas al mia Redonu Header funkcio asocieca tabelo, enen el kiuj estas ŝlosila nomata Titolo, ke asocieca tabelo la klavo iĝos lokan variablon nomitan dolaro signo Titolo. Ni poste preterpasonta dolaro signo Titolo variablo al tiu funkcio, HTML Specialaj signaĵoj. Kaj ĉiaokaze ekzistas ajna potenciale danĝera karakteroj en tie, kiel ampersands aŭ aliajn tiajn simboloj, HTML Specialaj signaĵoj faros certas, ke ili estas pruntitaj sekure sur la paĝo. Kaj uzante malferma krampo demando marki egalsigno, mi estas laŭvorte anstataŭiganta en la por parto de la paĝo nenial la reveno valoro de HTML signaĵoj estas. Dume, en Lectures.php, mi havas novan valoron por Titolo. Ne CS50, sed Prelegoj. En Week0.php, mi havas valoro de la Semajno de 0. Kaj en Week1.php, mi havas valoron de Semajno 1. Do, je la fino de la tago, mia pagxo aspektas tute same kiel ĝi faris antaŭe. Sed ni nun atingis multe, multe pli bona dezajno.