[Musik zu spielen] ALLISON BUCHHOLTZ-AU: All right, jeder, willkommen zurück in Abschnitt. Hoffentlich eine große mussten Sie alle Halloween-Wochenende oder Halloweekend, wie Ich mag sagen, alle ausgeruht und erholt. Und zum Glück ist es nicht mehr schneit. Es ist eigentlich sonnig draußen. Ich war wirklich glücklich darüber. Nicht bereit, meine Winterstiefel ziehen aus. Hoffentlich ging pset6 ziemlich gut. Wenn Sie müde von C sind, bin ich glücklich zu sagen, du bist mit C für jetzt getan. Wir haben komplett umgestellt in Web-Programmierung, so dass Sie in HTML, PHP arbeiten, vielleicht ein bisschen von JavaScript. Ich weiß nicht, was nächste Woche pset ist, so kann ich nicht garantieren was der nächste pset wird sein, aber in dieser Woche pset ist CS50 Finanzen, das ist im Grunde Umsetzung des Art Webseite dass können Sie kaufen und verkaufen Lager, und verfolgen sie. Und es ist ziemlich cool, weil alle es wird dynamisch erzeugt. Sie können verschiedene Anwender haben, die haben jeweils ihre eigenen Informationen, und du sein wirst Umsetzung alles. Es dauert eine Weile. Ich denke auf jeden Fall, das ist leichter als C psets, aber es dauert länger. Sie lernen eine neue Sprache, PHP, die sehr ähnlich zu C ist, aber natürlich wird sich erforderlich Sie nachschlagen Syntax und verstehen Wie konvertiert man zwischen den Sprachen. Aber ich glaube nicht, dass es etwas gibt, Super begrifflich schwer über dieses pset. Es ist nur zu lernen, die neue Sprache und bekommen durch alle diese kleinen Stücke. Wenn Sie Jungs haben durchgelesen die Spezifikation, es ist ziemlich lang. Ich denke, das ist wie 21 Seiten, wenn ich mich richtig erinnere. Es ist ein langer spec. Also, wenn Sie es-- nicht lesen 22 haben. 32. Wow. So war ich durch 50% gibt. So, 32 Seiten. Es ist also lang. Es gibt viele Teile, aber keines der Stücke sollte so schlimm sein. Es ist nur eine Menge. Also auf jeden Fall früh loszulegen wenn möglich, wie gewohnt, aber ich denke, es sollte ein wenig das Gefühl, schöner als vor allem die psets wie erholen und die Größe, die sind einfach sehr hart, um den Kopf herum wickeln. Also mit diesem, wir gehen zu tauchen. Ich habe nicht Ihre Agenda gleiten heute, aber wir sind sein wird sprechen über PHP. Ich werde Ihnen ein bisschen eine Crash-Kurs auf einige Dinge dass Sie vielleicht über PHP kennen. Andere Syntax Dinge, Dinge zu achten ist. Wir werden reden ein wenig über SQL. Nur ganz einfache Dinge da, und dann auch MVC ist Model-View-Controller, der ist, wie Ihr pset eingerichtet ist, so zu verstehen, wie die Arbeiten werden super nützlich sein. In Ordnung. Also PHP. Ihr Jungs getan haben sollte etwas sehr, sehr einfach mit PHP, das ist dieser Boden ist hier, wo man eine gewisse Form der eingereichten top hier, dass einige Namen hatte, dass Sie Eingang und es wäre, sagen, hallo, Ben, oder hallo, Allison, und es würde Pop-up. Also das ist eigentlich das, was es sollte wie von Ihrem pset geschaut haben, bei euch wollten wissen, oder nicht ganz herausfinden. Aber wir diese Fragezeichen haben hier die anzeigen, dass dies PHP. Sie wickeln Sie es, und dann htmlspecialcharge, erinnern, ist nur, stellen Sie sicher, dass Sie sicher sind von jeder verrückt Injection-Angriff oder wenn jemand versucht, setzen verrückten bösartigen Zeichen in Ihren Namensfeld, das tut es nicht gerne Ihren Server oder Dingsbums. Und dann, wenn wir bemerken, diese HTML Form hatte eine Methode der $ _GET, die wenn wir an unsere superglobals von PHP, $ _GET, $ _POST, Wir werden in los werden diejenigen, die in ein kleines bisschen. Aber wir wissen, dass wir einen Namen haben hier, die dem Namen entspricht dass wir eingereicht. Also das ist nur eine Art, wie die sehr einfache PHP HTML Zusammenarbeit dass Sie Jungs hatten aus pset sechs. Aber das ist nicht wirklich beantworten, was ist PHP. Offensichtlich ist es eine Sprache ist, aber wir haben nicht wirklich sprach darüber in diesem Abschnitt, so gibt es ein bisschen mehr über das, was PHP eigentlich ist. Also PHP ist nur PHP Hypertext Preprocessor. Es ist eigentlich als eine Programmiersprache weil es logisch, während, wenn Wir erinnern uns, über HTML sprechen, wir berufen, dass eine Markup-Sprache im Vergleich eine Programmiersprache, weil HTML ist streng Modifizierung wie Dinge sehen auf der Seite. Es ist einfach zu modifizieren ob etwas ist mutig, oder ob es sich um eine Form, Element, oder so ähnlich. Es hat keine Logik. Es muss nicht Schleifen oder Bedingungen. Sie können nicht fehler überprüfen Dinge. Sie würden entweder Dinge anzuzeigen in einer bestimmten Weise oder Dinge zu bitten von dem Benutzer. Das ist es. Also mit PHP, es tatsächlich nicht erlauben uns Für alle diese logischer Dinge zu tun, wie Validierung der Eingangs- oder manipulieren sie in irgendeiner Weise. Wir können es mit HTML zu kombinieren, wie wir gerade sah in Ihrem letzten pset und gerade jetzt, und es erlaubt uns, zu erstellen Diese dynamischen Webseiten. Also, wenn euch ever-- Ich weiß nicht, ob Sie wie ich, aber in der Mittelschule sie hatten uns diese IT-Klasse, wo wir geschaffen nur HTML-Webseiten, und sie waren statisch und klicken Sie rund um auf andere Dinge, aber sie nie geändert. Mit dynamischen diejenigen, was wir können, tun, ist, wie mit CS50 Finanzen, Sie gehen zu verschiedenen Benutzer haben. Abhängig von diesen Benutzer Vorlieben, und was sie kaufen oder was sie verkaufen für ihre Aktien, Sie gehen die Anzeige auf verschiedene Dinge. Also, wenn es etwas Erkennungsmerkmal für Ihre Benutzer mit Hilfe dieser Webseite können wir dynamisch entscheiden, was für sie anzuzeigen. Es ist nicht dasselbe für jeden einzelnen Person, die, wenn wir nur HTML, die Seite würde die gleiche sein für jede einzelne Person, die besucht. PHP ermöglicht es uns, Seiten zu personalisieren. Und dann können wir entweder steckte sie in die gleiche Datei, die, wie im Fall bevor hier sahen wir, dass wir haben HTML alle hier und dann haben wir diese wenig von PHP. Wir können so tun, oder mit CS50 Finanzen, wenn Sie Jungs haben bei der gesuchten files-- und wir sollten Zeit haben um durch ein paar von ihnen Schritt zusammen am Ende der section-- wir kann sehen, wie Sie tatsächlich halten sie voneinander zu trennen, Das ist eigentlich eine bessere Sache zu tun. So. Crash-Kurs. Alle schnellen einfachen Dinge Sie müssen möglicherweise für PHP kennen. Deklaration von Variablen. Das blau ist ein wenig ärgerlich, aber hoffentlich euch kann es sehen. Wenn nicht, werde ich es schreiben an die Tafel. Die Deklaration von Variablen. Eine Sache, zu wissen, ist, dass, im Gegensatz zu C, PHP ist lose oder dynamisch typisierte, was bedeutet, dass Sie nicht brauchen, um erzählen eine Variable, welche Art es ist. Sie können einfach nur sagen einige Variablen ist gleich, was auch immer Sie es wollen, und es wird die Art des zu entscheiden dass variable Laufzeit für Sie. Wie Sie sehen werden, diese zu erstellen können einige sehr interessante Dinge. Aber für die meisten Zwecke, können brauchen nicht um den Typ angeben. Sie können, und Sie tippen können Guss Dinge wie gewohnt würde nicht sehen, wenn Sie wollen zwingen, eine bestimmte Art ist, aber Sie müssen nicht. Es wird nicht an Sie schreien wenn Sie nur eine Variable deklarieren und nicht eine Aktivität dafür angeben. Also, falls Sie nicht lesen können this-- Ich weiß, es ist nicht die beste. Ich dachte, es würde zeigen, bis better-- die so, wie Sie eine Variable initialisiert ist nur mit einem Dollarzeichen, was Sie wollen, dass es aufgerufen werden, und dann, was Sie zuweisen. Also in diesem Fall, ist dies einige $ var = 3. Also, wenn wir je $ var verwenden irgendwo, wird es nur die gleichen sein wie Putting 3 gibt. OK? Also, eine Variable, nur Dollar-Zeichen, was auch immer Sie Ihre variable nennen wollen, und was auch immer Sie es wollen, um gleich. Etwas kühler. Weniger, um für die Initialisierung zu schreiben eine Variable, oder? Ist das sinnvoll, um alle? Nur schnelle Syntax Unterschied zwischen C und PHP. Arrays sind in PHP viel kühler. Wir können sie Schlüssel zu geben. Also die Art und Weise zu denken es ist, dass, wenn wir jemals wollte eine Access Element innerhalb eines Arrays, wir brauchten, um die wissen Index der es, nicht wahr? So wissen wir, dass mit C, wir könnte das erste Element zugreifen by doing Array Klammer Null, oder wenn wir wollen das erste Element, array Halterung ein. Und wenn wir etwas wollten dort könnten wir nur zu durchlaufen, es sei denn, wir eigentlich wussten, den Index. Eine Sache, die wirklich cool mit PHP Arrays ist, dass sie das, was nennen wir assoziativ. So verbinden wir können einige Schlüssel auf einen Wert, und wir sind eigentlich los zu-- ich dir zeigen Wie können wir dies in einem zweiten zu verwenden. Aber im Grunde, wenn Sie überhaupt wollen um ein Array so zu initialisieren, Sie haben einige $ array. Also in der gleichen Weise, es ist nur einige Variablen, die wir schaffen. Dies könnte man als Was auch immer Sie wollen. Dies könnte $ Beispiel sein. Nur eine weitere Variable. Was macht es ein Array ist die Klammer-Syntax, die wir hier haben. Genau wie normale C Und wir haben einige Schlüssel zu einem gewissen Wert. So key1 geht an Wert1, key2 zwei geht an Wert2. Diese Paare sind mit einem getrennten Komma, wie normale Arrays. Allerdings. Große. Keys sind optional. Sie müssen nicht, sie zu benutzen. Und wenn Sie das nicht tun, dann ist es nur normal. Question? Oder, oh. PUBLIKUM: Nun, über das Recht. Wo ist der Speicher her? Kann es auch gleich sein wie [Unverständlich] und aus dem Stapel? Ist das auch mit PHP? Wie, wenn wir sie verbindenden? ALLISON BUCHHOLTZ-AU: Mit PHP, nehmen wir nicht dazu neigen zu kümmern, wo unsere Speicher herkommt. Wir verbringen nicht viel Zeit reden, dass, so ist es nicht wirklich etwas Sie sich Sorgen machen müssen. Also Schlüssel sind optional. Auf die gleiche Weise, wenn Sie nicht zu tun wollen, dass diese damit verbundenen zu machen, Sie wollen einfach nur ein normales Array, in dem Anordnung Null ist das erste Element und Array eine ist die zweite Element, können Sie es genau tun können wie Sie es in C. Sie haben einige Variable, die gehen, um Ihre Array sein, und es entspricht diese Klammern hier. Ja. PUBLIKUM: Hat es die gleichen Punkt zu Notation. Wie, ich wie ein Array ++ tun können, und weist auf die zweite. ALLISON BUCHHOLTZ-AU: Sie können do-- Nun, man kann etwas Iterator haben, i, Sie kann ich tun ++ und machen Sie einen Anordnung von i in der gleichen Weise. Aber das ist es. So, wie in diesem Fall, Array von 1 würde 20 betragen. Gleiche Art der Indizierung Notation. Dies ist im Grunde nur eine implizite Sache hier, wo es heißt Null, Null bis 10, 1 bis 20, 2 bis 30. Es ist nur impliziten Schlüssel dafür. Welche Veränderungen mit PHP ist dass Sie jetzt die Macht , diese Schlüssel neu zuweisen tun, was immer Sie möchten. So eine Sache ist hier. Also ich habe nur ein paar Beispiele hier, dass ich schrieb für euch weil ich das Gefühl, dass Beispiele immer helfen mehr als nur die abstrakt. Also, in diesem Fall hier, wir haben einige assoziatives Array das ist mein Vorname, mein Nachname, und ich bin Echo, das gerade ist für alle Zwecke hier werde sich an den Ausgang hier drucken. Und er sagt, OK. Drucken Sie den Wert, der entspricht Array an Schlüssel Allison. Und ich kann auch Jungs schicken Ihnen all dieser Code nach dem Unterricht. Also, wenn wir das ausführen, was zu tun Sie denken, wird passieren? Was ist los ausdrucken? PUBLIKUM: Ihr Nachname. ALLISON BUCHHOLTZ-AU: Mein Nachname. Es tut. Genau hier. Ausdrucken. Also, wenn wir dies und wir ändern waren an jemand anderen, um unsere list-- hinzufügen Also lassen Sie uns sagen, dass wir hier haben, Emma, und wir assoziieren letzten name-- Mal sehen, ob ich die Zauber dieses Recht. PUBLIKUM: Yeah. ALLISON BUCHHOLTZ-AU: Ja. PUBLIKUM: Guter Job. ALLISON BUCHHOLTZ-AU: Lovely. So, jetzt, wenn wir das hier und wir wollten Sie Ihren Nachnamen finden, haben Sie es dort. So kann man einfach daran denken als Ersatz für diesen Schlüssel hier. Du bist nur Ersetzen des Index. So ermöglicht es Ihnen, nur die Suche durch eine Anordnung viel einfacher. Sie brauchen nicht, um den Index zu kennen. Solange diese Taste, die Sie suchen zum irgendwo besteht in der Anordnung, PHP wird es finden und es wird zurückkehren der Wert zugeordnet. Also es gibt Ihnen viel mehr Macht mit Arrays. Ja. PUBLIKUM: Wenn Sie zwei Tasten die haben gleich, es wird Ihnen einen Fehler entdeckt? ALLISON BUCHHOLTZ-AU: Es sollten Ihnen einen Fehler, ja. Heißt das ein wenig zu machen mehr Sinn für euch? Und in gleicher Weise haben wir eine Reihe hier, das nicht über alle Schlüssel. Auch dies ist ein Syntax dass Sie vielleicht bewusst zu sein, weil man sonst müssen Sie dies in Ihrem pset verwenden. Wann immer du tust ein Echo, haben Sie diese Angebote, und wann immer Sie meinst um einen Teil einer Anordnung, müssen Sie diese haben geschweiften Klammern um sie herum. Es ist irgendwie nervig, aber Sie müssen es nur tun. Also nur etwas im Auge zu behalten. Wenn Sie in Fehler laufen, Ich weiß, dass dies in meinem Array existiert aber es ist auf mich werfen Fehler, versuchen Sie Klammern um es und es sollte funktionieren. So dass in diesem Fall ist, ist dies ein normalen C-Array, das wir gewohnt sind. Drei, fünf und sechs, und wir einfach zum Ausdrucken das erste Element möchten, so sollte dies auszudrucken drei. Und ich habe alle diese laufen, so hoffentlich nichts geändert. Wir sehen an der Unterseite hier, er druckt nur aus drei. Cool. Das Sinn für alle? Assoziative Arrays. Viel kühler als normale Arrays. Dies ist why-- zeigte David Sie die PHP-Implementierung pset6 während der Vorlesungsüberhaupt? Ok. Also, ich werde es dir zeigen. Ich weiß nicht, es aus dem T-- PUBLIKUM: Er tat letzte Woche. ALLISON BUCHHOLTZ-AU: War es in der vergangenen Woche? PUBLIKUM: Yeah. ALLISON BUCHHOLTZ-AU: Yeah. So Speller können wie sechs Linien durchgeführt werden mit PHP, und ein Teil der Kraft dessen, ist dies assoziatives Array, wobei Sie können einfach jedes Wort in zu laden, und haben Sie es gleich wahr oder falsch. Und so kann man sagen, oh. Rück Wörterbuch irgend Wort und wenn es da ist, wird es wahr, zurückzukehren. Andernfalls wird es nicht gefunden es und es wird false zurück. Also eine Art kühle kleine Sache. In Ordnung. Das sind also assoziative Arrays. Sie sind ziemlich cool. Ich mag sie wirklich. Und natürlich this-- Ah. Ok. Jetzt ist es funktioniert. Vielleicht. Ok. Eine andere Sache. Also, mit Gleichheit, nur eine coole Sache im Auge zu behalten. Mit PHP, weil es wird dynamisch typisierte, der Typ kann je nachdem, wann ändern Sie sie ausführen, wie Sie es laufen. Ich habe tatsächlich ein paar coole Beispiele, die ich euch zeigen. Aber == gerade prüft Gleichheit nach Art Jonglage. Also, wenn Sie etwas haben, das ist wie der Charakter 1 und Nummer 1, PHP würde Ihnen sagen, dass diejenigen gleich, weil es gibt können die Typen der jonglieren zwei von ihnen, bis sie gleich ist, was vielleicht für Ihren Fall ist in Ordnung. Wenn Sie brauchen, um zu sehen, ob sie die elbe Art von Wert und der gleichen Art, Sie wollen dieses ===. Und ich glaube nicht, dass Sie welche haben Fall, in dem du das verwenden müssen in Ihrem pset, aber für viele Sie haben darauf zu den Web-Seiten zu tun für Ihre Abschlussarbeiten und Dinge, es ist eine gute Sache, dass == kennen und === sind unterschiedlich, und es ist eine gute Unterscheidung zu verstehen. Ok. So. Foreach-Schleifen. Sie sind ein Weg, durchlaufen ein Array. Also, einfach wie Arrays wurde so in PHP viel kühler, Ihren Weg zu durchlaufen durch eine Anordnung, denke ich, Auch wird deutlich kühler und viel leistungsfähiger. Also anstatt zu erstellen einige für i gleich 0 ist und was auch immer, und aktualisieren Sie dann, dass i, wie Sie durch gehen, Wir haben diesen fantastischen foreach-Schleife. Also hier ist die Standard allgemeinen Struktur dieser beiden. Also du hast entweder foreach einige Array als der Wert, den Sie als laufen möchten. Das ist also der Name des Arrays Variable, die Sie verweisen möchten, und das ist, was Sie wollen um es innerhalb der Schleife nennen. OK? So entspricht das wobei jedes Element des Arrays, und Sie diesen Wert innerhalb dieser Schleife verwenden. Ich habe ein Beispiel. Ich weiß, Beispiele sind so viel besser. Und so ist, wenn es keine Tasten, so ist dies, wie wenn wir einfach nur eine, wo die Schlüssel sind die normalen Indizes für das Array. Oder dies auch in dem Fall, wenn Sie haben keine Verwendung für die Schlüssel. Wenn Sie kein Interesse daran zu die Schlüssel und Sie nur wollen durch mit den Werten zu durchlaufen Für jede dieser in beliebiger Reihenfolge, das ist in Ordnung. Sie können die Struktur verwenden. Andernfalls, wenn es Tasten unsere $ Value nur Änderungen auf $ Schlüsselwert. Also es ändert nur zu einem Schlüsselwertepaar. Und dann können wir um $ key beziehen und $ Wert innerhalb unserer Schleife. OK? So. Beispiel. Machen Sie es schöner. Ok. Also wir haben diese ein hier, wo wir einige sind-- Sie können auch erstellen Sie ein Array wie folgt indem er einige Variable gleich Array mit Klammern, oder Sie können nur tun Halterung. Sie sollten die Konsole zu tun, aber Dies ist eine weitere Möglichkeit, dies zu tun. Also hier haben wir einige Array aus drei Elemente von einem, zwei und drei, und wir haben unsere foreach. Beachten Sie dieses entspricht dem Array, das wir Iteration über, und das ist, was wir fordern jedes Ding in unser Angebot. Und all dies tut, ist es gehen, um jeden Wert auszudrucken. Also, wenn wir es laufen, bemerken wir, dass wir haben einen Wert ein, den Wert zwei, drei Wert. Und in der gleichen Weise, in der Regel Arrays müssen von einem Typ sein, Arrays nicht für alle sein die gleiche Art hier. So, jetzt haben wir einige int. Wir haben zwei Saiten. Also Ihr Arrays bekommen viel mächtiger und vielleicht ein wenig Bit Messier, je auf dem Weg, dass du es zu betrachten. So können wir das ändern , was auch immer wir wollen. Wir verwenden Wert. Das ist nur die Standard-Sache, die wir verwenden. Aber ebenso wichtig zu wissen, dass wir rufen Sie diese wie Zähler, wenn wir wollten. Und solange sie zusammenpassen, offensichtlich alle sind glücklich. Wenn Sie jemals einen PHP ausgeführt werden soll laufen so etwas wie dieses Befehls Linie, die Sie wissen Hier finden Sie nur tun, PHP, und dann, was auch immer Datei, die Sie ausführen möchten. Also, wenn Sie herum zu verwirren wollen mit PHP und mehr der Logik und Sie nicht wirklich brauchen, um sehen wie in einem Web-Browser, Sie führen Sie es einfach in die Befehlszeile wie die und Echo gedruckt aus, was auch immer Sie mögen. Ok. Die andere Möglichkeit, die wir haben, ist wie diese. Also dies ist ein Fall, wo vielleicht möchten ist sowohl den Schlüssel und den Wert zu verwenden, Ich weiß, das sind wie Super gekünstelt Beispiele aber ich hoffe, sie machen es ein wenig klarer. Also hier haben wir einige Array erneut, aber diesmal, statt nur mit Sie wissen, es gibt keinen Schlüssel. Wir haben Schlüssel für jedes von diesen. So eine ist gonna sein, wird b entsprechen zwei wird und c zu drei entsprechen. Und in diesem Fall wir schreiben es auf diese Weise, wir Zugang zu beiden Schlüssel haben und den Wert für jeden von diesen. Also, wenn wir diese ausführen, wir bekommen jeden von denen. So ist es druckt unsere Schlüssel und die entsprechenden Werte. Eine andere kühle Sache ist, dass, und ich weiß, sagte wie dieser hatte keine Schlüssel, aber es ist immer implizit ein Schlüssel, denn wenn man nicht delegieren weiß ein Schlüssel, natürlich, Ihre Tasten sind nur Ihre Indizes oder Indizes so konnten wir immer auch diesen einen zu tun. So was. Ich werde ausdrucken. Also in diesem Fall, wenn Sie bemerken, wir haben unsere impliziten Schlüssel von null, eins und zwei hier. Und in der gleichen Weise mit diesem, Sie können immer nur sagen, r als Wert, und Sie müssen nur Zugriff auf den Wert. Sie nicht zu kümmern Ihre Schlüssel, auch wenn Ihr verfügt über Standardtasten, Wenn Sie kein Interesse daran haben zu ihnen, die Sie nicht unbedingt tun brauchen, um sie in Ihrem foreach-Schleife setzen. Macht das Sinn macht für alle? PUBLIKUM: Können Sie sich rufen Sie die Tasten, auch? ALLISON BUCHHOLTZ-AU: Ja, du könnte völlig tun das auch. Eigentlich warten. Warten Sie mal. würde es-- No. Wenn Sie den Schlüssel, dann möchten Sie brauchen, um Schlüssel zu Wert zu tun. PUBLIKUM: Wert hinzufügen. ALLISON BUCHHOLTZ-AU: Yeah. Und man kann nie verwenden Wert ist alles. PUBLIKUM: OK. ALLISON BUCHHOLTZ-AU: Wenn Sie setzen Sie einfach eine Sache gibt, es wird angenommen, dass Sie Gespräche über den Wert, nicht der Schlüssel. Gute Frage. In Ordnung. Cool. Eigentlich halten. Lassen Sie mich sehen, was ich habe. Also, bevor wir in Post bekommen und ich nur möchte Ihnen zeigen, Jungs ein wenig darüber, wie es ist dynamisch typisiert, was irgendwie cool ist. Ich habe alle diese. Ich habe, wie vier Beispiele hier oben, und ich werde euch alle diesen Code senden nach dem Unterricht. Also hier haben wir einige Variablen ein. Das ist nur 1 plus 1, oder? Und wir werden zu drucken, was das ist, gleich, und dann haben wir eine Art. Und jemand irgendwelche Vermutungen haben über welche Art es los zu sein? PUBLIKUM: Ein int. ALLISON BUCHHOLTZ-AU: Ja, es ist ein int. So ist es nur fügt sie zusammen. Es ist ein int. Alles gut. Also das nächste, wir haben was sehen aus wie Saiten. Wenn wir dies ausführen, denkt, dass es, oh. Sie sind tatsächlich versucht nur Dinge hinzuzufügen. Sie erhielten gerade verwirrt. Also ich bin gerade dabei, es für Sie zu beheben. Sie bedeutete, int. Ich weiß, Sie int gemeint. Also das ist eine der Möglichkeiten, wie Sie sehen werden, hat PHP einen eigenen Willen. Auch wenn wir ausdrücklich gesagt, suchen, diese hier sind Strings. Ich meine die Zeichenfolge ein. Aber es sagt, oh, aber Sie versuchen, um sie hinzuzufügen, so müssen Sie, dass es eine ganze Zahl ist. Vertrau mir einfach zu diesem Thema. Also sie sagt, es eine ganze Zahl ist, und es ihnen fügt wie normal. Also irgendwie cool, wenn du gehst mit Ihre Sachen zu erhalten faul, oder Sie etwas hinzufügen möchten. Eine tolle Sache ist, dass, wenn Sie denken zurück zu PSet2, etwas, das Benutzer war eingegeben, rechts, dass wir denken, ist ein char oder eine Zeichenfolge auf den ersten. Jetzt haben wir nicht explizit müssen sagen, oh, machen es zu einem int. PHP möchte nur, oh yeah. Ich weiß, Sie einen int gemeint. Albern Sie. Sie wollte nicht einen String. Also in diesem Fall, jetzt dass wir dies, was für denkt ihr, es wird hier zu tun? Wir haben einen String und ein int jetzt. PUBLIKUM: Es ist noch ein int. ALLISON BUCHHOLTZ-AU: Es ist immer noch ein int. Und der Grund ist-- Ich würde setzen mehr Beispiele, aber das hier ist Spaß. Der Grund, es tut es, weil Es ist wie Sie versuchen, Dinge hinzuzufügen sind. Also, wenn Sie versuchen, hinzuzufügen sind Dinge, ich gehe davon aus, vernünftigerweise etwas müssen Sie vernünftig, dass Sie hinzufügen können. Ich bin gerade dabei, es ein int zu machen, und wir sind gerade dabei, es, wie gewohnt hinzufügen. Und dann in der gleichen Weise, I denken Sie Kerle bekommen die Idee. Wir haben auch dieses hier, das ist nur verkohlt, und es tut die gleiche Sache. Es ist wie, du dummer User. Sie wissen, dass Sie einen int möchten. PUBLIKUM: Wenn wir einen Brief, wird es auf die [unverständlich] Wert ist oder nicht? ALLISON BUCHHOLTZ-AU: Oh, das ist eine gute Frage. Mal sehen. Nö, noch ist ein int. So ist es ein wenig verrückt. Dies ist nur eine Art, um Ihnen PHP zeigen kann manchmal in irrational-- verhalten Nicht völlig irrational, aber es könnte sich verhalten in einer Weise, die man nicht wirklich erwarten. Also, wenn Sie Zweifel haben, überprüfen die Arten von Dingen. Diese Funktion gettype kann super nützlich sein. Typischerweise, wenn Sie nichts mit zu tun Pluspunkte oder irgendwelche mathematischen Operatoren, es wird davon nichts vernünftig ist nur ein int. Also, char 1 oder ein müssen Sie String 1, oder der tatsächliche int 1, es geht um, dass zu übernehmen. Wenn Sie möchten typecast überhaupt, Sie total kann. Sie könnten etwas tun verdoppeln hier, glaube ich. Und in diesem Fall, es geht zu sagen, oh. Ich werde dies eine doppelte, weil machen Sie explizit gesagt, es ist eine doppelte. Sie können immer explizit machen PHP etwas tun, aber. PUBLIKUM: Warten Sie, warum ist A plus 1 gibt? ALLISON BUCHHOLTZ-AU: Oh. Da. Es war nur ein Echo. Das war meine Schuld. So können Sie explizit sagen, es zu etwas aus einer bestimmten Art, aber die meisten der Zeit, es ist zu gehen dynamisch entscheiden, dass zur Laufzeit. Also es geht weiter zu machen durch und es ist wohl sein wird, auf OK. Was am meisten macht Sinn dafür zu sein? Sollte es tatsächlich einen String sein? Sollte es ein int sein? Sollte es einen Schwimmer sein? Sollte es eine doppelte sein? Und es wird, dass für Sie entscheiden. Sie können es zu zwingen, zu tun was Sie wollen, aber-- PUBLIKUM: Heißt das, es langsamer machen? ALLISON BUCHHOLTZ-AU: Nun, Ich meine, ist C sehr effizient. Ich denke, es ist auf jeden Fall langsamer, weil es hat das Verfahren, wie es geht. C, ich bin fast sicher, ist schneller. Aber offensichtlich gibt es eine viele coole Sachen hier dass wir nicht zu befürchten. Also, wenn wir auf der Suche durch eine Anordnung, die wir müssen nicht tatsächlich schaffen Einige Such durch das Array. Wir können nur für den Schlüssel fragen und PHP wird sich darum kümmern. Cool. Ehrfürchtig. Sieht aus wie das Ende meiner Beispiele. Ihr Jungs werden nie zu vergessen, dass jetzt. Du wirst sein wie, oh, ist PHP einfach wie die Mutter, die ist wie nein, nein, nein. Ich weiß, was du meinst. Ich weiß, was Sie wollen. Ok. Also das ist, hoffentlich, nützlich für Ihre pset zumindest zu Beginn, weil du alles über den Umgang sind mit Formen und Dinge vom Benutzer. Also gibt es zwei Möglichkeiten, die wir passieren rund Info mit PHP und HTML wenn wir vorbei zwischen diesen beiden Dingen. Wir haben also $ _GET, die übergeben wird über die URL, und wir haben $ _POST, die in der Nachricht geführt wird Körper, und so halten wir es versteckt. Aber eine Sache zu verstehen ist, dass keines von beiden gelten als sicher. Wenn Sie jemanden haben, der Abfangen der Nachrichten, die hin und her zwischen Ihnen und dem Server, sie noch diese Daten bekommen können. Sie müssen nur ein wenig härter aussehen. Es ist nicht wirklich dass-- es ist nur aus der URL versteckt. Es ist immer noch in den Nachrichtentext, aber so, wenn sie Zugang zu, dass, es ist wirklich nur like-- Es ist wie der Unterschied zwischen etwas wobei auf der Außenseite geschrieben ein Umschlag und etwas Befinden geschrieben auf einem Stück Papier im Inneren. Es ist nicht so schwer, den Umschlag zu öffnen und erhalten Sie das Stück Papier im Inneren. Zugegeben, es wäre viel einfacher würde gerade gelesen das draußen. Aber das ist, wie Sie Art zu denken von diesen. Keine dieser wirklich als sicher. OK? Zugegeben, nicht wirklich egal für Ihre pset weil Sie nicht zu tun mit Geschäftsgeheimnissen, aber es ist typischerweise ein Sache, dass wir wirklich gerne, weil die Menschen zu betonen denken, oh, gut, es ist versteckt. Es muss Super sicher sein. Nein. Es ist nicht sicher. Es ist nur leicht weniger unsicher, schätze ich. Oder unsichere. So haben wir eigentlich ein Beispiel. Wie Sie wissen, ich liebe lehren mehr mit Beispielen. Ich fühle mich wie das hilft besser. So haben wir einige einfache Form hier die eigentlich, wenn du Jungs sind immer über PHP verwirrt, das ist wirklich klein, aber php.net ist eigentlich wirklich gute Dokumentation. Ich mag es wirklich. Ich benutzte es, um sich darauf vorzubereiten Abschnitt, so kann ich Tierarzt es für Sie. Dies ist ein Beispiel von ihnen wie $ _POST und $ _GET Arbeit. Der einzige Unterschied zwischen den zwei von diesen, neben dem die Informationen angezeigt wird, ob es in der URL oder in den Körper, ist auch Was das Verfahren. Also in Ihrem Formular für HTML-- Diese ist eine sehr einfache HTML-Formular. Kann mir jemand sagen, was es tut? PUBLIKUM: Fragen Sie nach Ihrem Namen und Alter. ALLISON BUCHHOLTZ-AU: Genau. So haben wir einige Formularaktionen. Das lässt uns wissen, dass es einige Akts. Und was wird passieren ist, wenn wir getroffen abschicken, es geht um rufen action.php, das ist, was das ist, und es wird es nennen mit einem Verfahren der $ _POST. Also in diesem Fall, Ihre Informationen verborgen ist. und es ist nur Ihr Name, einige Eingangstyp namens Namen, manche Alter, input type = "text", die wir auch anrufen Alter. Und dann, wenn wir getroffen abschicken, Senden rufen action.php. Also, wenn wir tatsächlich getroffen abschicken, wir wissen, dass es eingeschickt hat, per se, und wir werden tatsächlich sehen das Ihr Problem eingestellt, dass wir hoffentlich werde bekommen, um durch ein wenig laufen. Und alles was man hier macht ist POST einige superglobalen Variablen dass wir darüber gesprochen während der Vorlesungs. Und wie Sie denken über $ _POST ist dass es nur ein assoziatives Array. OK? Das ist also einige Schlüssel, diese einige Schlüssel, und was auch immer die Benutzereingabe wird zu einem Wert für jede von ihnen. OK? Also, wenn das, was dieses Array zu schreiben waren wir tatsächlich aussah gleich nachdem wir vorgelegten Form, würden wir haben, das ist unser $ _POST, und einige Array, in dem wir einige Namen. Sagen wir einfach, wir werden meinen Namen zu tun, und dann haben wir einige Alter, 21. Woo. Also das ist alles $ _POST ist. $ _POST ist nur ein assoziatives Array, OK? Es sagt nur, OK. Was sind die Dinge, die wir gefragt von dem Benutzer? Was sind die Variablen dass wir in der Umgebung vorbei dass wir in dieser Form gefragt haben? Und dann, was sind die Werte damit verbunden? Also in diesem Fall, wenn ich legte sie mit einem Namen von Ally und einem Alter von 21 Jahren, das ist, was $ _POST aussieht. OK? Und das ist, was diese PHP-Datei Zugriff hat. In Ordnung? So dass in diesem Fall ist dies wie immer eine andere Sache aus unserem Array. Anstelle eines Index in unserer Array, haben wir einige der wichtigsten. Also das wird geben mir der Wert am Schlüsselnamen. Also das wird Ally sein und hier dieses Recht wird mir geben der Wert bei $ _POST, wo die Schlüssel ist das Alter, die 21 Jahre alt sein wird. Du wirst sein dabei ist eine ganze Menge. Ja, aus dem ein Teil? PUBLIKUM: Wann waren Sie zeigt auf den unteren Teil. ALLISON BUCHHOLTZ-AU: Das Unterteil? Ok. Also, verstehen Sie dies ist unser HTML zu bilden, und wir haben eine Methode $ _POST, was zählt. Dies könnte auch $ _GET sein, aber zu diesem Zweck wir nur sagen, es ist $ _POST. Wenn wir dieses Formular, ist dies Teil einer PHP-Datei, die aufgerufen wird. Also das PHP-Datei wird jetzt ausgeführt angesichts der Informationen aus unserer HTML Form. Also, was es tut ist, wenn wir Hit Submit auf unserem HTML-Formular, es ist vorbei Sie diesen Superglobal, Das ist nur ein assoziatives Array. Es ist diese. Es ist genau wie beiläufig, dass auf die Datei. Und was sie sagt, ist, OK, hier ist $ _POST. Es ist Ihr assoziatives Array. Macht damit, was Sie wollen. Und wir sagen, OK. Gib mir den Wert an Namen, und gib mir den Wert im Alter. Also das sind nur Schlüssel, und das ist unser Angebot. Macht das Sinn macht? PUBLIKUM: Mhmm. ALLISON BUCHHOLTZ-AU: Awesome. PUBLIKUM: Wenn Sie auf die erneut Form bedeutet es nur über die Daten zu schreiben? ALLISON BUCHHOLTZ-AU: Yeah. Mhmm? PUBLIKUM: Warum haben Sie um anzugeben, dass es ein int? ALLISON BUCHHOLTZ-AU: In diesem Fall wird die Benutzer nur zwingt ihn, vom Typ int sein. PUBLIKUM: OK. ALLISON BUCHHOLTZ-AU: Ich weiß nicht, wenn Sie tatsächlich benötigen würde, dass, aber für ihre Zwecke, beschlossen sie dass sie wollte, dass es ein int sein. Sie sind nur Typumwandlung es. Vielleicht nutzen sie sie als etwas anderes später. Dies ist nur ein Snippet. Ja? PUBLIKUM: Was, wenn sie eingegeben 12, T-W-E-L-V-E, die für das Alter? ALLISON BUCHHOLTZ-AU: Wenn sie versucht, das als Typ int? PUBLIKUM: Yeah. ALLISON BUCHHOLTZ-AU: Ich vergessen, was das bedeutet. Ich denke, es könnte versuchen, konvertieren das erste Zeichen in einen int, oder nehmen Sie den Wert und konvertieren es, aber ich vergesse, was genau es. Seien Sie ein Spaß, was zu schreiben ein Programm und versuchen. Haben ein paar Zeilen. OK, so ist dies eines der wichtigsten Dinge, die Sie gehen zu tun. Ich werde hoffentlich gehen durch ein paar der Dateien vom pset mit euch. Es sieht aus wie wir zu gehen Zeit haben, so können wir das tun. Aber du sein wirst tun eine Menge Dinge wie diese, wo man vorbei sind Dinge aus einem HTML-Formular in diese PHP Form, die dann einige Reihe von Anweisungen ausführen auf die Daten, die bereitgestellt wurde. Das ist buchstäblich der Kernpunkt Ihrer pset. Ja. PUBLIKUM: Der type = "submit", dass macht einen Knopf auf der HTML-Formular. Gibt es Wege zu rufen dass Taste etwas? Du möchtest also name = "Eintragen" sein? Oder wird diese Schaltfläche gerade dabei, sein entleeren gerade jetzt, weil Sie nur gab es einen Typ, kein Name. ALLISON BUCHHOLTZ-AU: Ich denke, es ist nur gehen leer zu sein jetzt. Wir können auf jeden Fall in der Suche pset, denn wir werden auf jeden Fall werden Blick auf die registrieren Art der Sache. Aber ja, können Sie definitiv festlegen der Text, den Sie auf Ihrer Taste. OK, also SQL. Wenn Sie den Kauf und Verkauf von Aktien, Sie brauchen den Überblick über die zu halten. So ist die Art, wie wir gehen, um das zu tun ist mit SQL, die nur eine Datenbank. Betrachten Sie es als ein Tisch, an dem Sie halten alle diese Informationen über Ihre verschiedenen Benutzern. Und ihr seid tatsächlich werde einer von ihnen zu erstellen. Es ist ziemlich cool. Und es gibt nur vier wichtigsten Dinge dass Sie für diese pset wissen müssen, und sie sind zu aktualisieren, so dass Sie die Daten grundsätzlich zu aktualisieren. Das setzt voraus, dass es schon da. Wenn er nicht da ist, wird es um Sie mit einem Fehler betroffen, so vielleicht die Sie überprüfen möchten. Und Sie werden aktualisieren on-- I sollte actually- ich Zeit habe, Ich werde ein paar von diesen zu schreiben. Ich werde tatsächlich geben euch ein paar Probe, voller SQL-Befehle, denn das sind nur die Haupt diejenigen, aber man kann sie miteinander zu verbinden. Also werde ich das tun und ich werde senden dass zu Ihnen mit diesen Noten. Also, wenn Sie etwas aktualisieren möchten, brauchen, um es zu sagen, was Sie aktualisieren sind und wo du bist Aktualisierung. So würde eine typische SQL-Befehl Update sein ID, wo etwas ist gleich etwas. Oder wie Update-Adresse wobei ID gleich 3 ist, und dies würde das Adressfeld zu aktualisieren Ihrer Benutzer, der eine ID von drei hat. OK? Also, wenn Sie SQL und W3Schools gehen, sie haben awesome Beispiele. In der Tat könnte ich ziehen einige bis in ein wenig. Und dann eingefügt werden, du bist nur Einfügen bestimmter Werte gibt. Also, wenn Sie versuchen, etwas Neues zu schaffen sind Eintrag, so dass Sie einen neuen Benutzer erstellen, Sie fügen in tun könnte was auch immer Ihre Datenbank aufgerufen wird, und Sie müssten alle diese Werte. Dann müssen Sie wählen, Wählen Sie Werte anzuzeigen. Also, wenn Sie versuchen, um zu überprüfen, sind sehen, ob ein Benutzer vorhanden ist, oder du bist versuchen, greifen spezifische Informationen über einen Benutzer du gehst zu verwenden wählen. Und löschen Sie dann, denke ich, ist ziemlich einfach da. Sie sind einfach zu löschen etwas aus der Tabelle. Und in der Tat, lassen Sie mich eigentlich ziehen einige Beispiele für euch. Oh schau, es ist mein 61-Seite. Also, wenn wir gehen, um W3Schools, hoffentlich ist es wieder auf. Ja, liebe es. Wir gehen in SQL. Also, das ist hier etwas. Also, das ist eine sehr einfache SELECT. Mann, ich liebe diese Funktion. So können Sie SELECT haben einige Feld von Kunden. In diesem Fall bezieht sich die Kunden Online-Datenbank, die Sie verwenden, Was auch immer Ihre Tabelle aufgerufen wird, und Ein Stern bedeutet, wählen Sie einfach alles. Gib mir ein jeder. Also, ich will nur euch ein zu geben Einige Beispiele, wo dies. Wir haben also SELECT, UPDATE. Also hier ist eine Art der allgemeinen Syntax. So AKTUALISIEREN, was auch immer Ihre Tabellenname ist, und stellen Sie dann ist, wo Sie tatsächlich gehen zu sein, welche Daten Sie ändern sind. So könnte dies Let be-- mir machen hier ein Beispiel. Also das wird be-- Ok. Also habe ich ein wenig Datenbank für uns. Wir werden einige ID haben, einige Jahre, und einige benannt. Also ID ein gehen zu Jahr '15 sein, und wir sind gerade dabei, es mir zu machen. Wer die zweite sein will Person in unserem Tisch? Jeder. Ich werde einfach Emma wählen weil deines Namens schnell. Emma, ​​welches Jahr bist du? PUBLIKUM: In welchem ​​Jahr? ALLISON BUCHHOLTZ-AU: Yeah. PUBLIKUM: '16. ALLISON BUCHHOLTZ-AU: '16. Sie sind gerade dabei, sein meine Meerschweinchen für heute. OK, so haben wir diese zwei Personen. Eigentlich möchte ich das tun. Sagen wir, ich hörte, wie sie falsch, und ich tatsächlich gesagt, sie ist ein Jahr jünger. Sie ist 17. Was wir hier tun, wenn wir wollen wollte Emmas Jahr aktualisieren korrekte Verwendung, dass zu sein, was wir würden zu tun ist, wir würden UPDATE Daten über hier zu sagen. Und das kann alles in einer Zeile sein, aber da ich aus Platz hier komprimiert, Ich werde hier zu schreiben. Und wir wollen einstellen. Das ist also der Tabelle wir aktualisieren. SET wird in welchem ​​Säule sein oder Welche Daten werden tatsächlich zu ändern wir. Was wir verändern ist Jahr, so wir gehen zu sagen SET Jahr = 16, und dann WHERE sagt uns, welche Benutzer oder welche Zeile sind wir eigentlich Aktualisierung dieser. Also, wo? Wir haben zwei Möglichkeiten. Was sind die beiden? Diese sind einzigartig, nicht wahr? Also unsere Namen sind einzigartig und unsere ID ist einzigartig, Was also sind die beiden Optionen denn wo wir dies tun könnte? Ich gebe Ihnen ein. Wir konnten tun WHERE ID = 2, oder wir tun könnten, was ob wir aus diesen Paradigmen hier. PUBLIKUM: [unverständlich]. ALLISON BUCHHOLTZ-AU: Genau. So konnten wir auch tun name = Emma. Und eine dieser funktionieren würde. Und wir liefen diese, würde es aussehen, OK. Wir werden es ändern. Sie sind eigentlich 16, so jetzt bist du wieder in Ordnung. OK, so wäre dies Super in Ihrem pset nützlich wo vielleicht jemand beschlossen 100 Aktien von Apple zu kaufen, und dann waren sie wie, nur ein Scherz. Ich möchte nur 90 Aktien. Und so verkaufen sie 10 von ihnen, so dass Sie müssen, um die Menge der Bestände zu aktualisieren die sie haben. Also, Aktualisierung Aktien, Aktualisierung Tisch. Ok. Also das ist ein Beispiel gibt. Das ist der Update-Syntax. DELETE. Oh. Legen Sie in unsere anderen. So ist dies hier sehr ähnlich. Wir könnten einfach sagen, in diesem Fall lassen Sie jemand hinzuzufügen. Wir können Ben diesmal hinzuzufügen. Wir INSERT INTO, und wir möchten den Namen unserer Tabelle. In diesem Fall ist es Daten. Und dann wollen wir nur, du bist zu gehen sagen Werte und was du tun wirst wird, die Sie tatsächlich benötigen, um sicherzustellen, dass Sie etwas für jede Zeile haben dass Sie wollen. Sie legte sie nur um. Also in diesem Fall, würden wir sagen, 3. Du bist 18, rechte Ben? PUBLIKUM: 19. ALLISON BUCHHOLTZ-AU: 19? PUBLIKUM: 19. ALLISON BUCHHOLTZ-AU: Ihre jährigen '19? Sie absolvieren in '18, nicht wahr? PUBLIKUM: Oh. ALLISON BUCHHOLTZ-AU: Abschlussjahrgang. PUBLIKUM: OK. ALLISON BUCHHOLTZ-AU: Ich war wie, sind Sie plant bereits nehmen ein Jahr Auszeit hier? Also, '18, haben wir Ben. Also in diesem Fall wäre es durchgehen, es wäre einen neuen Eintrag anlegen. Cool. Nicht schlecht, oder? Eine Menge davon ist los sein Syntax für euch. Konzepte kommen sollte, hoffentlich, relativ leicht. Die Syntax ist die einzige Sache, dass ein wenig schwierig sein kann. Und dann unsere letzte ist DELETE und wie Sie feststellen, Ich empfehle diese Website. Es ist toll. Es gibt eine Tonne Material. Also, in der gleichen Weise, wir hatten einige UPDATE, DELETE ist sehr ähnlich. Stattdessen haben wir Löschen von Daten. Also in diesem Fall, unsere letzte ein Ich werde hier unten schreiben. Sagen wir, wir mir löschen wollten. Ich kann nicht schreiben heute. DELETE aus welcher Tabelle in der wir uns, Daten. Und es gibt tatsächlich drei Möglichkeiten Wir konnten wählen, mich zu löschen. Könnt ihr mir sagen, was die drei Möglichkeiten sind, wie Sie mich löschen? ID gleich 1 ist, wobei ID gleich 1. Wir konnten tun, wo Jahr entspricht 15, oder in denen Namen gleich Allison. Natürlich gibt es nur drei verschiedene Möglichkeiten, denn diese sind alle einzigartig. Typischerweise in Ihrer Tabelle, und vor allem in Ihrem pset, Sie gehen zu einem losgehen Diese Spalten eindeutig sein. Es ist wahrscheinlich, einige eindeutige ID sein Zahl, denn wenn man tatsächlich have--, könnte es tatsächlich können Sie zwei. Ich kann mich nicht erinnern, ob es lassen Sie haben zwei von der gleichen Sache. PUBLIKUM: Dann wäre es ihr Verhalten ändern. ALLISON BUCHHOLTZ-AU: es würde. Es wird Verhalten, das unerwartet ist verursachen, dass man nicht wirklich vorhersagen. Sie werden also auf jeden Fall eine Spalte in Ihrer Datenbank, die einzigartig sein wird, und es ist in der Regel können Sie festlegen, es so, dass es wie eine eindeutige ID, und es wird nur aktualisieren jede Zeit, die Sie in die Tabelle einfügen. Jedes Mal, wenn Sie eine neue erstellen Zeile, wird es automatisch erhöhen und ihm einige einzigartige ID. Also Tipp für Ihren pset. Ok. Das ist also SQL. So, jetzt werden wir zu reden das allerletzte, was, was bindet eigentlich ziemlich gut mit Ihren pset, ob es vorwärts gehen. Also MVC, Model View Controller. Das ist wirklich nur eine Möglichkeit die Dinge organisiert zu halten. Auf die gleiche Weise mit C bitten wir euch Funktionen und verschiedene Dinge zu erstellen heraus, das ist nur ein Weg, zu trennen Code, wenn du da Web-Entwicklung sind. So macht es die Dinge viel eleganter und vereinfacht, und dies ist tatsächlich der Weg dass Ihre pset ist eigentlich einzurichten, also, ob es Ihnen gefällt oder nicht, du wirst es lernen, auch wenn Sie nicht denken, Sie lernen es. Und eine Sache ist, es ermöglicht Ihnen auch tun viel mehr wie ein User Collaboration. Also, wenn ich nahm CS50, habe ich ein Website für meine Abschlussprojekt, und ich war wie, ich werde Griff der Datenbank Zeug. Ich komme zu tun Ende Zeug, und mein Mitbewohner, wer ich war und mit ihr war sehr künstlerisch. Sie tut Bühnenbild, und sie wollte es allen recht zu machen. Also ich bin wie, OK. Sie können kümmern all das vordere Ende Zeug. Und die Sache ist, wie wir werden sehr bald sehen, dass Model View Controller können Sie dass Code vollständig zu trennen, so dass ich arbeiten Umsetzung unserer Seiten, und Manipulieren von Daten in unseren Datenbanken, und sie nur Dinge machen könnte hübsch, und wir waren beide sehr glücklich, weil wir, was zu tun wir beide wollten und wir musste nicht mit dem anderen umzugehen. Also haben wir zusammen hing. Wir mögen zum Abhängen. Ich wollte einfach nicht zu bewältigen alle CSS und HTML Zeug. Ich war wie, machen Sie es hübsch. Ich werde mit der Datenbank umgehen. So haben wir das wirklich cool, tolle kleine Tabelle. Ich liebe Tabellen. Und im Grunde, das Modell kann man denken ist nur Ihre Datenbank. Ich war das Modell Person für mein Projekt. Es geht um die Lagerung von Informationen und die Organisation, dass die Daten. So ist es, was wir wollen bis zum Ende zurückrufen. Also ihr Jungs werden zu tun haben die SQL-Datenbank und die Datendateien. Das ist Ihr Modell. Ihre Ansicht, wie Sie vielleicht denke, irgendwie sinnvoll, ist, was Ihre Benutzer tatsächlich sieht. Es ist die Benutzerschnittstelle. Es ist, dass von vorne Komponente. Was mein Mitbewohner Also das ist lernte die ganze Zeit arbeiten. Sie war super glücklich. Also das ist alles, der HTML, und es gibt sehr wenig PHP. Wenn Sie nur darüber zu reden was gerade für den Benutzer angezeigt wird, wir über Hypertext reden. Wir freuen uns über, wie sieht es im Gespräch. Wir reden hier nicht über Logik reden, oder Bedingungen, oder Dingsbums. All das wird bearbeitet durch den Controller, OK? Also das handhabt die Benutzeranforderungen und bekommt die Informationen. Also eine Sache die Sie kennen sollten Ihre pset ist, dass in Ihre Ansichten, alles, was ist eigentlich Anzeige von Informationen sollte niemals machen Anrufe zu Ihrem Modell. All das wird bearbeitet in Ihrem Controller. Ihre Steuerung ist die eine Vermittlung zwischen diesen beiden. Es wird das Modell fragen für bestimmte Informationen. Es kann über laufen, dass Informationen heraus was Sie tatsächlich brauchen aus es, was damit zu tun, und dann wird es weitergeben nur die Informationen, die Sie benötigen zur Ansicht für Sie, es zu drucken aus oder zeigen Sie es dem Benutzer, OK? Denn wir sehen die Ansicht als was auch immer mit Blick auf den Benutzer, so wird es viel einfacher für sie, um herauszufinden, Oh, wenn du machst manche nennen, um Ihr Modell und Sie für alle Benutzer fragst die mit dem Buchstaben A beginnen, und du tust, dass aus Ihrer Sicht jeder, der Ihre Web-Seite sehen können könnte möglicherweise zugreifen, dass. Sie wollen nicht unbedingt, dass. Sie wollen nicht die Menschen zu sehen mehr in die Datenbank als das, was sie sollten sehen werden. Nur ihre spezifischen Vorlieben. Also der Controller das alles. Also alle Ihre .php-Dateien, die wir sehen, können Sie Ihren Controller-Dateien zu betrachten. Und das ist, wo du bist wirklich zu sein Bitte um Dinge aus Ihrer Datenbank, und Iteration oder Manipulation es als notwendig, bevor Weitergabe an betrachtet werden. Es ist eine wirklich coole pset, meiner Meinung nach. Ich denke, es ist ein wenig mehr wie sofortige Befriedigung, weil Sie implementieren ein viele kleine winzige Dinge, und jedes Ding sollte sich auf ihre eigene Arbeit. Nicht wie, alles tun, und dann sehen, ob es funktioniert. Wie bei Software wo du bist, ich bin wirklich gehofft, das ist richtig, denn wenn es nicht, es gibt eine Menge von legt es falsch sein könnte. In Ordnung. Genau darauf achten, dass ich sagte, alles was ich brauchte, um zu sagen, MVC. Ja. Cool. So in CS50 Finance, haben wir unser Modell, wie gesagt einfach hier. Es wird MySQL und phpMyAdmin sein. Ich kann auf jeden Fall ziehen diejenigen up so euch die Chance bekommen, es zu betrachten. Wie ich schon sagte, es Ihre SQL Datenbank fungiert als Ihr Modell, und Sie können senden was wir Anfragen, die gerade diese Art von Dingen sind. Diese werden eine Abfrage aufgerufen. Dies ist eine Abfrage, wo Sie gerade sind fragen Sie Ihre Datenbank für etwas, oder Sie ändern Ihre Datenbank in irgendeiner Weise. Das ist alles, es ist. Und Sie, dass mit dem zu tun Funktionen haben wir Ihnen hier angegebenen. Sie können auch zu manipulieren sie mit der Hand über phpMyAdmin, die wir auf jeden Fall einen Blick auf. Ich werde ein Beispiel zu erstellen Datenbank mit euch. Ok. So Controller. So dass in diesem Fall, wenn man Hinweis, das ist alles PHP. Beachten Sie, dass ist eine Art Ihrer Hauptsache des Controllers ist, dass es sich größtenteils PHP. Wenn Sie in Ihrem Controller haben HTML, nicht wirklich, was dort vor sich geht. Auf die gleiche Weise wie ich schon sagte, wenn Sie zu [unverständlich] mit HTML verwalten, Ich bin wirklich interessiert. Also, was wir hier haben, ist, dass Sie einige Fragen haben. Abfrage ist eine Funktion, wir für euch gebaut. Es ist wie ein Wrapper, um Abfragen zu machen zu Ihrer Datenbank ein wenig leichter. Wenn Sie nicht haben, dass die Syntax für tatsächlich um Ihre SQL-Datenbank im Gespräch Anders wäre es, so dass wir nur liefern sie für euch. Wir mögen das Leben leicht zu machen. Also in diesem Fall, können Sie Jungs sag mir, was diese Zeile tut? SELECT * von irgendeinem Tisch. PUBLIKUM: Wählen alles aus dieser Tabelle. ALLISON BUCHHOLTZ-AU: Genau. So ist es zu sagen, gib mir alles aus dieser Tabelle. Und es ist in Speicherung einige variable Ergebnis. Und das sagt, wenn das Ergebnis nicht gleich zu falsch ist, dann tun wir jedes dieser. Also, wenn es hier nichts, wenn Ihr Tabelle leer oder es einfach nicht vorhanden ist, es wird false zurück. Also in diesem Fall, wir nur machen sicher, dass etwas tatsächlich an uns zurückgegeben. Und dann hier, haben wir unsere große foreach-Schleife dass wir über unsere Iteration Ergebnis und wir nennen es rudern, und wir sagen machen diese Vorlage wo Ihre Daten sind diese Resultat. OK? So ist es nur die Verarbeitung die Reihe von dem Ergebnis. Sonst schreit es. So ist dies ein Beispiel der Steuerung. Wie Sie sehen, ist dies die nur place-- Ja, sorry? PUBLIKUM: Warum gibt es ein kaufmännisches vor Zeile? ALLISON BUCHHOLTZ-AU: Ein kaufmännisches Und vor Zeile. Wir sind nur Iteration. Das ist auch eine Adresse von-- PUBLIKUM: So ist es wie C Referenzierung. ALLISON BUCHHOLTZ-AU: Es ist dafür sorgen, dass Sie tatsächlich sind Änderung des ursprünglichen und nicht eine Kopie. Es ist in der gleichen Weise mit C, wo wir durch Bezugnahme vorbei hier, nur um sicherzugehen. PUBLIKUM: Ist es nicht == anstelle von nicht = in PHP? ALLISON BUCHHOLTZ-AU: Es ist nicht das ==. PUBLIKUM: Weil gleich in C ist just-- ALLISON BUCHHOLTZ-AU: Es ist einfach nicht =. Ja, nein. Es ist nicht ==. Weil == in PHP prüft Gleichheit mit Makeln, gewährt, aber zusätzliche Qualität. Also, es ist nicht in PHP ==. Es ist eines der kleinen Syntax Unterschiede. Ja. Also sind wir nur Iteration durch jede Reihe, und machen, wenn euch durch Ihre spec lesen, ist nur eine andere Funktion, die ist eigentlich los, um alle HTML verarbeiten und zeigt es in Ihrem Web-Browser für Sie. Ok. Also, wir möchten Ihre Controller denken wie das, was die Geschäftslogik verarbeitet. Wie Sie hier sehen, das ist, wo wir sind nehmen unsere Daten aus der Tabelle, Wir sind es in irgendeiner Weise, und dann sind wir vorbei es ab. Wenn wir das tun machen einige Vorlage, einige Vorlage ist aus unserer Sicht, und wir sind nur Leiten die Daten, die es bekommen sollte. Nicht alle Daten. Nur die Daten, die wir wollen, dass es zu bekommen. OK? Grundsätzlich werden die Daten nach der Verarbeitung. Das ist also der Ansicht, dies die Summe Vorlage, die wir haben, Und all dies ist tut, können Sie habe ein kleines PHP aus Ihrer Sicht. Es ist nicht wie ein kein PHP im Blick. Sie sollten einfach nur sehr minimal PHP in der Ansicht, und Sie sollten nie sein Abfragen aus Ihrer Sicht. Sie sollten sich nicht zu sprechen Ihre Datenbank aus Ihrer Sicht. Das ist der große Unterschied. Also, was ist denn hier los ist, haben wir PHP, die durch die Reihe Iteration ist. Also in diesem Fall, da wir Durchlaufen jeder Zeile und Rendering etwas, das war wahrscheinlich auch eine zweidimensionale Anordnung wo wir einige Zeile, ist an sich eine Anordnung, weil wir Iteration durch sie wieder. Und wir sind nur Ausdrucken die Zeile Name, dann beenden Sie ihn. Sie sollten nicht diese in der foreach. Ich habe das noch nie wirklich gesehen. Ich mache nur foreach. OK, das ist also der Blick. Lassen Sie uns sehen, ob wir zu Fuß durch ein bisschen von Ihrer pset. Wir haben 15 Minuten Zeit, also bin ich sicher, dass Sie Jungs würden, dass mehr als nur gefallen früh endet. Lassen Sie mich sehen, ob ich das bringen. Also ich weiß nicht, wie viele von euch habe es heruntergeladen und was nicht alles noch, aber wir haben hier Benutzername, und wir haben einige vergessen. Und leider Recht jetzt die Datenbank leer, so dass wir wirklich brauchen um eine Datenbank zu erstellen. Nun, das ist seltsam. Haben Sie nicht erwarten, dass. Technische Fehler. Technische Schwierigkeiten. Wir haben einige pset7. Cool. Also, eins, was Sie tun können, ist, mit a query-- Ich werde eine Tabelle zu erstellen. Also das wird users-- sein, was Sie hier ist zu tun, wenn wir some-- Wirklich jetzt? Ok. Offensichtlich mache ich nicht so heiß. Oh. Ich weiß, warum. Weil ich niemals angelegt meine eigentliche Tabellen. Also, wenn Sie zuerst beginnen mit eine Datenbank, die Sie offensichtlich müssen entscheiden, was sind die Dinge, die ich brauche, um in hier zu haben? Also, wenn wir gehen gerade weg unsere Datentabelle hier wir hatten einige ID, die kann nur bleiben ein int. Und wenn wir hier über Aussehen, gibt es eine coole Sache dass-- So Index. Wenn Sie primäre tun, wird es machen es die Sache, die Ihre Tabelle wird organisiert, und es wird auch machen sie einzigartig. Also in diesem Fall, werden wir es primäre machen, und ich werde diesen Namen zu machen, dann werden wir nur machen es zu einem varchar der wie 26 Buchstaben, denn warum nicht? Und dann können Sie gehen, um zu speichern und dann wenn Sie sehen, wir haben einige User hier. Wenn wir also eine tun wollte legen wir es tun könnte auf diese Weise, oder wenn Sie der Praxis gesucht mit Ihrem queries-- Oh boy. Ich habe nicht in ewig verwendet diese. Ich nutze diese zurück. Sie können diese auf eigene Faust entweder bearbeiten nur durch manuelles Einfügen Informationen mit so etwas wie Sie kann sich einer dieser Werte wenn Sie make-- Wenn Sie wollen wollte Namens plötzlich loszuwerden, können Sie löschen, Sie all diese Dinge tun können. Wenn Sie jemals brauchen Ihre Tabelle manuell zu ändern, Ich schlage vor, es zu tun in phpMyAdmin gegen versuchen um herauszufinden, das SQL Abfragen im Allgemeinen. Beim ersten Einschalten Ihres pset starten, Sie gehen, hier zu arbeiten, um zu haben, so daran gewöhnen, dass. Und dann, wenn Sie wirklich wollen die Dinge in Ihr table-- einfügen Ich frage mich wirklich, wo das ist, weil there's-- Leider ist. Das ist, was ich wollte. Also, wenn Sie SQL gehen, könnten Sie tatsächlich sehen, wie wir hier sehen, wir haben von SQL-Abfragen. Also, wenn wir etwas wählen wollte oder wenn wir wollten etwas einzufügen, Wir fügen in die Nutzer tun können, oder? Ich denke, man den Backslash müssen. Eine Sache, zu wissen, ist, wenn Sie jemals mit gerade dies, Sie diese wieder verwenden Apostrophe, die typischerweise, wenn Sie auf einem Mac, direkt über Register. Also eine gute Sache zu wissen. Sie könnten in Benutzer einfügen, und wir haben unsere Werte, nicht wahr? So haben wir Werte und unsere Werte in diesem Fall wäre nur, wir haben nur eine ID, so dass wir könnte man tun, wenn wir wollten. Das ist seltsam. Ok. Also das ist wie eine kurze Kleinigkeit mit SQL, aber es könnte sinnvoller sein, tatsächlich sein Blick auf einige der Dateien hier. So gehen Sie zu Downloads. Oh, nicht Downloads. Also, nur ein kurzer Durchmarsch durch was in jedem dieser Ordner. Es beinhaltet, haben wir nur die Dinge dass Sie Ihren Browser, Wir haben diese Konstanten, und wir haben diese Funktionen. Wenn Sie Interesse an einer von ihnen bist, Ich empfehle Blick auf Funktionen. Einer von ihnen, dass ist super nützlich, tatsächlich ist dieser hier, dump. Also, wenn Sie diese verwenden, Es wird tatsächlich nur ausdrucken unabhängig variable dass es Ihnen gefällt, um. Also, wenn Sie Probleme herauszufinden sind Sie heraus, was dieses Array aussieht, oder was diese Daten tatsächlich, wie es formatiert ist, das ist eine große Sache zu nutzen. Vor allem, wenn Sie eine Benutzer mit mehreren Lager, dies sein wird etwas Großes zu bedienen. Denn es könnte sein formatted-- Ich weiß, zumindest für mich, als ich dies pset, wurde es in einer Weise formatiert dass ich nicht ganz erwartet. Also habe ich versucht, zu iterieren es und versuchen, es zu manipulieren, aber ich habe nicht wirklich verstehen, was ich tat. Also, wenn Sie nur Dump, wird es drucken Sie es aus an den Browser, und sehen Sie genau, wie es formatiert ist. Es wird in der Regel drucken Sie es aus, wie ein Array mit Schlüssel und seine Werte. So ist es dort helfen kann. Es kann auch dazu beitragen, dass Sie sicher, dass Sie tatsächlich sind packte den Daten, die Sie dachten, Sie waren. Also, wenn Sie auf jeden Fall waren wie, meinen Tisch sagt, es gibt ein Benutzer mit dieser ID, aber wenn Sie gehen auf die Deponie Variable, es ist nicht da, Sie offensichtlich wissen, dass das wo ein Fehler passiert sein. Dies ist eines der besten Werkzeuge zum Debuggen, meiner Meinung nach. Und dann gibt es eine paar andere Dinge hier, aber in den meisten Fällen, das ist das ein Ich möchte Ihre Aufmerksamkeit lenken, da es sehr hilfreich. Öffentlich, was wir hier haben, ist, dies alle unsere CSS Zeug. Also CSS, Schriften, Bildern, was nicht alles. Das ist alles Zeug, Sie müssen nicht zu ändern. Könnt ihr etwa wenn diese denken hat Dinge wie CSS in den Schriften, wäre dies ein Modell sein, oder eine Ansicht oder ein Controller? PUBLIKUM: [unverständlich] ALLISON BUCHHOLTZ-AU: Es wäre eher ein Blick, oder? Das ist alles Handhabung Dinge, wie die Dinge aussehen. Also, wenn wir hier öffnen Sie diese, sehen wir dass alles, was hier passiert ist, dass wir etwas machen. OK? So wäre dies sehr viel als Sicht dafür qualifizieren. So ist dies nur unter einigen, es ruft einige portfolio.php dass wir, und es ist vorbei in Titel und Portfolios. Und es ist einfach, dass Rendering. Eigentlich habe ich das zurück. Dies ist eine Steuerung, weil machen, denken Sie daran, macht die Aussicht. In diesem so portfolio.php Fall würden Sie die Ansicht sein. Sorry, Jungs. Portfolio.php sein wird, Ihre Ansicht, und dies würde nur dein Controller dafür. Und wenn wir einen Blick auf diese letzte hier, Vorlagen, Vorlagen sind alle Ihre Ansichten hier. Also, wenn wir hinschauen, offensichtlich wir sehen eine Menge von HTML hier. Also das man nur zeigen Ihnen, was Die Login-Seite aussehen soll. Man merkt, wir haben einige Gruppen bilden, haben einreichen. Hier ist, wie Sie sich entscheiden, was wird dort angezeigt. Sie haben einige Button type = "submit", und dann haben Sie was Sie wollen in-Taste abrufen. Also das ist, wie Sie es schaffen würde zeigen sich als was auch immer Sie möchten. Und wir sehen, haben wir hier einige Benutzername, einige vergessen, und wenn wir tatsächlich getroffen abschicken, es geht um einige Post, und es geht um das, was zu schreiben? Was ist der Controller für diese Ansicht? Wenn wir getroffen abschicken, was wird genannt werden? Wissen wir? Es ist hier, so login.php. Etwas, das man Jungs sind gehen zu implementieren. So können Sie immer sagen kann was los zu sein aufgerufen, nachdem Sie getroffen abschicken durch diese erste Zeile hier. Was die Form Aktion. Wenn dieses Formular gesendet wird, Welche Maßnahmen können wir ergreifen? Wir nennen login.php, und wir nennen es mit dieser Methode der Post, die hat der versteckte Informationen. OK? Also das ist Ihre Ansicht, und dann offensichtlich wenn wir gingen zu Do login.php-- wir es haben noch? Ja. So wie wir hier sehen, diese hat viel mehr Logik. Es ist alle unsere PHP hier. Wir versuchen, um zu sehen, ob es $ _GET, wenn es $ _POST, Validierung Dinge, Abfragen, all dieses Zeug. Das sind also nur die drei verschiedene Dinge hier. Sie müssen nicht die Dinge zu ändern. Du wirst Dinge werden schaffen in Vorlage, möglicherweise, aber so weit wie HTML oder Styling von alledem geht, Sie können es als Klar verlassen oder so kompliziert, wie Sie möchten. Manche Menschen bekommen wirklich in sie und machen einige ziemlich genial Websites. Sie müssen nicht, das zu tun. Wenn Sie Zeit haben, ist es eine wirklich coole Sache. Sie können mit CSS und HTML herum und erhalten Sie ein viel besseres Gefühl dafür, aber nicht das Gefühl unter Druck gesetzt. Es gibt viel für Sie auf das zu tun Backend mit der Durchführung anzumelden, und registrieren, und all diese Dinge. Also hoffentlich das hilft ein wenig. do you guys Fragen über alles, was wir haben übergegangen, alle anderen Ressourcen? Ich werde auf jeden senden alle meinem Beispiel PHP-Code, um euch, und dann fühlen sich frei zu nehmen Bilder oder Dingsbums dafür. Auch ist es online. Sie können immer nur wieder zu sehen. Also wenn es das ist es, jeder gut? Ja. PUBLIKUM: Ich möchte nur um zu bestätigen, wenn wir Dabei wählen Sie in SQL, die Ein Stern bedeutet, alles, nicht wahr? ALLISON BUCHHOLTZ-AU: Ja. PUBLIKUM: Und dann, wenn Sie haben nicht die Sterne, wenn Sie wollen, dass es aus einer bestimmten nehmen Reihe, dann setzt man den Namen von-- ALLISON BUCHHOLTZ-AU: Der Name der Reihe und was Sie wollen, dass Sie den Wert möchten. PUBLIKUM: Und dann das Datum. ALLISON BUCHHOLTZ-AU: Was auch immer Sie, ja suchen. Auf die gleiche Weise, wenn Sie das tun DELETE * ab einige Tisch, es wird alles zu löschen. Also, das ist nur eine wilde * Karte für alles. PUBLIKUM: OK. ALLISON BUCHHOLTZ-AU: Kühle. Ehrfürchtig. Nun, haben eine große Montag, Jungs. Wir sehen uns nächste Woche. Viel Glück auf Ihrer pset.