>> Goed.
So het die kursusse van onderrig.
Harvard se kursus katalogus het etlike duisende kursusse,
daar is 'n paar honderd van fakulteit
en daar is 'n paar dekades van velde,
Rekenaarwetenskap net wat een van hulle,
en ek het gedink ons ​​wil dit gebruik as 'n geleentheid om te dink om te begin
oor hoe om 'n implementeer standaard web-gebaseerde program
met behulp van PHP en Laravel en ook hoe ons 'n model 'n
van hierdie werklike wêreld entiteite.
So om dit te doen sal ons gebruik Laravel, wat net 'n raamwerk
dat voeg 'n baie funksies PHP,
baie soos Jango voeg dieselfde te Python,
Relings voeg om dieselfde te Ruby.
So is daar 'n paar verskillende maniere
waarin jy kan installeer Laravel.
Die dokumentasie vir Laravel, as jy kan onthou
van verlede week, is eintlik redelik ryk
en jy kan seker op jou eie by die huis speel
om met hierdie en volg die instruksies wat spesifiek,
maar ek gaan om voort te gaan en gee ons net 'n vinnige,
warrelwind toer van sommige van hulle,
soortgelyk aan wat Tim het die ander dag,
en ek gaan eers om dit te gebruik.
So Komponis is 'n soort van 'n nuwe en verbeterde funksie
vir die PHP wêreld wat dit makliker om dinge te installeer.
As jy vertroud is met die Wet op Kry in die [onhoorbaar] wêreld
of [onhoorbaar] wêreld of Yum in die [onhoorbaar]
en rooi hoed wêreld, hierdie is nog net 'n ander instrument
wat dit moontlik maak om jou te dinge installeer
vir hierdie spesifieke omgewing.
So as ek dit doen komponis, Skep Project en so meer,
wat ek hier sal doen, laat ons gaan voor en net, ek sal loop jy
deur 'n paar van hierdie stappe soos ons gedoen het die afgelope tyd
sonder die persent teken, dêmmit, sonder komponis.
So met die komponis-ek-gebruik 'n ander virtuele masjien
as wat ek gedoen het voor.
Kom ons doen dit baie vinnig.
Goed, so die installering Komponis is so eenvoudig soos dit.
So ek sal 'n, sal ek opstaan op my seepkis vir 'n rukkie ook.
Dit is eintlik 'n baie meer algemeen paradigma
vir die installering van die dinge wat op mense se rekenaars hierdie dae,
waar jy in wese haal 'n arbitrêre URL,
pyp dit deur 'n tolk en dan net doen wat
dat arbitrêre stuk van die kode jy net afgelaai sê om te doen.
Dit is baie maklik as jy oor die skepties te sien, maar besef
in jou moet dink dat dit is een van die meer onseker
dinge wat jy ooit kon doen; laai 'n arbitrêre lêer
van die internet en dan blindelings loop dit deur middel
van die pyp, maar ons sal vertrou dat die installeerder
in die feit dat wettige vandag.
Ek gaan om voort te gaan en loop dit en dit gaan
die program af te laai.
Dit gaan 'n lêer af te laai genoem composer.farphparchive,
en ek gaan om te gaan voor en dit doen,
sudo-eerste eintlik chmod755composer.far,
wat gaan om dit te maak uitvoerbare deur almal,
en dan gaan ek doen sudo MV komponis
gebruiker plaaslike bin komponis, en wat is die gebruiker plaaslike bin
vir diegene wat vertroud is met Linux?
Om duidelik te wees ek doen hierdie binnekant
van die toestel, selfs al Ek gebruik terminale op my MAC.
[Lae klank] Presies, So in 'n gids,
eintlik 'n effense verduideliking.
In die gids tipies genoem / bin
of / userbin is inderdaad 'n paar baie gewilde programme
soos CD en LS en so meer.
In gebruiker plaaslike bin deur konvensie niks by verstek en ons,
die gebruikers van die stelsel, kan sit iets is wat ons wil hê daar
en by verstek dit is in jou sogenaamde search pad sodat
wanneer jy tik net komponis Die bedryfstelsel, Linux,
gaan kyk in daardie gids onder andere
die program in die vraag te vind, en dit blyk dat dit is goed
om dit te hernoem met die lêer uitbreiding
want ons het gemaak dit uitvoerbaar nie.
Hierdie ding sal eintlik hardloop as ons beplan.
Goed so nou gaan ek om terug te gaan
aan die lyn wat ek voorgestel ons voer vroeër, wat is hierdie;
komponis en dan neem dit 'n command line argument,
wat ek weet net van die lees van die dokumentasie,
genoem skep-projek.
Ek het die naam van spesifiseer die projek wat ek wil
na die basis-myn en Laravel / Laravel wese verwys
om 'n get middelpunt repository waarin daardie kode lewens.
Katalogus is 'n arbitrêre naam Ek gaan na my projek gee,
die kursus katalogus, maar jy kan dit cat noem
of enigiets anders, en verkies-dist.
Dit is 'n bietjie afgesny.
Dit beteken net verkies die nuutste verspreiding.
So ek gaan om voort te gaan en getref Tik en as Tim sê
op Woensdag dit kan soms 'n rukkie neem,
veral as jy ' op 'n stadige konneksie
of as jy nie die kas sommige van hierdie dinge,
Maar wat dit is doen, is dit nagaan
uit 'n hele klomp van die kode van online.
Dit is stadig gaan laai dit op my rekenaar
en wanneer dit is uiteindelik gedoen,
Ek gaan 'n gids te hê genoem Katalogus binnekant
waarvan-oops, dis hoekom.
Katalogus, kom ons doen dit weer.
Goed loop nie dat 'n mens.
Blykbaar het jy 'n bestaande Katalogus gids en dit raaksien
wat op die laaste minuut.
Dit gaan vir my 'n te hê Gids genoem Katalogus binnekant
waarvan al die kode wat ek nodig het
om te begin skryf van 'n web-gebaseerde aansoek met Laravel.
So binne 'n paar sekondes dit moet skop in
en sodra ons het hierdie-en weer as jy nie by die punt
waar jy in staat te volg saam op die oomblik,
dit is heeltemal fyn, Dit is redelik maklik
hierdie stappe te herskep daarna in jou eie toestel.
Goed. Goed in die Intussen, as ons dit doen,
Ek gaan om te trek een ander wenk.
So jy mag hê gesien Tim melding
of wysig hierdie lêer laaste tyd.
Wat is 'n etc / gasheer lêer en waar kom dit leef?
Goed laat rol terug in die tyd.
Wat is DNS, wat ons bespreek nie te lank gelede?
Goed, so domein naam stelsel.
Dit is net die infrastruktuur op die internet
wat doen wat in 'n sin?
Ja. [Lae klank] Presies.
Dit vat domein name te IP adresse en omgekeerd,
so dit is effektief 'n groot databasis tabel
Met hierdie twee kolomme wat ten volle gekwalifiseerde domein name
op die linker-en IP-adres op die regte, byvoorbeeld,
en dit net vat die twee.
Nou dit is alles goed en wel Maar as jy eintlik wil hê
nuwe gasheer name op te skep die internet, nuwe domein name
op die internet, het jy gewoonlik iemand geld te gee,
jy het dinge op te stel hul bediener, hul naam bedieners
en so meer, wat 'n ware pyn, en veral
As ons regtig wil nie te koop 'n domein naam, ons wil net
te maak asof ons 'n ons eie plaaslike domein,
byvoorbeeld genoem Katalogus of Catalog.com
of iets soos dit.
Wel, ens / gasheer kan jy hard kode afbeeldings tussen gasheer name
en IP-adresse op jou eie plaaslike rekenaar sodat
om wese mislei die rekenaar dink
dat die domein naam eintlik bestaan ​​op die IP.
Dit is die eerste nagegaan word voor die eintlik DNS stelsel self
nagegaan word.
So laat my gaan in hierdie terminale venster en dit lyk
soos in die agtergrond is daar,
alles het afgelaai suksesvol,
So, wat ek nou gaan te doen, is die volgende.
As jy meer vertroud uit jou 50 of 51 dae
met G wysig, ek gaan om te gaan voort en doen dit met G wysig
Op die eerste, maar ek is gaan om voort te gaan
en doen sudo g wysig / etc / hosts binnekant van die toestel,
en toe ek dit doen Ek is gaan 'n venster te kry
wat lyk soos hierdie een hier.
Ietwat kriptiese lyne net omdat hulle is 'n lang,
maar in wese is dit kartering 127.0.0.1
om 'n paar verskillende gasheer name, waarvan een is die plaaslike gasheer,
waarvan een toestel en dan nog 'n paar;
localhost.localdomain, appliance.localdomain.
Dit is net konvensies dinge soos localhost te gebruik
as verstek gasheer naam en localdomain
as 'n standaard top vlak domein of TLD.
So sien wat ek reeds het vooraf hier.
As ek wil mislei die apparaat, in denke
dat Katalogus is inderdaad 'n werklike webwerf op die internet,
Ek kan die toestel vertel dat die IP-adres is 127.0.0.1.
Nou hoekom die adres?
Wat is dat IP?
Waar het dit vandaan?
Wie het ek het om te vra vir daardie?
[Lae klank] Wat is dit?
[Lae klank] Dit is die lus terug adres,
wat beteken eenvoudig dit is die standaard-IP-adres gegee
die meeste enige rekenaar in die wêreld wat ondersteun IP,
internet protokol, en dit is 'n lus terug adres
in die sin dat dit weerspieël dit.
Dit verwys na homself.
So almal van ons, as ons ' 'n toestel of selfs 'n MAC
of PC het 'n plaaslike IP-adres van 127.0.0.1 en dit is slegs gebruik
sodat jy kan praat vir jouself.
Ek kon in teorie figuur
uit te vind wat die toestel se IP adres is en tik 192,168
of wat ook al dat die getal is, maar dit is nie nodig nie.
Hierdie een gaan wees invariant en sal net altyd werk.
So een keer red ek dat wat uiteindelik beteken
wat in 'n leser wat ek kan gaan http://Catalog, as ek hier sal doen,
maar 'n paar dinge is gebreek uit die hekke.
So wat beteken dit tipies bedoel,
wanneer ek het nie die nodige toestemming verbied, iets te doen,
Wat is jou eerste instink tot die oplossing van hierdie probleem?
Ek het 'n laai Gids genoem Katalogus
in my V gashere gids, wat van verlede week sal jy onthou is
waar almal van ons soort plaaslike webtuistes sal lewe.
Wat gebreek?
Hoe op te los?
[Lae klank] Permissions.
Regte van wat?
Goed lêers potensieel.
So laat ons gaan terug na ons terminale venster hier.
Ek is in my V gasheer gids.
Laat my doen LS en kennisgewing daar is 'n paar dinge.
Plaaslike gasheer, wat kom met die toestel, ons het dit daar.
Catalog.original, wat Ek sit daar vroeër,
Dit is soort van die finale weergawe van wat ons is
oor te duik in, en Winkel, wat ek net afgelaai.
As ek wil om te kyk op die regte
op die Winkel gids, Ek kan doen LS-L en kennisgewing
dat hulle 'n bietjie verskil van die ander.
Wat toestemming is blykbaar die Winkel gids,
wat ons nou net afgelaai, ontbreek by verstek?
Selfs as jy het geen idee wat die woord is wat jy kan nors aflei
wat anders is oor elk van hierdie drie lyne?
Goed wat ontbreek tussen lyn- een en lyn twee van die uitset?
Ja? [Lae klank] Ja, so is dit ontbreek die X, wat staan
uitvoerbare en wat beteken dit
As 'n gids is uitvoerbare?
Dit beteken net jy kan dit oop te maak.
Jy kan CD in dit.
Jy kan toegang tot lêers binnekant van dit.
So as 'n lêer se uitvoerbare, middel dit is soos 'n program wat jy kan hardloop.
'N gids is uitvoerbare As jy kan gaan in dit.
So kan ek dit op te los met 'n paar maniere.
Ek kon chmod 'n plus X doen, wat beteken al plus uitvoerbare
en dan kan ek sê Winkel.
Of onthou van CS50 of ander klasse,
Ek kan 'n bietjie liefhebber en sê 0711 of meer eenvoudig 711
op Katalogus, druk Enter, blyk dit dat niks gebeur nie
Maar as ek doen LS-L weer sien dat dit uitvoerbaar
deur my groep, wat is die middel drie stukkies en deur almal,
wat is die reg om drie stukkies, en dit is voldoende vir diegene
identies wees vir ons doeleindes.
Goed ek voel soos ons is in redelik goeie vorm.
Kom ons gaan terug na die leser en laat laai,
dammit, steeds verbied.
So wat anders kan gebreek word?
Waar anders kan ons wil om te kyk?
So het ons vasgestel Winkel, so As ek gaan in Winkel,
Kom ons doen 'n ander LS, nou is daar meer dinge hier en eerlik
met die eerste oogopslag is dit oorweldigende
en durf ek sê dit is een van die die hoofpyn van raamwerke
die hek is en dat jy soort van 'n baie ooreenkoms met,
maar ons sal slyp op wat belangrik is vandag
en die mees belangrikste ding nou is hierdie gids.
As jy die toestel gebruik het voordat jy kan weet
dat die publiek toeganklik gids is om openbare genoem,
of in die afgelope jare het dit genoem HTML, maar ons het sedertdien verander dit
die meer algemene Public.
So as ek dit doen chmod 711 van Openbare
Dit lyk vir los die kwessie.
So het die Openbare gids is ook uitvoerbare
en toeganklik.
Kom ons kyk of ons 'n stap nader.
Kom ons laai, steeds geen goed en nou is dit gaan
om 'n bietjie uitdagend; hierdie een is 'n bietjie harder.
As ek gaan in Openbare, onthou Tim het vir ons hierdie een.
As ek dit doen LS-AL, wat 'n lys al die lêers in die lang-formaat,
daar is 'n dot lêer om so te praat
waar 'n dot lêer is net 'n lêer waarvan die naam begin
met 'n dot.
Wat beteken htaccess doen?
Wel, laat ons kyk in daardie.
Eerder as om G wysig, Ek gaan VIM te gebruik,
jy kan gebruik om Emaks of Nano of enige van jou gunsteling redakteurs,
Maar as ek kyk in hier het 'n klomp van die lae vlak dinge
wat gekom het met Laravel se verspreiding.
Dit is 'n lêer wat die Apache webbediener verstaan
en 'n lang storie kort, hierdie paar lyne
van opset truuk die hele Openbare gids
in routing byna al die HTTP versoek om 'n raaiskoot te neem.
Watter lêer?
Alle inkomende HTTP versoeke 'n paar uitsonderings sal aangestuur word
na wat lêer, anders bekend as 'n front kontroleerder?
>> Indeks.
>> Index.php.
So selfs al is daar 'n foo.php lêer of 'n lêer bar.php
in my Openbare gids, die betekenis van hierdie lyne
in die algemeen is om te roete alle versoeke
om jeug tensy daardie lêers wel bestaan ​​nie, want dinge
soos bang-f beteken dat indien die lêernaam bestaan ​​nie,
en indien die direk bestaan ​​nie,
roete alle versoeke om jeug.
So in 'n bietjie dit gaan toe te laat om ons URL's te hê
soos http://Catalog/courses/123
waar 123 is die unieke identifiseerder vir 'n kursus
maar dit is duidelik nie die naam van 'n lêer sodat versoek gaan
te herlei word na artikels wie gaan om uit te vind,
danksy Laravel en julle waar om die roete
dat die inkomende HTTP versoek.
Maar daar is 'n probleem.
Let by verstek wat htaccess lêer is nie leesbaar
of uitvoerbare.
Uitvoerbaarheid is nie belangrik nie maar ek wil chmod644 te doen
op dot htaccess of 'N plus R. Nou kennisgewing
dat as ek 'n hele lys, nou is dit leesbaar.
Nou as ek oor my vingers hier en herlaai, Sjoe,
Ons het dit aan die gang.
So dom stappe wat jy nodig om deur te gaan op die eerste,
maar die feit dat ek soort het deur dit
so pedantically is presies die soort
diagnostiese stappe jy moet dink
oor wanneer iets is verkeerd is,
en selfs wanneer 'n gids dalk verkeerd wees,
besef dat daar dalk ook dot word lêers,
in die besonder dot htaccess wat redelik algemeen
in enige Apache verspreiding,
wat kon skep hoofpyn soos dié een.
So ek kry 'n bietjie moeg om terug te gaan
en weer na die toestel.
Ek wil veel eerder werk aan my MAC of selfs op my PC.
So, hoe kan ek dit doen dieselfde etc / gasheer truuk?
Wel sien dat eerste laat my figuur
uit te vind wat die toestel se IP adres.
Ek kan ifcongig doen, wat toon my 'n paar redelik kriptiese uitset
Maar let langs eth0 of eerder langs eth1,
daar is hierdie IP-adres hier.
Ek gaan om voort te gaan en kopieer dit en binne
van my eie MAC se terminale venster Ek gaan sudo etc / gashere te wysig
op my eie MAC, wat gee my 'n soortgelyke soek lêer.
Al wat ek gaan doen is om hierdie.
So ek gaan my MAC te mislei
om te dink http://Catalog eintlik kaarte
aan daardie spesifieke IP-adres.
Goed, so laat ons gaan voort en behalwe hierdie, nou laat my sluit
dat terminale venster en nou my MAC gebruik van enige leser wat ek wil hê,
http://Catalog en ek sien dieselfde ding.
Nou het ek nie eens hoef te pla gaan terug in [onhoorbaar]
wat jy dalk nie wil doen in elk geval, so nou is ek terug
op my eie rekenaar met behulp regtig die toestel
as net 'n web bediener.
Goed, so hier is net 'n vinnige recap van 'n paar
van die permissies ons wil dalk verander
en ek sny 'n paar hoeke in dinge soos die favicon of al
wat interessant is vir nou.
Goed, so nou kom ons begin
hierdie standaard te stel Laravel installasie
vir 'n databasis.
So Tim het dit kortliks laaste tyd ook en die lêer
in die vraag is hierdie een hier.
So binnekant van, laat my verandering hierdie om konsekwent te wees,
Katalogus artikels config database.php.
So laat ons gaan in artikels, Kom ons gaan in config
en laat ons gaan in database.php.
So, dit is 'n redelik lang lêer, waarvan die meeste is kommentaar
maar jy sal sien as jy lees nou deur middel van
wat jy kan instel Laravel en 'n baie 'n raamwerke
verskillende te ondersteun tipes databasisse.
Miskien is jy met behulp van MySQL, miskien jy gebruik Post [onhoorbaar],
Miskien is jy met behulp van SQL Lite, daar is ander dinge
maar as ons met behulp van MySQL