>> Sie kann von erinnern letzte Mal, dass wir sahen
an diesem letzten Beispiel von MVC,
ein Modell-View-Controller Architektur,
und es ist ziemlich viel gekocht
auf Dinge zu organisieren ein wenig sauberer
in Verzeichnissen.
Und wenn ich Baum zu tun, Das ist nur ein Befehl
zeigt mir, dass das Dateisystem wie diese, hatten wir einen schönen
und ordentlich Vorlagenverzeichnis, ein öffentliches Verzeichnis, und so weiter.
Und die allgemeine Idee wurde nur gestellt
im öffentlichen Verzeichnis die Dateien, die wirklich brauchen
Öffentlichkeit, und alles zu sein sonst sollte gut organisiert sein.
Aber effektiv, innerhalb dieses öffentlichen Verzeichnis hatten wir alle
ganze Reihe von Controllern, einzelnen Steuerungen
dass irgendwie erforderlich oder andere Dateien enthalten.
Aber wir haben nicht viel bekommen mehr Funktionalität als das,
und in der Tat, wir irgendwie musste diese Vorstellung von Ansichten zu implementieren,
oder Vorlagen, uns selbst, mit dem Extrakt Funktion
machen und eine Funktion, die wir uns implementiert.
Und wie es ist, wir tun beginnen Dazu werden wir beginnen zu erkennen, -
wir beginnen den Aufbau einer Merkzettel, wie, oh, wow,
Ich wünschte, ich hätte eine Bibliothek für das Senden von E-Mails.
Ich wünschte, ich hätte eine Bibliothek für die Erstellung einer Datenbank.
Ich wünschte, ich Bibliothek für Punkt Punkt Punkt.
Und das ist, warum diese Bibliotheken existieren.
Dies ist, warum Menschen nutzen Django mit Python,
weil es Ihnen einfach mehr.
Es ist, warum Menschen nutzen Schienen mit Rubin
weil es Ihnen einfach mehr.
Das ist, warum wir Laravel verwenden da oben auf PHP,
es gibt Ihnen einfach mehr.
Und nur um dich zu lehren, dann, für einen Moment, ich werde gehen
in einen V-Host-Verzeichnis
in eine Beispielanwendung Verwendung Laravel.
Auf den ersten Blick, ehrlich gesagt, ist es wahrscheinlich ein wenig überwältigend
weil es so viele Dateien, so viele Verzeichnisse,
aber das Wichtigste ist, und wie wir werden nach einer kurzen Pause zu sehen,
ist nur auf konzentrieren die meisten Dinge Germane
darum geht, eine Arbeit erledigt zunächst, und das wird
in der apt-Verzeichnis sein.
Wie Sie sehen und hören gibt sind immer noch eine Reihe von Ordnern,
aber die, die gehen, um auf Pflege über, in erster Linie sind dies.
Wenn ich öffnen Zwischenhalt PHP, Bekanntmachung, die als Teaser,
wie diese Anwendung ist etwa an die Arbeit.
Dies ist eine Neuimplementierung in Laravel
der super einfach Natürlich dumm Anwendung
, die mir Woche Null, Woche ein, Vorträge, und die PDFs.
Ich bin einfach da, um anzugeben - mein Bildschirm ist ein wenig abgeschnitten,
wieder - Ich bin zu gehen geben Sie den folgenden
Ich möchte, dass eine Route definieren über HTTP get für Schrägstrich,
und immer, wenn ein Benutzer für diese Anwendung Besuche Schrägstrich
auf meiner Webseite möchte ich ausführen der anonyme Stück Code,
nämlich zurück Ansicht Doppelpunkt machen.
Dies bedeutet also, ein Anruf statische Methode innerhalb
der eine Klasse namens Ansicht, und Make macht eine Vorlage
das nennt man Index und es geht in einem Bündel
von Schlüssel-Wert-Paare, in diesem Fall Titel.
Inzwischen, wenn der Benutzer Besuche Schrägstrich Vorträge,
dieser Code ausgeführt werden soll,
Vorträge und die Vorlage gerendert werden sollte.
Schließlich, wenn der Benutzer besucht Vorträge Schrägstrich etwas,
wo, dass etwas, je der Boden hier eine Anzahl,
eine oder mehrere Dezimalstellen
dann will ich machen die Vorträge Vorlage,
vorbei in den Titel als gut.
So dass das Endergebnis ist, dass -
wenn ich eigentlich ziehen Sie diese Anwendung in meinem Browser,
das Endergebnis - hoppla.
Das Endergebnis ist, genau das gleiche,
wenn auch mit etwas URLs jetzt sexier.
Jetzt ist es ein Vortrag Strich 0 Woche statt Nullpunkt PHP.
Aber lassen Sie uns hier anhalten.
Werfen wir einen Zwei-Minuten- brechen, und wenn wir zurückkommen,
Tim wird kommen auf und stellen uns
dem Innenleben von Laravel und der Art
der Funktionalität, die wir sind Begriff, aus der Box zu bekommen.
>> Alles klar, so, jetzt sind wir sein werden, um einen vertiefenden Tauch
in die Laravel PHP-Framework, die David erwähnt.
So Laravel, der erste Platz wir werden beginnen wird
Im Quickstart-
und die Installation über etwas namens Composer.
So ist ein Komponist Paket-Management-System
für PHP ähnlich Edelsteine ​​für Ruby oder Pit
für Python-oder MPM für No JS.
Komponist hilft, alle verwalten die verschiedenen Abhängigkeiten
Laravel, dass hängt davon ab, wann - Art, unter der Haube.
Es verwendet eine Menge von der Sinfonie,
eine andere PHP Frameworks Innenleben.
Und so werden wir die Kommandozeile verwenden
dass sie uns hier geben, Komponist Projekt erstellen Laravel Laravel,
nachdem wir installiert haben der Komponist Dienstprogramm
das habe ich schon auf der getan - mal sehen.
Also ich bin mit dem CS 50 Gerätes
weil dies die ganze PHP-Versionen und meine SQL
und alles, was wir brauchen gestartet laufen lassen.
Also werde ich weitermachen und ziehen Sie die Klemme hier
und in den v-host springen Verzeichnis, und ich werde
dies zu fügen - oh, ich kann es nicht auf diese Weise.
Also bin ich zu SSH gehen zu der Linux-Instanz
dass ich in der VMWare laufen lasse.
Und ich werde das laufen Komponist erstellen Projekt Laravel,
und ich bin zu gehen ändern Sie Ihr Projektname
nur Beispiel dot dev.
Und hinter den Kulissen
das dauert eine Weile, das erste Mal, du gehst
, es zu tun, aber es ist Installation aller Abhängigkeiten
dass Sie zu gehen müssen Laravel laufen.
Also hoffentlich tut nicht zu lange dauern.
Es sollte einfach nur eine Sekunde.
Das erste Mal, dass Sie es tun, wird es ein paar Minuten dauern,
wahrscheinlich, weil es braucht, um alles zu bekommen.
Ich habe sie alle hier zwischengespeichert.
So, jetzt haben wir beispielsweise Punkt dev, was wir brauchen,
zu tun, um in der Lage, diese zugreifen zu können
im Chrome-Browser ist gehen Sie vor und springen auf -
wir werden pseudo über den Etsy Hosts-Datei.
Und wir werden weitermachen und fügen Sie eine neue Zeile hier mit der IP-
50 des Gerätes, die hier dargestellte
in der unteren rechten Ecke auf dem Bildschirm, das 192 168 -
und das könnte anders sein Je nach Maschine,
so 192 168 69 128 [Audio brechen] Projektbeispiel dot dev.
Okay. Sparen, dass.
So, jetzt, wenn wir gehen, um beispielsweise dot dev, sehen wir das - mal sehen.
Oh, in die falsche war ich Verzeichnis, so lassen Sie mich voran gehen
und bewegen Sie den Punkt B. dev in die V-Host-Verzeichnis.
Und jetzt, wenn wir es zu aktualisieren, wir sehen, dass sie sagt, verboten.
Sie haben keinen Zugriff.
Also müssen wir in der go Beispiel dot dev-Verzeichnis
in V-Host, und wir müssen chmod es bis 0711, das Beispiel dot dev,
sowie der Öffentlichkeit - oh, Das habe ich falsch beide Male.
So das Beispiel dot dev, wie sowie das öffentliche Verzeichnis
das ist unter es, so dass es in der Lage ist,
, um zur Indexpunkt PHP zu bekommen.
Und nun, wenn wir aktualisieren - oh, wir immer noch Probleme haben.
So beispielsweise in der öffentliches Verzeichnis,
wenn wir eine Liste aller Dateien, auch versteckte,
gibt es eine HD-Access-Datei, und dies wird von Apache verwendet
um festzustellen, für Diese bestimmten Verzeichnis,
die Anfragen weitergeleitet werden sollen.
Also das muss auch chmod werden bis 0644, und jetzt sind Sie angekommen.
So, dass war die schnelle Installation von Laravel über die Kommandozeile.
Also lassen Sie los, und ich werde auf etwas namens Samba zu verwenden.
Wenn Sie nicht mit ihm vertraut sind, Sie können - aus dem Finder-Menü
gehen zu gehen und eine Verbindung zu Server, und Sie können weiter gehen
und tun, SMB Doppelpunkt Schrägstrich Schrägstrich und die IP-Adresse
der Linux-Instanz, die wir sind in VMWare laufen und gehen Sie vor
und eine Verbindung zum Server so dass Sie sie mounten
als Dateisystem und verwenden Sie es
als ob Sie vor Ort waren angeschlossen.
Also ich werde gehen vor und ziehen Sie diese
in einen Editor namens Sublime Text.
Wenn Sie nicht vertraut sind, ist es ist ein wirklich schönes Editor
das ist verfügbar Code-Dateien zu bearbeiten.
Und so werden wir auf einen Blick
im Verzeichnis Struktur für das Projekt.
So gibt es ein paar verschiedene Ordner in der obersten Ebene.
Es gibt App, die David wurde bereits erwähnt.
Es gibt Bootstrap, das sind einige Dateien intern verwendet
Laravel durch den Bootstrap alle Abhängigkeiten, laden sie alle,
stellen Sie sicher, dass alle von der Magie Methoden richtig genannt
um [Audio-break] sein.
Es ist das öffentliche Verzeichnis, das wo alles
unserer öffentlichen Vermögen ausgerichtet, wie der Index-Punkt PHP
die Anfragen weitergeleitet werden, Bilder, CSS-Dateien, JavaScript,
alles, was benötigt direkt zugänglich
durch die Welt lebt in der öffentliche Verzeichnis.
Und dann der Anbieter-Verzeichnis sind alle Vermögenswerte -
oder alle der [Audio-break] unter der Haube, die eine Menge tut
der Schwerarbeit dass Laravel hängt.
So typischerweise in einem öffentlichen Buch, ist diese Art
von dem, was Sie sehen würden, CSS, JavaScript,
die Dateien sind nicht da, als Sie den Rahmen zu installieren,
aber das sind Dinge, die Sie wollen wahrscheinlich hinzufügen
Sie bauen Ihre Anwendungen.
Die HD-Access-Datei, die ich genannten und der Index dot PHP,
welches die Front- Steuerung für die -
wo alle Anfragen gehen durch zunächst.
So in der Anwendung Ordner, diese sind -
es gibt tatsächlich ein Paar -
Es gibt tatsächlich einige verschiedene Ordner hier.
Es gibt eine Menge von ihnen, und als David erwähnt,
es kann auf den ersten überwältigend, aber Sie wollen sich zu konzentrieren
auf diese spezifisch.
So gibt es die Routen dot PHP, das ist, was wir bereits gesehen
um zu zeigen, dass man eine Route bestimmte URL und HTP-Methode
bis zu einem gewissen entweder anonym Funktion, wie David wurde mit,
oder ein Controller, der wir sind dabei, zu übergehen.
Es gibt Ordner Config,
Das ist, wo Sie jede eingestellt Anwendungskonfiguration
dass Sie, wie Datenbankeinstellungen oder irgendwelche APIs
dass Sie vielleicht mit zu tun.
Wenn Sie mit so etwas sind E-Mails senden
oder wenn Sie eine Verbindung zu Amazon, um Bilder zu speichern,
Sie alle setzen diese Konfigurationen
in einem zentralen Punkt in der Anwendung, so dass -
Art von Konventionen, alle, wie sie arbeiten
auf ein Team, brauchen Sie nicht zu haben, darüber nachdenken, wo das ist.
Es ist nur müssen Sie ein gesetzt, wo es geht.
Das wäre in CONFIG sein.
Steuerungen sind Stellen in der Anwendung
wo Sie in der Regel Routenanfragen.
Also der Controller ein Viele der Anwendungslogik
und irgendwie nimmt, was die Anzeige des Bildschirms wird
zu sein, die Aussicht, und dann auch noch Muscheln
aus, um die verschiedenen Modelle die die Daten enthalten,
und übergeben die zur Ansicht.
So haben Sie eine Art - die Steuerung ist eine Art der Dispatcher
für die Anforderungen, wissen Sie, was du tun wirst
mit den Daten - oder - Je nach Wunsch ist,
welche Daten angezeigt werden sollen und wo bekommen wir es aus.
Und die Aussichten sind in der Regel nur HTML,
vielleicht mit Hilfe eines Template- Motor, wie wir gehen, um zu gehen
über die Klinge Templating Motor, der Laravel Schiffe mit.
Und dann die andere Verzeichnisse für jetzt, wir sind gerade dabei
zu Art beschönigen und nicht zu befürchten.
Aber die gehören Tests, so Unit-Test-freie Anwendungen,
Filter-, Speicher.
Ich halte dies zu tun.
Alle Rechte, Springen Rückseite über hier.
So die erste Sache, dass es kommt mit ist diese Route bekommen
und die Sicht machen hallo.
Also, wenn wir sehen in die Ansichten Verzeichnis
wir sehen, dass es hallo ist ein Punkt PHP,
und das ist, wo Sie diese angekommen herkommt.
Aber wir können auch ändern, dies -
so ist, können wir dies ändern hallo, und jetzt, wenn wir versuchen zu gehen
auf einer Route, die nicht festgelegt ist wir bekommen diese Art von Stapel Tabletts
darüber, was schief gelaufen ist mit der Anwendung.
Aber wenn wir gehen, Schrägstrich hallo,
Es ist tatsächlich ein Internal Server Error.
So gibt es ein bisschen Magie hinter den Kulissen
in der CS-50 Gerät stellen Sie sicher, dass Sie in der Lage
, alle diese Namen Verzeichnisse bequem.
Der Name der - so das Beispiel dot dev, die wir gegeben haben.
Also haben wir tatsächlich haben ändern, eine Sache
in der HD-Access-Datei.
So werden wir weitermachen
und fügen Sie diese Zeile, umschreiben Grundstrich.
Und dass grundsätzlich ist eine weitere Richtlinie.
David, du mehr sprechen kann was die Rewrite Basis tut.
Es >> wesentlichen korrigiert mehr, was der Server denkt.
Es soll sein [Unverständlich] virtuellen Host.
So Angabe zu ignorieren, indem umschreiben Basisschrägstrich-Adressen.
>> Richtig. So, jetzt, Schrägstrich hallo funktioniert.
Also lassen Sie uns zurück springen hier.
Also mit nur tun, ein anonyme Funktion wie diese,
es gibt - so ist dies ist nur eine Zusammenfassung
des MVC Ich war gerade diskutieren.
Es geht in den Strecken und dann Schalen aus den Controllern,
Angebote, die mit dem Modelle und Ansichten, und wie alle
die behandelt werden sollten.
Also Controller Art - helfen, all das zu zentralisieren,
und Sie können sie über Zugriff Routen mit den Worten Route zu bekommen.
So könnten wir sagen, Route hallo,
und dann die Steuer nennen Sie Namen und ein Verfahren.
Also lassen Sie uns weitermachen und geben, dass ein Schuss.
Also werden wir sagen Route Schrägstrich bekommen hallo,
und wir werden eine hallo tun Controller bei Show hallo.
Also, um für diese zu arbeiten,
wir brauchen, um eine Datei namens hinzufügen hallo Controller dot PHP.
Ich werde weitermachen und - so ist es erstreckt sich eine Basis-Controller,
die bereits Laravel Schiffe mit,
der sich eine Steuerung, das ist eine Art unter der Haube
und tut eine Menge von der Sachen hinter den Kulissen
das hilft Controllern alle diesen Zustand zu verwalten
dass in kommenden die Anwendung.
So ist die Heimsteuerung, sagten wir es wäre Show genannt werden hallo.
Und wir werden nur - statt der Rücksendung einen Blick,
wir nur Hallo Welt zurückzukehren.
Oh, hallo - oh, kopiert ich es.
Hallo Controller.
Also hallo Welt.
Also das ist nur ein wirklich, wirklich einfaches Beispiel
wie Sie erstellen können Steuerungen.