>> 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.