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