1 00:00:00,000 --> 00:00:00,170 2 00:00:00,170 --> 00:00:03,090 >> SPRECHER: Wir verbessern die Kurse Homepage indem wir uns auf 3 00:00:03,090 --> 00:00:06,610 bieten individuelle Titel für jede dieser Seiten, so dass jeder von ihnen 4 00:00:06,610 --> 00:00:08,780 nicht ganz einfach, CS50. 5 00:00:08,780 --> 00:00:12,550 Dazu implementieren wir ein paar Funktionen, sogenannte Render-Header 6 00:00:12,550 --> 00:00:16,410 und eine namens Render Footer, dass statt erfordern Alleine dauert 7 00:00:16,410 --> 00:00:19,330 Pflege der Rendering unserer Kopf-und Fußzeilen Seite. 8 00:00:19,330 --> 00:00:20,280 Lassen Sie uns einen Blick. 9 00:00:20,280 --> 00:00:24,490 >> Innerhalb der index.php jetzt feststellen, dass Ich bin eine neue Datei namens erfordern 10 00:00:24,490 --> 00:00:26,070 Helpers.php. 11 00:00:26,070 --> 00:00:28,910 Es ist dort, dass meine beiden Funktionen definiert. 12 00:00:28,910 --> 00:00:32,960 Darunter feststellen, dass ich jetzt den Aufruf diese Funktion Render-Header. 13 00:00:32,960 --> 00:00:34,830 Und ich bin vorbei in einen Streit. 14 00:00:34,830 --> 00:00:39,040 >> Die Art dieses Argument zu sein scheint ein Array, das in PHP bezeichnet wird 15 00:00:39,040 --> 00:00:40,370 mit eckigen Klammern. 16 00:00:40,370 --> 00:00:44,210 Insbesondere ist diese Anordnung ein assoziatives Array, sofern es 17 00:00:44,210 --> 00:00:49,620 verbindet einen Schlüssel, wie Titel, mit einem Wert, wie CS50, anstatt sich 18 00:00:49,620 --> 00:00:51,570 auf numerische Indizes allein. 19 00:00:51,570 --> 00:00:53,820 Darunter haben wir jetzt meine ungeordnete Liste. 20 00:00:53,820 --> 00:00:57,180 Aber darunter, einen Anruf zu machen haben wir Footer, die andere Funktion 21 00:00:57,180 --> 00:00:59,980 das ist vermutlich definiert in Helpers.php. 22 00:00:59,980 --> 00:01:01,500 >> Werfen wir einen Blick gibt es jetzt. 23 00:01:01,500 --> 00:01:06,760 In Helpers.php, feststellen, dass ich habe, in der Tat, dass die Funktion Render Footer 24 00:01:06,760 --> 00:01:11,100 deren Zweck im Leben ist offenbar nehmen in als Argument ein Array 25 00:01:11,100 --> 00:01:12,130 genannt Data. 26 00:01:12,130 --> 00:01:15,870 Nun, wenn der Benutzer nicht bieten eine ausdrückliche Anordnung ist die Tatsache, dass es 27 00:01:15,870 --> 00:01:20,610 ein Gleichheitszeichen, gefolgt von leeren Platz Klammern bedeutet, dass der Standardwert 28 00:01:20,610 --> 00:01:23,410 von Daten wird einfach ein leerer Array sein. 29 00:01:23,410 --> 00:01:27,670 >> Innerhalb von Render-Footer, bemerken, dass ich Aufruf einer Funktion namens Extract. 30 00:01:27,670 --> 00:01:32,170 Auszug nimmt ein assoziatives Array, wie Die Daten in diesem Fall ist, und für alle 31 00:01:32,170 --> 00:01:37,060 Schlüssel in der es stellt sich diesen Schlüssel in eine lokale Variable mit dem gleichen Namen. 32 00:01:37,060 --> 00:01:41,640 Also, wenn das assoziative Array hatte einen Schlüssel genannt Foo, würde dafür sorgen, dass Extrakt 33 00:01:41,640 --> 00:01:45,680 wir haben jetzt eine lokale Variable namens Dollarzeichen Foo, dessen Wert der 34 00:01:45,680 --> 00:01:48,140 so, wie es war, daß assoziatives Array. 35 00:01:48,140 --> 00:01:52,890 >> Schließlich rufe ich footer.php erforderlich, welche nebenbei sieht 36 00:01:52,890 --> 00:01:54,900 ganz einfach so. 37 00:01:54,900 --> 00:01:59,390 Nun, zurück in Helpers.php, feststellen, dass haben wir auch Render-Header, dessen 38 00:01:59,390 --> 00:02:02,610 Argument ist die gleiche, eine Anordnung genannt, dessen Standarddaten 39 00:02:02,610 --> 00:02:04,380 Wert ist eine leere Array. 40 00:02:04,380 --> 00:02:07,060 Wir rufen Sie dann Extract wieder wie vorher. 41 00:02:07,060 --> 00:02:12,130 Und dann benötigen wir Header.php, , deren Inhalt nun dies. 42 00:02:12,130 --> 00:02:16,980 >> Innerhalb von Header.php, bemerken, dass wir nicht mehr eine hart codierte Titel. 43 00:02:16,980 --> 00:02:19,720 Und wir haben jetzt ein H1-Tag, wie gut. 44 00:02:19,720 --> 00:02:24,030 Insbesondere der Wert der Titel wird sich unabhängig vom Wert sein 45 00:02:24,030 --> 00:02:26,750 die lokale Variable namens Titel ist. 46 00:02:26,750 --> 00:02:31,800 Nach der Übergabe an ein PHP-Funktion HTML Sonder Chars genannt, werden wir 47 00:02:31,800 --> 00:02:36,560 , dass die Rückgabewert erhalten, und dann stecken Sie es in die HTML-Ausgabe bin ich 48 00:02:36,560 --> 00:02:39,430 durch einen Weg, der Funktions Echo genannt. 49 00:02:39,430 --> 00:02:43,580 >> Wirklich, das ist Kurzform für Aufruf einer Funktion, die ansonsten 50 00:02:43,580 --> 00:02:44,780 sehen wie folgt aus. 51 00:02:44,780 --> 00:02:49,010 Aber es ist viel sauberer, einfach, zu schreiben Klammer auf Fragezeichen gleich 52 00:02:49,010 --> 00:02:51,400 schreiben, ohne auch nur zu erwähnen PHP. 53 00:02:51,400 --> 00:02:56,260 Ich gehe jetzt, um die gleiche Innenseite tun dass H1-Tag, so dass letztendlich, wenn die 54 00:02:56,260 --> 00:03:00,520 Teilnehmer meiner Render-Header Funktion übergibt ein assoziatives Array, innen 55 00:03:00,520 --> 00:03:05,310 von denen ist ein Schlüssel namens Titel, dass Schlüssel assoziativen Arrays wird zu einem 56 00:03:05,310 --> 00:03:07,870 lokale Variable namens Dollar-Zeichen Titel. 57 00:03:07,870 --> 00:03:12,130 >> Wir werden dann passieren, dass die Dollar-Zeichen Titel Variablen dieser Funktion HTML 58 00:03:12,130 --> 00:03:13,240 Besondere Chars. 59 00:03:13,240 --> 00:03:16,500 Und für den Fall gibt es keine potenziell gefährlichen Zeichen in 60 00:03:16,500 --> 00:03:20,500 da, wie das kaufmännische oder andere Symbole, werden HTML-Sonder Chars machen 61 00:03:20,500 --> 00:03:23,140 sicher, dass sie gemacht sind sicher auf der Seite. 62 00:03:23,140 --> 00:03:26,420 Und durch die Verwendung offener Klammer Frage Gleichheitszeichen zu markieren, bin ich buchstäblich 63 00:03:26,420 --> 00:03:30,080 Substitution in an diesem Teil der Seite auch immer der Rückgabewert 64 00:03:30,080 --> 00:03:32,050 HTML-Chars ist. 65 00:03:32,050 --> 00:03:36,450 >> Inzwischen in Lectures.php, ich haben einen neuen Wert für Titel. 66 00:03:36,450 --> 00:03:38,330 Nicht CS50, aber Vorträge. 67 00:03:38,330 --> 00:03:41,590 In Week0.php, ich habe ein Wert von 0 Woche. 68 00:03:41,590 --> 00:03:45,560 Und in Week1.php, ich habe ein Wert von 1 Woche. 69 00:03:45,560 --> 00:03:48,790 So dass am Ende des Tages, My Page sieht ganz wie früher. 70 00:03:48,790 --> 00:03:52,090 Aber wir haben jetzt eine viel bekommen, viel besser Design. 71 00:03:52,090 --> 00:03:54,240