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.