SPEAKER: Laten we het verbeteren van de cursussen startpagina door onszelf toe te staan leveren aangepaste titels voor elk van deze pagina, zodat elk van hen niet, heel eenvoudig, CS50. Om dit te doen, laten we het implementeren van een paar functies, een zogenaamde Render Header en een zogenaamde Render Footer, dat in plaats van vereisen Alone zal nemen zorg voor de weergave van onze kop-en voetteksten pagina's. Laten we eens een kijkje nemen. Binnenkant van index.php nu, bericht dat Ik ben een nieuw bestand met de naam die Helpers.php. Het is daar dat mijn twee functies zullen worden vastgesteld. Daaronder ziet u dat ik nu bellen die functie Render Header. En ik ben het passeren in een argument. Het type van dit argument lijkt te zijn een array, die PHP aangeduid met vierkante haken. Vooral deze array een associatieve array voorzover associeert een sleutel, zoals titel, met een waarde, zoals CS50, in plaats van te vertrouwen op numerieke indices alleen. Hieronder dat we nu mijn ongeordende lijst. Maar daaronder we een oproep te maken Voettekst, de andere functie dat is vermoedelijk gedefinieerd in Helpers.php. Laten we eens een kijkje nemen daar nu. In Helpers.php, merk dat ik heb, inderdaad, die functie Render Footer waarvan het doel in het leven is blijkbaar nemen als argument een array genaamd Data. Nu, als de gebruiker niet in een expliciet array dat er een gelijkteken gevolgd door lege plein haakjes betekent dat de standaard waarde van gegevens zal gewoon een lege array. Binnenkant van Render Footer, merk dat ik ben aanroepen van een functie genaamd Extract. Extract is een associatieve array, zoals De gegevens in dit geval, en voor sleutel erin, het blijkt dat de sleutel in een lokale variabele met dezelfde naam. Dus als dat associatieve array had een sleutel genoemd Foo, zou extract zodat hebben we nu een lokale variabele genaamd dollarteken Foo, waarvan de waarde de dezelfde als in dat associatieve array. Tot slot roep ik nodig footer.php, die als een terzijde, ziet er dit heel gewoon graag. Nu, terug in Helpers.php, merken dat we hebben ook Header, wiens Render argument is hetzelfde, een array genaamd Data, waarvan de standaardwaarde waarde is een lege array. Vervolgens hebben we Extract bellen weer, zoals voorheen. En dan vragen wij header.php, inhoud waarvan nu dit. Binnenkant van header.php, merken dat we niet langer een hard gecodeerde titel. En we hebben nu een H1-tag, als goed. Met name de waarde van de titel zal ongeacht de waarde van zijn de lokale variabele genaamd titel is. Na het passeren van het naar een PHP functie genaamd HTML Speciale Chars, we gaan van diezelfde aangifte waarde te verkrijgen, en vervolgens steek de stekker in de HTML ik uitvoeren door middel van deze functie, genaamd Echo. Echt, dit is verkorte schrijfwijze voor een functie-aanroep die anders misschien zo uitzien. Maar het is een stuk schoner, gewoon, om te schrijven haakje openen vraagteken gelijk ondertekenen, zonder nog maar te zwijgen PHP. Ik ga nu hetzelfde binnenkant van doen dat H1-tag, zodat uiteindelijk, als de gebruiker gaat naar mijn Render Header functie een associatieve array, binnen waarvan een sleutel genaamd titel, dat associatieve array toets zal een worden lokale variabele genaamd dollarteken titel. Wij zullen dan geschiedde dat dollarteken titel variabele om deze functie, HTML Speciale Chars. En voor het geval er een potentieel gevaarlijke karakters in er, zoals ampersands of andere dergelijke symbolen, zal HTML Speciale Chars maken zeker dat ze gerenderd veilig op de pagina. En door gebruik te maken vraag haakje openen mark gelijk-teken, ben ik letterlijk substitueren in op dat deel van de pagina ongeacht de return waarde HTML Chars is. Ondertussen, in Lectures.php ik hebben een nieuwe waarde voor de titel. Niet CS50, maar Lectures. In Week0.php, ik heb een waarde van week 0. En in Week1.php, heb ik een waarde van 1 week. Dus aan het eind van de dag, mijn pagina ziet er heel leuk voorheen deed. Maar we hebben nu gekregen een veel, veel beter ontwerp.