>> SPRECHER: Wir verbessern die Kurse Homepage indem wir uns auf
bieten individuelle Titel für jede dieser Seiten, so dass jeder von ihnen
nicht ganz einfach, CS50.
Dazu implementieren wir ein paar Funktionen, sogenannte Render-Header
und eine namens Render Footer, dass statt erfordern Alleine dauert
Pflege der Rendering unserer Kopf-und Fußzeilen Seite.
Lassen Sie uns einen Blick.
>> Innerhalb der index.php jetzt feststellen, dass Ich bin eine neue Datei namens erfordern
Helpers.php.
Es ist dort, dass meine beiden Funktionen definiert.
Darunter feststellen, dass ich jetzt den Aufruf diese Funktion Render-Header.
Und ich bin vorbei in einen Streit.
>> Die Art dieses Argument zu sein scheint ein Array, das in PHP bezeichnet wird
mit eckigen Klammern.
Insbesondere ist diese Anordnung ein assoziatives Array, sofern es
verbindet einen Schlüssel, wie Titel, mit einem Wert, wie CS50, anstatt sich
auf numerische Indizes allein.
Darunter haben wir jetzt meine ungeordnete Liste.
Aber darunter, einen Anruf zu machen haben wir Footer, die andere Funktion
das ist vermutlich definiert in Helpers.php.
>> Werfen wir einen Blick gibt es jetzt.
In Helpers.php, feststellen, dass ich habe, in der Tat, dass die Funktion Render Footer
deren Zweck im Leben ist offenbar nehmen in als Argument ein Array
genannt Data.
Nun, wenn der Benutzer nicht bieten eine ausdrückliche Anordnung ist die Tatsache, dass es
ein Gleichheitszeichen, gefolgt von leeren Platz Klammern bedeutet, dass der Standardwert
von Daten wird einfach ein leerer Array sein.
>> Innerhalb von Render-Footer, bemerken, dass ich Aufruf einer Funktion namens Extract.
Auszug nimmt ein assoziatives Array, wie Die Daten in diesem Fall ist, und für alle
Schlüssel in der es stellt sich diesen Schlüssel in eine lokale Variable mit dem gleichen Namen.
Also, wenn das assoziative Array hatte einen Schlüssel genannt Foo, würde dafür sorgen, dass Extrakt
wir haben jetzt eine lokale Variable namens Dollarzeichen Foo, dessen Wert der
so, wie es war, daß assoziatives Array.
>> Schließlich rufe ich footer.php erforderlich, welche nebenbei sieht
ganz einfach so.
Nun, zurück in Helpers.php, feststellen, dass haben wir auch Render-Header, dessen
Argument ist die gleiche, eine Anordnung genannt, dessen Standarddaten
Wert ist eine leere Array.
Wir rufen Sie dann Extract wieder wie vorher.
Und dann benötigen wir Header.php, , deren Inhalt nun dies.
>> Innerhalb von Header.php, bemerken, dass wir nicht mehr eine hart codierte Titel.
Und wir haben jetzt ein H1-Tag, wie gut.
Insbesondere der Wert der Titel wird sich unabhängig vom Wert sein
die lokale Variable namens Titel ist.
Nach der Übergabe an ein PHP-Funktion HTML Sonder Chars genannt, werden wir
, dass die Rückgabewert erhalten, und dann stecken Sie es in die HTML-Ausgabe bin ich
durch einen Weg, der Funktions Echo genannt.
>> Wirklich, das ist Kurzform für Aufruf einer Funktion, die ansonsten
sehen wie folgt aus.
Aber es ist viel sauberer, einfach, zu schreiben Klammer auf Fragezeichen gleich
schreiben, ohne auch nur zu erwähnen PHP.
Ich gehe jetzt, um die gleiche Innenseite tun dass H1-Tag, so dass letztendlich, wenn die
Teilnehmer meiner Render-Header Funktion übergibt ein assoziatives Array, innen
von denen ist ein Schlüssel namens Titel, dass Schlüssel assoziativen Arrays wird zu einem
lokale Variable namens Dollar-Zeichen Titel.
>> Wir werden dann passieren, dass die Dollar-Zeichen Titel Variablen dieser Funktion HTML
Besondere Chars.
Und für den Fall gibt es keine potenziell gefährlichen Zeichen in
da, wie das kaufmännische oder andere Symbole, werden HTML-Sonder Chars machen
sicher, dass sie gemacht sind sicher auf der Seite.
Und durch die Verwendung offener Klammer Frage Gleichheitszeichen zu markieren, bin ich buchstäblich
Substitution in an diesem Teil der Seite auch immer der Rückgabewert
HTML-Chars ist.
>> Inzwischen in Lectures.php, ich haben einen neuen Wert für Titel.
Nicht CS50, aber Vorträge.
In Week0.php, ich habe ein Wert von 0 Woche.
Und in Week1.php, ich habe ein Wert von 1 Woche.
So dass am Ende des Tages, My Page sieht ganz wie früher.
Aber wir haben jetzt eine viel bekommen, viel besser Design.