1 00:00:00,000 --> 00:00:00,170 2 00:00:00,170 --> 00:00:03,090 >> SPEAKER: Laten we het verbeteren van de cursussen startpagina door onszelf toe te staan 3 00:00:03,090 --> 00:00:06,610 leveren aangepaste titels voor elk van deze pagina, zodat elk van hen 4 00:00:06,610 --> 00:00:08,780 niet, heel eenvoudig, CS50. 5 00:00:08,780 --> 00:00:12,550 Om dit te doen, laten we het implementeren van een paar functies, een zogenaamde Render Header 6 00:00:12,550 --> 00:00:16,410 en een zogenaamde Render Footer, dat in plaats van vereisen Alone zal nemen 7 00:00:16,410 --> 00:00:19,330 zorg voor de weergave van onze kop-en voetteksten pagina's. 8 00:00:19,330 --> 00:00:20,280 Laten we eens een kijkje nemen. 9 00:00:20,280 --> 00:00:24,490 >> Binnenkant van index.php nu, bericht dat Ik ben een nieuw bestand met de naam die 10 00:00:24,490 --> 00:00:26,070 Helpers.php. 11 00:00:26,070 --> 00:00:28,910 Het is daar dat mijn twee functies zullen worden vastgesteld. 12 00:00:28,910 --> 00:00:32,960 Daaronder ziet u dat ik nu bellen die functie Render Header. 13 00:00:32,960 --> 00:00:34,830 En ik ben het passeren in een argument. 14 00:00:34,830 --> 00:00:39,040 >> Het type van dit argument lijkt te zijn een array, die PHP aangeduid 15 00:00:39,040 --> 00:00:40,370 met vierkante haken. 16 00:00:40,370 --> 00:00:44,210 Vooral deze array een associatieve array voorzover 17 00:00:44,210 --> 00:00:49,620 associeert een sleutel, zoals titel, met een waarde, zoals CS50, in plaats van te vertrouwen 18 00:00:49,620 --> 00:00:51,570 op numerieke indices alleen. 19 00:00:51,570 --> 00:00:53,820 Hieronder dat we nu mijn ongeordende lijst. 20 00:00:53,820 --> 00:00:57,180 Maar daaronder we een oproep te maken Voettekst, de andere functie 21 00:00:57,180 --> 00:00:59,980 dat is vermoedelijk gedefinieerd in Helpers.php. 22 00:00:59,980 --> 00:01:01,500 >> Laten we eens een kijkje nemen daar nu. 23 00:01:01,500 --> 00:01:06,760 In Helpers.php, merk dat ik heb, inderdaad, die functie Render Footer 24 00:01:06,760 --> 00:01:11,100 waarvan het doel in het leven is blijkbaar nemen als argument een array 25 00:01:11,100 --> 00:01:12,130 genaamd Data. 26 00:01:12,130 --> 00:01:15,870 Nu, als de gebruiker niet in een expliciet array dat er 27 00:01:15,870 --> 00:01:20,610 een gelijkteken gevolgd door lege plein haakjes betekent dat de standaard waarde 28 00:01:20,610 --> 00:01:23,410 van gegevens zal gewoon een lege array. 29 00:01:23,410 --> 00:01:27,670 >> Binnenkant van Render Footer, merk dat ik ben aanroepen van een functie genaamd Extract. 30 00:01:27,670 --> 00:01:32,170 Extract is een associatieve array, zoals De gegevens in dit geval, en voor 31 00:01:32,170 --> 00:01:37,060 sleutel erin, het blijkt dat de sleutel in een lokale variabele met dezelfde naam. 32 00:01:37,060 --> 00:01:41,640 Dus als dat associatieve array had een sleutel genoemd Foo, zou extract zodat 33 00:01:41,640 --> 00:01:45,680 hebben we nu een lokale variabele genaamd dollarteken Foo, waarvan de waarde de 34 00:01:45,680 --> 00:01:48,140 dezelfde als in dat associatieve array. 35 00:01:48,140 --> 00:01:52,890 >> Tot slot roep ik nodig footer.php, die als een terzijde, ziet er 36 00:01:52,890 --> 00:01:54,900 dit heel gewoon graag. 37 00:01:54,900 --> 00:01:59,390 Nu, terug in Helpers.php, merken dat we hebben ook Header, wiens Render 38 00:01:59,390 --> 00:02:02,610 argument is hetzelfde, een array genaamd Data, waarvan de standaardwaarde 39 00:02:02,610 --> 00:02:04,380 waarde is een lege array. 40 00:02:04,380 --> 00:02:07,060 Vervolgens hebben we Extract bellen weer, zoals voorheen. 41 00:02:07,060 --> 00:02:12,130 En dan vragen wij header.php, inhoud waarvan nu dit. 42 00:02:12,130 --> 00:02:16,980 >> Binnenkant van header.php, merken dat we niet langer een hard gecodeerde titel. 43 00:02:16,980 --> 00:02:19,720 En we hebben nu een H1-tag, als goed. 44 00:02:19,720 --> 00:02:24,030 Met name de waarde van de titel zal ongeacht de waarde van zijn 45 00:02:24,030 --> 00:02:26,750 de lokale variabele genaamd titel is. 46 00:02:26,750 --> 00:02:31,800 Na het passeren van het naar een PHP functie genaamd HTML Speciale Chars, we gaan 47 00:02:31,800 --> 00:02:36,560 van diezelfde aangifte waarde te verkrijgen, en vervolgens steek de stekker in de HTML ik uitvoeren 48 00:02:36,560 --> 00:02:39,430 door middel van deze functie, genaamd Echo. 49 00:02:39,430 --> 00:02:43,580 >> Echt, dit is verkorte schrijfwijze voor een functie-aanroep die anders misschien 50 00:02:43,580 --> 00:02:44,780 zo uitzien. 51 00:02:44,780 --> 00:02:49,010 Maar het is een stuk schoner, gewoon, om te schrijven haakje openen vraagteken gelijk 52 00:02:49,010 --> 00:02:51,400 ondertekenen, zonder nog maar te zwijgen PHP. 53 00:02:51,400 --> 00:02:56,260 Ik ga nu hetzelfde binnenkant van doen dat H1-tag, zodat uiteindelijk, als de 54 00:02:56,260 --> 00:03:00,520 gebruiker gaat naar mijn Render Header functie een associatieve array, binnen 55 00:03:00,520 --> 00:03:05,310 waarvan een sleutel genaamd titel, dat associatieve array toets zal een worden 56 00:03:05,310 --> 00:03:07,870 lokale variabele genaamd dollarteken titel. 57 00:03:07,870 --> 00:03:12,130 >> Wij zullen dan geschiedde dat dollarteken titel variabele om deze functie, HTML 58 00:03:12,130 --> 00:03:13,240 Speciale Chars. 59 00:03:13,240 --> 00:03:16,500 En voor het geval er een potentieel gevaarlijke karakters in 60 00:03:16,500 --> 00:03:20,500 er, zoals ampersands of andere dergelijke symbolen, zal HTML Speciale Chars maken 61 00:03:20,500 --> 00:03:23,140 zeker dat ze gerenderd veilig op de pagina. 62 00:03:23,140 --> 00:03:26,420 En door gebruik te maken vraag haakje openen mark gelijk-teken, ben ik letterlijk 63 00:03:26,420 --> 00:03:30,080 substitueren in op dat deel van de pagina ongeacht de return waarde 64 00:03:30,080 --> 00:03:32,050 HTML Chars is. 65 00:03:32,050 --> 00:03:36,450 >> Ondertussen, in Lectures.php ik hebben een nieuwe waarde voor de titel. 66 00:03:36,450 --> 00:03:38,330 Niet CS50, maar Lectures. 67 00:03:38,330 --> 00:03:41,590 In Week0.php, ik heb een waarde van week 0. 68 00:03:41,590 --> 00:03:45,560 En in Week1.php, heb ik een waarde van 1 week. 69 00:03:45,560 --> 00:03:48,790 Dus aan het eind van de dag, mijn pagina ziet er heel leuk voorheen deed. 70 00:03:48,790 --> 00:03:52,090 Maar we hebben nu gekregen een veel, veel beter ontwerp. 71 00:03:52,090 --> 00:03:54,240