>> Speak: Låt oss förbättra kurserna hemsida genom att tillåta oss att
ge egna titlar för var och en av dem sidor, så att var och en av dem är
inte, helt enkelt, CS50.
För att göra detta, låt oss genomföra ett par funktioner, en som heter Render Header
och en som heter Render sidfot, att i stället för att kräva enbart kommer att ta
hand om rendering av vår sidas sidhuvud och sidfot.
Låt oss ta en titt.
>> Inne i index.php nu, märker att Jag kräver en ny fil som heter
Helpers.php.
Det är där som mina två funktioner kommer att definieras.
Därunder, märker att jag nu ska ringa den funktionen Render Header.
Och jag passerar i ett argument.
>> Den typ av detta argument tycks vara en matris, som i PHP betecknas
med hakparenteser.
I synnerhet är denna matris en associativ array i den mån den
associerar en nyckel, såsom titel, med en värde, som CS50, snarare än att förlita
den numeriska index ensam.
Därunder nu har vi min oordnad lista.
Men under den, har vi ett samtal till Render Sidfot, den andra funktionen
det är antagligen definierat i Helpers.php.
>> Låt oss ta en titt där nu.
I Helpers.php, märker att jag har, faktiskt, som funktion Render Footer
vars syfte i livet är tydligen att ta in som argument en array
kallas Data.
Nu, om användaren inte ger en explicit array, det faktum att det finns
ett likhetstecken följt av tom ruta parentes innebär att standardvärdet
av data kommer helt enkelt att bli en tom array.
>> Inuti Render sidfot, märker att jag är anropa en funktion som heter Extract.
Utdrag tar en associativ array, som Data i det här fallet, och för alla
nyckeln i det, visar det sig att nyckeln till en lokal variabel med samma namn.
Så om det associativ array hade en nyckel heter Foo skulle extrakt säkerställa att
vi nu har en lokal variabel som heter dollartecken Foo, vars värde är
samma som den var i det associativ array.
>> Slutligen kallar jag Kräv footer.php, vilket som en sidoreplik, ser
helt enkelt gillar detta.
Nu, tillbaka i Helpers.php, märker att vi också har Render Header, vars
argumentet är densamma, en uppsättning kallas Data vars standard
värdet är en tom array.
Vi kallar då Utdrag igen, som tidigare.
Och då kräver vi header.php, vars innehåll är nu här.
>> Inne i header.php, märker att vi inte längre har svårt kodad titel.
Och nu har vi en H1-tagg, liksom.
I synnerhet, värdet av den i rubriken angivna kommer att vara vad värdet av
lokal variabel som heter avdelning är.
Efter att ha passerat den till en PHP funktion heter HTML specialtecken, vi ska
att få det returvärdet, och sedan koppla in den i HTML-Jag utmatning
genom ett sätt av denna funktion, heter Echo.
>> Egentligen är denna förkortning notation för ett funktionsanrop som kanske annars
se ut så här.
Men det är mycket renare, helt enkelt, att skriva öppen fäste frågetecken lika
underteckna, utan att ens nämna PHP.
Jag kommer nu att göra samma insida som H1-tagg så att i slutändan, om
Användaren går till min Render Header funktion en associativ array, inne
som är en nyckel som heter titel, att associativ array nyckel kommer att bli en
lokal variabel kallad dollartecken avdelning.
>> Vi kommer då att passera att dollartecken Titel variabel till denna funktion, HTML
Speciella tecken.
Och ifall det finns någon potentiellt farliga tecken i
där, som et-tecken eller annan sådan symboler, kommer HTML Special Tecken göra
Se till att de är utförda säkert på sidan.
Och genom att använda öppen fäste fråga markera likhetstecken, jag är bokstavligen
substituera in på den del av sida vad returvärdet
HTML Tecken är.
>> Under tiden, i Lectures.php jag har ett nytt värde för avdelning.
Inte CS50, men föreläsningar.
I Week0.php, har jag ett värde på Vecka 0.
Och i Week1.php, har jag ett värde på Vecka 1.
Så i slutet av dagen, min sida ser riktigt ut som det gjorde innan.
Men vi har nu fått en mycket, mycket bättre design.