SPEAKER: La oss forbedre kursene hjemmeside ved å tillate oss å gi tilpassede titler for hver av de sider, slik at hver av dem er ikke, rett og slett, CS50. For å gjøre dette, la oss gjennomføre et par funksjoner, en som heter Render Header og en som heter Render bunntekst, som i stedet for Krev Alene vil ta vare på gjengivelsen av vår sidens topp-og bunntekster. La oss ta en titt. Innsiden av index.php nå, merker at Jeg krever en ny fil som heter Helpers.php. Det er i det som mine to funksjoner vil bli definert. Under det, merker at jeg nå kaller at funksjon Render Header. Og jeg har bestått i en krangel. Den type som argumentet synes å være en matrise, som i PHP betegnes med hakeparenteser. Spesielt er dette en matrise assosiativ array i den utstrekning det knytter en nøkkel, som tittelen, med en verdi, som CS50, heller enn å stole på tall indekser alene. Nedenfor at nå har vi min sorterte liste. Men under det, har vi et kall til å gjengi Bunn, den andre funksjonen det er antagelig definert i Helpers.php. La oss ta en titt der nå. I Helpers.php, merker at jeg har, faktisk, at funksjonen Render bunntekst hvis formål i livet er tilsynelatende å ta i så det argumentet en matrise kalt Data. Nå, hvis brukeren ikke gir en eksplisitt array, det faktum at det er et likhetstegn etterfulgt av tomt kvadrat parentes betyr at standardverdien av data vil bare være en tom array. Innsiden av Render bunntekst, merker at jeg er å kalle en funksjon som heter Extract. Ekstrakt tar en assosiativ array, som Dataene i dette tilfellet, og for en hvilken som helst nøkkel i det, viser det at nøkkelen til en lokal variabel med samme navn. Så hvis det assosiative array hadde en nøkkel kalt Foo, ville ekstrakt sikre at vi nå har en lokal variabel kalt dollartegn Foo, der verdien er den samme som den var i det assosiativ array. Til slutt, jeg kaller Krev footer.php, som som en side, ser ganske enkelt liker dette. Nå, tilbake i Helpers.php, legge merke til at vi også har Render Header, som argumentet er det samme, en matrise kalles Data som standard Verdien er en tom matrise. Vi deretter ringe Extract igjen, som før. Og da vi Krev header.php, der innholdet er nå dette. Innsiden av header.php, legge merke til at vi ikke lenger ha en hard kodet tittel. Og vi har nå en H1 tag, så vel. Spesielt er verdien av tittel kommer til å være uavhengig av verdien av den lokale variabelen kalt Tittel er. Etter å ha passert den til en PHP-funksjon kalles HTML spesialtegn, vi skal for å oppnå at returverdi, og deretter plugge den inn i HTML Jeg sender ut av en form av denne funksjon, kalt Echo. Virkelig, dette er kortform for et funksjonskall som ellers se slik ut. Men det er mye renere, rett og slett, å skrive åpen brakett spørsmålstegn lik signere, uten engang å nevne PHP. Jeg er nå kommer til å gjøre det samme på innsiden av at H1 tag slik at til syvende og sist, hvis brukeren går til min Render Header funksjon en assosiativ array, inne som er en nøkkel kalles tittel, at assosiativ array nøkkelen vil bli en lokal variabel kalt dollartegn Tittel. Vi vil da skje at dollartegn Tittel variabel til denne funksjonen, HTML Spesialtegn. Og bare i tilfelle det er noen potensielt farlig tegn i der, som-tegn eller andre slike symboler, vil HTML spesialtegn gjøre sikker på at de er gjengitt trygt på siden. Og ved å bruke åpen brakett spørsmål markere likhetstegn, jeg er bokstavelig talt erstatte inn på den del av side uansett returverdi av HTML Tegn er. I mellomtiden, i Lectures.php, jeg har en ny verdi for tittel. Ikke CS50, men Forelesninger. I Week0.php, har jeg en verdi av uke 0. Og i Week1.php, har jeg en verdi på 1 uke. Så ved slutten av dagen, siden min ser ganske ut som det gjorde før. Men vi har nå fått en mye, mye bedre design.