>> Okay.
So sind die Lehrveranstaltungen.
Harvard Kurskatalog hat mehrere tausend Kurse,
es gibt mehrere hundert der Fakultät
und es gibt mehrere Dutzende von Feldern,
Informatik nur wobei einer von ihnen,
und ich dachte, wir würden dies als nutzen eine Gelegenheit, Denken beginnen
darüber, wie ein implementiert Standard-Web-basierte Anwendung
mit PHP und Laravel und auch, wie wir könnten einige modellieren
dieser Entitäten der realen Welt.
Also, dies zu tun wir Laravel zu verwenden, Das ist nur ein Rahmen
fügt hinzu, dass eine Menge von Funktionen, PHP,
ähnlich wie Jango fügt das gleiche zu Python,
Rails fügt das gleiche zu Ruby.
So gibt es ein paar verschiedene Weisen
in dem Sie Laravel installieren.
Die Dokumentation für Laravel, wie Sie sich vielleicht erinnern
von der letzten Woche, ist eigentlich ziemlich reich
und Sie können sicher auf eigene Faust zu Hause spielen
um mit diesem und folgen die Anweisungen speziell,
aber ich werde weitermachen und rufen Sie uns einfach schnell,
Blitztour durch einige von ihnen,
ähnlich wie Tim habe den anderen Tag,
und ich bin zuerst zu diesen Einsatz.
So Composer ist eine Art von neue und verbesserte Funktion
für die PHP-Welt, die macht es leichter, Dinge zu installieren.
Wenn Sie mit dem Gesetz vertraut sind Erhalten Sie in der [unverständlich] Welt
oder [unverständlich] Welt oder Yum in der [unverständlich]
und Red Hat Welt, diese ist doch nur ein weiteres Werkzeug
, mit dem Sie Dinge installieren
für diese besondere Umgebung.
Also, wenn ich tun, Komponist, Projekt anlegen und so weiter,
was ich hier zu tun, gehen wir voran und gerade, werde ich Sie zu Fuß
über einige davon Schritte, wie wir das letzte Mal
ohne Prozentzeichen, Verdammt, ohne Composer.
Also mit Composer-ich bin mit eine andere virtuelle Maschine
als ich vor.
Packen wir wirklich schnell.
Okay, so dass die Installation Komponist ist so einfach wie dieses.
Also ich werde dafür ein, werde ich aufstehen auf meinem Seifenkiste für eine Weile zu.
Dies ist tatsächlich eine sehr immer häufiger Paradigma
Dinge für die Installation auf Leute Computer in diesen Tagen,
wo Sie im Wesentlichen rufen Sie eine beliebige URL,
Rohr es durch einen Dolmetscher und dann einfach das tun, was
dass beliebige Stück Code Sie gerade heruntergeladen sagt zu tun.
Es ist sehr einfach, wie Sie sind zu sehen, sondern erkennen, den Skeptiker
in Ihrem denken sollte, dass diese ist unter den mehr unsicher
Dinge, die Sie jemals tun könnte; Herunterladen einer beliebigen Datei
aus dem Internet und dann blind durch es läuft
der Leitung, aber wir werden vertrauen, dass das Installationsprogramm
in der Tat legitim heute.
Ich werde weitermachen und diese laufen und das wird
um das Programm herunterzuladen.
Es wird eine Datei herunterladen composer.farphparchive genannt,
und ich werde gehen vor und tun dies,
sudo-first tatsächlich chmod755composer.far,
die gehen, um es zu machen ausführbare Datei von jedermann,
und dann bin ich zu gehen tun sudo mv Komponist
Benutzer lokalen bin Komponist, und was ist benutzer lokalen bin
für die mit Linux vertraut?
Um klar zu sein ich mache dies innerhalb
des Gerätes, auch wenn Ich bin mit Terminal auf meinem MAC.
[Niedrig audio] Genau, so in einem Verzeichnis,
eigentlich eine leichte Klärung.
Im Verzeichnis in der Regel als / bin
oder / userbin sind in der Tat einige sehr beliebte Programme
wie CD-und LS und so weiter.
In lokalen Benutzer bin durch Konvention ist nichts standardmäßig, und wir,
die Benutzer des Systems können setzen, was wir wollen dort
und standardmäßig ist es in Ihrem sog. Suchpfad, so dass
wenn Sie nur geben Komponist das Betriebssystem Linux,
wird sich in diesem Blick Verzeichnis ua
, um das Programm in Frage zu finden, und es stellt sich heraus, dass es ist in Ordnung
es mit umbenennen die Dateierweiterung
weil wir gemacht haben es ausführbar.
Diese Sache wird tatsächlich laufen, wie wir wollen.
Okay, so jetzt werde ich zurück gehen
auf die Linie, die ich vorgeschlagen, wir früher ausführen, was das ist;
Komponist und dann dauert es ein Befehlszeilenargument,
Ich weiß nur, was aus Lesen der Dokumentation,
genannt-Projekt zu erstellen.
Ich muss den Namen angeben Das Projekt, an dem ich
auf Basis Mine und Laravel / Laravel bezieht sich im Wesentlichen
zu einem Get-Hub-Repository in dem dieser Code lebt.
Katalog ist ein beliebiger Name Ich werde mein Projekt zu geben,
das Vorlesungsverzeichnis, aber Sie foo nennen
oder irgendetwas anderes, und lieber-dist.
Es ist ein wenig abgeschnitten.
Es bedeutet nur, bevorzugen die neueste Verteilung.
Also werde ich weitermachen und drücken Sie die Eingabetaste und Tim sagte
am Mittwoch, es kann manchmal eine Weile dauern,
vor allem wenn Sie über eine langsame Verbindung
oder wenn Sie nicht zwischengespeichert haben einige dieser Dinge,
aber was das ist Dabei ist es die Überprüfung
aus einem ganzen Bündel der Code von online.
Es wird langsam gehen, um laden Sie es auf meinem Computer
und als es endlich soweit,
Ich werde ein Verzeichnis haben Katalog genannt innen
von denen-oops, das ist, warum.
Katalog, machen wir das wieder.
Okay, nicht laufen, dass man.
Offenbar haben Sie bereits Katalog Verzeichnis und es merkt
dass in der letzten Minute.
Das wird für mich eine haben Verzeichnis Katalog innen
von denen der gesamte Code muss ich
Schreiben eines Web-basierten zu starten Anwendung mit Laravel.
So innerhalb weniger Sekunden dies sollte in Tritt
und einmal haben wir diese wieder- wenn Sie an der Stelle, sind nicht
wo Sie in der Lage, folgen gerade jetzt,
es ist völlig in Ordnung, es ist ziemlich leicht
um diese Schritte neu danach im eigenen Gerät.
In Ordnung. Gut in die Inzwischen, wie wir dies tun,
Ich werde ziehen bis ein anderer Hinweis.
So haben Sie vielleicht gesehen Tim Erwähnung
oder bearbeiten Sie diese Datei beim letzten Mal.
Was ist ein etc / hosts Datei und wo kommt es zu leben?
Na gut, lasst uns rollen zurück in der Zeit.
Was ist DNS, die wir nicht allzu langer Zeit diskutiert?
Okay, so Domain Name System.
Dies ist nur die Infrastruktur für das Internet
das tut, was in einem Satz?
Ja. [Niedrig audio] Genau.
Es wandelt Domainnamen IP-Adressen und umgekehrt,
so ist es effektiv eine große Datenbank, Tabelle
mit diesen beiden Spalten, die haben vollqualifizierten Domain-Namen
auf der linken Seite und die IP-Adresse auf der rechten Seite, z. B.
und es einfach wandelt die beiden.
Nun, das ist alles schön und gut aber wenn Sie wirklich wollen
neue Host-Namen auf erstellen Internet, neue Domain-Namen
im Internet, die Sie normalerweise muss jemand Geld geben,
Sie, die Dinge auf konfigurieren ihre Server, deren Name-Server
und so weiter, das ist ein echte Schmerzen, und vor allem
wenn wir nicht wirklich kaufen wollen ein Domain-Name, wir wollen nur
so zu tun, wie wir unsere eigenen lokalen Domäne,
zum Beispiel genannt Katalog oder Catalog.com
oder so etwas.
Nun etc / Host können Sie Fest Code Zuordnungen zwischen Hostnamen
und IP-Adressen auf eigenen lokalen Computer, so wie
Wesentlichen der Trick Computer in das Denken
, dass Domain-Namen tatsächlich existiert zu dieser IP.
Es wird zuerst überprüft, bevor die tatsächlich DNS-System selbst
wird überprüft.
Also lassen Sie mich in diese gehen Terminal-Fenster und es sieht
wie im Hintergrund gibt,
alles heruntergeladen hatte erfolgreich,
so, was ich jetzt gehen zu tun, ist die folgende.
Wenn Sie mehr vertraut sind von Ihrem 50-oder 51 Tage
mit G bearbeiten, ich werde gehen vor und tun dies mit G bearbeiten
auf den ersten, aber ich bin werde weitermachen
und tun g sudo / etc / hosts Innere des Gerätes,
und wenn ich das tue ich gehen, um ein Fenster zu bekommen
das sieht aus wie dieser hier.
Etwas kryptischen Zeilen nur weil sie lange,
aber im Grunde ist es Mapping 127.0.0.1
auf ein paar verschiedene Rechnernamen von denen einer lokalen Host
von denen eine Geräte und dann ein paar mehr;
localhost.localdomain, appliance.localdomain.
Dies sind nur Konventionen Dinge wie localhost
als Standard-Hostname und localdomain
als Standard oben Level-Domain oder TLD.
So bemerken, was ich schon habe hier im Voraus.
Wenn ich den Trick Gerät in das Denken
Katalog, dass in der Tat ein echte Website im Internet,
Ich kann sagen, dass das Gerät seine IP-Adresse 127.0.0.1.
Nun, warum diese Adresse?
Was ist das IP?
Wo kommt es her?
Wer musste ich dafür verlangen?
[Niedrig audio] Was ist das?
[Niedrig audio] Es ist die Loop-Back-Adresse,
was einfach bedeutet dies die Standard-IP-Adresse erhalten
zu fast jedem Computer im die Welt, die IP unterstützt,
Internet-Protokoll, und es ist ein Loop-Back-Adresse
in dem Sinne, dass es reflektiert es.
Er bezieht sich auf sich.
Also alle von uns, wenn wir ein Gerät oder auch eine MAC
oder PC über eine lokale IP-Adresse von 127.0.0.1 und es wird nur verwendet,
so dass Sie sprechen können für sich.
Ich könnte in der Theorie Figur
, welche IP der Appliance Adresse und geben Sie in 192.168
oder was auch immer diese Zahl ist, aber es ist nicht nötig.
Dieser geht unveränderlich zu sein und wird einfach immer.
Also, wenn ich spare, dass bedeutet, dass letztlich
dass in einem Browser ich gehen kann http://Catalog, als ich hier zu tun,
aber ein paar Dinge sind aus den Toren gebrochen.
Also, was tut in der Regel bedeuten,
, wenn ich nicht über die Berechtigungen, verboten, etwas zu tun,
was ist Ihr erster Instinkt zur Lösung dieses Problems?
Ich habe eine downloaden Verzeichnis Katalog
in meine V-Hosts-Verzeichnis, das von letzter Woche werden Sie daran erinnern, ist
wo alle unsere Art lokalen Websites wird leben.
Was könnte gebrochen werden?
Wie zu beheben?
[Niedrig Audio]-Berechtigungen.
Berechtigungen von was?
Okay, Dateien möglicherweise.
So gehen wir zurück zu unserem Terminal-Fenster hier.
Ich bin in meinem V-Host-Verzeichnis.
Lass es mich tun und LS Ankündigung es gibt ein paar Dinge.
Local Host, der mit kommt das Gerät, haben wir ihn dort.
Catalog.original, die Ich habe es früher,
das ist eine Art der fertigen Version von dem, was wir sind
um zu tauchen und Katalog, die ich gerade heruntergeladen.
I Wenn Sie sehen bei den Berechtigungen
auf der Katalog-Verzeichnis Ich kann LS-L und Bekanntmachung zu tun
dass sie ein wenig von den anderen unterscheidet.
Welche Berechtigung ist offenbar die Katalog-Verzeichnis
die wir gerade heruntergeladen, fehlt standardmäßig?
Selbst wenn Sie keine Ahnung haben, was das Wort ist mürrisch Sie schließen können
was ist über verschiedene jeder dieser drei Linien?
Okay, was zwischen Linie fehlt und eine Zeile zwei der Ausgangs?
Ja? [Niedrig audio] Ja, so ist es fehlt das X, das steht
für ausführbare und was bedeutet es,
wenn ein Verzeichnis ausführbar ist?
Es bedeutet nur, Sie können es öffnen.
Sie können CD hinein.
Sie können Dateien zugreifen darin.
Also, wenn eine Datei ausführbar ist, mittels es ist wie ein Programm ausgeführt werden kann.
Ein Verzeichnis ist ausführbar wenn Sie in ihm zu gehen.
So kann ich dieses Problem beheben mit ein paar Möglichkeiten.
Ich konnte chmod A plus X zu tun, der alle ausführbaren und bedeutet
und dann kann ich sagen, Katalog.
Oder erinnern von CS50 oder andere Klassen,
Ich kann ein wenig schicker und sein sagen, 0711 oder einfach 711
Katalog auf, drücken Sie Enter, nichts scheint zu geschehen,
aber wenn ich wieder tun LS-L, feststellen, dass es ausführbar
von meiner Fraktion, das ist die mittlere drei Bits und von allen,
die das Recht drei Bits ist, und es reicht für diejenigen
identisch für sein unsere Zwecke.
Okay ich fühle mich wie wir sind in ziemlich guter Form.
Gehen wir zurück in die Browser und lassen Sie uns neu zu laden,
verdammt, immer noch verboten.
Also, was sonst noch kaputt ist?
Wo sonst könnte wollen wir sehen?
So fixiert wir Catalog, so wenn ich in Katalog zu gehen,
machen wir ein anderes LS, jetzt gibt es mehr Sachen hier und ehrlich gesagt
auf den ersten Blick ist es überwältigend
und ich wage zu sagen, das ist eine der die Kopfschmerzen von Frameworks
aus dem Tor und dass Sie sortieren der eine Menge Deal mit,
aber wir werden auf schärfen was ist heute wichtig
und das Wichtigste jetzt ist dieses Verzeichnis.
Wenn Sie das Gerät benutzt habe bevor Sie vielleicht wissen
dass die öffentlich zugänglichen Verzeichnis wird als Public,
oder in den vergangenen Jahren hieß es HTML, aber wir haben da es verändert
auf die weitere gemeinsame Public.
Also, wenn ich chmod 711 of Public
das würde zu scheinen beheben diese Frage.
So, jetzt die öffentlichen Verzeichnis ist auch ausführbare
und damit zugänglich.
Mal sehen, ob wir einen Schritt näher.
Lasst uns neu zu laden, noch keine gut und jetzt wird es
ein wenig schwierig zu bekommen; das hier ist ein wenig schwieriger.
Wenn ich in der Öffentlichkeit, Rückruf gehen Tim hat uns gezeigt, dass diese ein.
Wenn ich LS-AL, die Listen alle Dateien im Langformat,
es gibt eine dot-Datei so zu sprechen
wo eine dot-Datei ist nur ein Datei, deren Dateiname beginnt
mit einem Punkt.
Was htaccess zu tun?
Nun lassen Sie uns in diesem Blick.
Anstatt G Bearbeiten Ich werde VIM verwenden,
Sie können EMax oder Nano nutzen oder alle Ihre bevorzugten Herausgeber,
aber wenn ich mir hier in diesem hat eine Reihe von niedrigem Niveau Zeug
dass mit Laravel kam Verteilung.
Dies ist eine Datei, die das Apache Web-Server versteht
und lange Geschichte kurz, diese mehrere Zeilen
Konfigurations Trick das ganze öffentliche Verzeichnis
Routing in fast alle HTTP Anfragen, eine Vermutung zu nehmen.
Welche Datei?
Alle eingehenden HTTP-Anfragen mit ein paar Ausnahmen würden verlegt werden
in welchem ​​Datei, sonst als Front-Controller bekannt?
>> Index.
>> Index.php.
Also selbst wenn es ein foo.php Datei oder eine Datei bar.php
in meinem öffentlichen Verzeichnis, Die Bedeutung dieser Linien
im allgemeinen ist Route alle Anfragen
auf index.php es sei denn, diese Dateien in der Tat gibt es nicht, weil die Dinge
wie bang-f bedeutet, wenn die Dateiname existiert nicht,
und wenn das direkt nicht vorhanden ist,
Route alle Anfragen auf index.php.
So ein bisschen, das wird , damit wir die URL haben
wie http://Catalog/courses/123
wobei 123 die eindeutige Kennung für einen Kurs
aber es ist eindeutig nicht der Name des eine Datei, so dass der Antrag wird
geroutet werden auf index.php wer wird, um herauszufinden,
dank Laravel und Sie, wo das Routing
dass eingehende HTTP-Anforderung.
Aber es gibt ein Problem.
Beachten Sie, dass standardmäßig htaccess-Datei ist nicht lesbar
oder ausführbare.
Ausführbarkeit ist nicht wichtig aber ich will tun chmod644
htaccess oder auf Punkt Ein Plus R. Jetzt Ankündigung
dass, wenn ich ein All Angebot, jetzt ist es lesbar.
Nun, wenn ich über meine Finger hier und reload, puh,
haben wir es zum Laufen.
So dumm Schritte, die Sie müssen durch auf den ersten zu gehen,
aber die Tatsache, dass ich Art ging es durch
so umständlich ist genau die Arten
von Diagnoseschritte Sie denken sollten
etwa, wenn etwas ist falsch,
und selbst wenn ein Verzeichnis könnte schief sein,
erkennen, es könnte auch Dateien dot werden,
insbesondere dot HTAccess die durchaus üblich sind
in jeder Apache-Distribution,
was könnte erstellen Kopfschmerzen wie diesem.
Also ich bin immer ein wenig müde zurück
und her, um das Gerät.
Ich würde viel lieber arbeiten mein MAC oder sogar auf meinem PC.
Also, wie kann ich dies tun gleichen etc / Host Trick?
Nun bemerken, dass lassen Sie mich zuerst Figur
herauszufinden, was die Appliance IP-Adresse ist.
Ich kann ifcongig tun, was zeigt, mir einige ziemlich kryptische Ausgabe
aber Bekanntmachung neben eth0 oder vielmehr neben eth1,
es gibt diese IP-Adresse an.
Ich werde weitermachen und kopieren und innen
von Terminal-Fenster meiner eigenen MAC Ich werde sudo etc / hosts bearbeiten
auf meinem eigenen Mac, die gibt mir eine ähnlich aussehende Datei.
Alles, was ich tun werde, ist diese.
Also ich werde meine MAC Trick
zu denken, http://Catalog tatsächlich Karten
zu diesem bestimmten IP-Adresse.
Okay, also lasst uns weitermachen und speichern Sie diese, nun lassen Sie mich schließen
dass Terminal-Fenster und jetzt auf mein MAC mit jedem beliebigen Browser ich will,
http://Catalog und ich dasselbe sehen.
Jetzt weiß ich nicht einmal die Mühe geht zurück in [unverständlich]
was Sie nicht mögen vielleicht tun sowieso, also jetzt bin ich wieder
auf meinem eigenen Computer mit wirklich das Gerät
als nur ein Web-Server.
Okay, also hier ist nur eine kurze Zusammenfassung einiger
der Dateiberechtigungen wollen wir ändern könnte
und ich schnitt einige Ecken in Dinge wie das Favicon oder alle
interessant, dass für jetzt.
Okay, so jetzt beginnen lassen
dieses Standard konfigurieren Laravel Installation
für eine Datenbank.
So Tim tat dies kurz letzten Mal zu, und die Datei
Frage ist in dieser hier.
So Innenseite, lassen Sie mich Wechsel diese konsequent zu sein,
Katalog-App Config database.php.
Lassen Sie uns also in app gehen, lass uns in Config gehen
und lass uns in database.php gehen.
Also das ist eine ziemlich lange Datei, von denen die meisten Kommentare,
aber Sie werden sehen, wenn Sie durch diese genau lesen
dass Sie konfigurieren können Laravel und eine Menge ein Frameworks
zur Unterstützung der verschiedenen Arten von Datenbanken.
Vielleicht sind Sie mit MySQL, vielleicht Sie sind Beitrag [unverständlich],
vielleicht sind Sie mit SQL Lite, gibt es andere Dinge,
aber wenn wir den Einsatz von MySQL