1 00:00:00,000 --> 00:00:00,170 2 00:00:00,170 --> 00:00:03,090 >> SPEAKER: Lad os forbedre kurserne startside ved at lade os 3 00:00:03,090 --> 00:00:06,610 levere tilpassede titler for hver af dem sider, således at hver af dem er 4 00:00:06,610 --> 00:00:08,780 ikke simpelthen CS50. 5 00:00:08,780 --> 00:00:12,550 For at gøre dette, så lad os gennemføre et par funktioner, den ene kaldet Render Header 6 00:00:12,550 --> 00:00:16,410 og en der hedder Render sidefod, at i stedet for Kræv Alone vil tage 7 00:00:16,410 --> 00:00:19,330 pleje af præstationen af ​​vores sides sidehoveder og sidefødder. 8 00:00:19,330 --> 00:00:20,280 Lad os tage et kig. 9 00:00:20,280 --> 00:00:24,490 >> Inde i index.php nu, meddelelse om, at Jeg kræver en ny fil kaldet 10 00:00:24,490 --> 00:00:26,070 Helpers.php. 11 00:00:26,070 --> 00:00:28,910 Det er derinde, at mine to funktioner vil blive defineret. 12 00:00:28,910 --> 00:00:32,960 Nedenfor dette mærke til, at jeg nu Jeg ringer denne funktion Render Header. 13 00:00:32,960 --> 00:00:34,830 Og jeg passerer i et argument. 14 00:00:34,830 --> 00:00:39,040 >> Den type af dette argument synes at være et array, som i PHP betegnes 15 00:00:39,040 --> 00:00:40,370 med firkantede parenteser. 16 00:00:40,370 --> 00:00:44,210 Navnlig dette array er en associative array i det omfang den 17 00:00:44,210 --> 00:00:49,620 knytter en nøgle, som titel, med en værdi, ligesom CS50, snarere end at lægge 18 00:00:49,620 --> 00:00:51,570 på numeriske indeks alene. 19 00:00:51,570 --> 00:00:53,820 Nedenfor at vi nu har min uordnet liste. 20 00:00:53,820 --> 00:00:57,180 Men under det, har vi en opfordring til Render Sidefod, den anden funktion 21 00:00:57,180 --> 00:00:59,980 der er formentlig defineret i Helpers.php. 22 00:00:59,980 --> 00:01:01,500 >> Lad os tage et kig der nu. 23 00:01:01,500 --> 00:01:06,760 I Helpers.php, bemærke, at jeg har, ja, denne funktion Render sidefod 24 00:01:06,760 --> 00:01:11,100 hvis formål i livet er tilsyneladende tage så sin argumentation et array 25 00:01:11,100 --> 00:01:12,130 kaldet Data. 26 00:01:12,130 --> 00:01:15,870 Nu, hvis brugeren ikke giver en eksplicit array, at der er 27 00:01:15,870 --> 00:01:20,610 et lighedstegn efterfulgt af tom firkant parentes betyder, at standardværdien 28 00:01:20,610 --> 00:01:23,410 af data vil simpelthen være et tomt array. 29 00:01:23,410 --> 00:01:27,670 >> Inde i Render sidefod, bemærke, at jeg er kalde en funktion kaldet Uddrag. 30 00:01:27,670 --> 00:01:32,170 Extract tager et associativt array, som Data i dette tilfælde, og for enhver 31 00:01:32,170 --> 00:01:37,060 nøgle i det, viser det sig, at nøglen til en lokal variabel af samme navn. 32 00:01:37,060 --> 00:01:41,640 Så hvis det associative array havde en nøgle kaldet Foo ville ekstrakt sikre, at 33 00:01:41,640 --> 00:01:45,680 vi nu har en lokal variabel kaldet dollartegn Foo, hvis værdi er den 34 00:01:45,680 --> 00:01:48,140 samme som det var i den associative array. 35 00:01:48,140 --> 00:01:52,890 >> Endelig jeg kalder Kræv footer.php, der som en sidebemærkning, ser 36 00:01:52,890 --> 00:01:54,900 simpelthen lide det. 37 00:01:54,900 --> 00:01:59,390 Nu tilbage i Helpers.php, bemærke, at har vi også Render Header, hvis 38 00:01:59,390 --> 00:02:02,610 argument er det samme, et array kaldet Data hvis standard 39 00:02:02,610 --> 00:02:04,380 værdien er et tomt array. 40 00:02:04,380 --> 00:02:07,060 Vi derefter kalde Extract igen, som før. 41 00:02:07,060 --> 00:02:12,130 Og så kræver vi header.php, hvis indhold er nu dette. 42 00:02:12,130 --> 00:02:16,980 >> Inde i header.php, bemærke, at vi ikke længere har en hård kodet titel. 43 00:02:16,980 --> 00:02:19,720 Og nu har vi en H1 tag, så godt. 44 00:02:19,720 --> 00:02:24,030 Især værdien af ​​den i overskriften kommer til at være, hvad værdien af 45 00:02:24,030 --> 00:02:26,750 den lokale variabel kaldet afsnit er. 46 00:02:26,750 --> 00:02:31,800 Efter at have passeret det til en PHP funktion kaldes HTML Special Chars, vi skal 47 00:02:31,800 --> 00:02:36,560 at opnå denne returværdi, og derefter sætte det ind i HTML jeg udsende 48 00:02:36,560 --> 00:02:39,430 ved hjælp af denne funktion, kaldet Echo. 49 00:02:39,430 --> 00:02:43,580 >> Dette er virkelig, stenografi notation for en funktion opkald, der ellers ville 50 00:02:43,580 --> 00:02:44,780 se sådan ud. 51 00:02:44,780 --> 00:02:49,010 Men det er meget renere, enkelt, at skrive åbneparentes spørgsmålstegn lige 52 00:02:49,010 --> 00:02:51,400 underskrive, uden overhovedet at nævne PHP. 53 00:02:51,400 --> 00:02:56,260 Jeg vil nu gøre det samme inde i at H1 tag, så der i sidste ende, hvis 54 00:02:56,260 --> 00:03:00,520 brugeren overgår til min Render Header funktion et associativt array, inde 55 00:03:00,520 --> 00:03:05,310 som er en nøgle kaldet titel, der associative array nøgle vil blive en 56 00:03:05,310 --> 00:03:07,870 lokal variabel kaldet dollartegn titel. 57 00:03:07,870 --> 00:03:12,130 >> Vi vil så videregive denne dollartegn Titel variabel til denne funktion, HTML 58 00:03:12,130 --> 00:03:13,240 Særlige Bogstaver. 59 00:03:13,240 --> 00:03:16,500 Og bare i tilfælde af at der er nogen potentielt farlige tegn i 60 00:03:16,500 --> 00:03:20,500 der, som-tegn eller andre sådanne symboler, vil HTML Special Chars gøre 61 00:03:20,500 --> 00:03:23,140 sikker på, at de er gjort sikkert på siden. 62 00:03:23,140 --> 00:03:26,420 Og ved hjælp af open beslag spørgsmål markere lighedstegnet, jeg er bogstaveligt talt 63 00:03:26,420 --> 00:03:30,080 substituere ind på den del af side uanset returværdi 64 00:03:30,080 --> 00:03:32,050 HTML Chars er. 65 00:03:32,050 --> 00:03:36,450 >> I mellemtiden, i Lectures.php jeg har en ny værdi for afsnit. 66 00:03:36,450 --> 00:03:38,330 Ikke CS50, men foredrag. 67 00:03:38,330 --> 00:03:41,590 I Week0.php, jeg har en værdi på uge 0. 68 00:03:41,590 --> 00:03:45,560 Og i Week1.php, jeg har en værdi på Uge 1. 69 00:03:45,560 --> 00:03:48,790 Så i slutningen af ​​dagen, er min side ser ganske som den gjorde før. 70 00:03:48,790 --> 00:03:52,090 Men vi har nu fået en meget, meget bedre design. 71 00:03:52,090 --> 00:03:54,240