>> Bine.
Astfel încât cursurile de instruire.
Catalog de Harvard curs are câteva mii de cursuri,
există câteva sute de facultate
și există mai multe zeci de domenii,
informatică doar fiind unul dintre ei,
și am crezut că ne-ar folosi acest lucru ca o oportunitate de a începe gândire
cu privire la modul de a pune în aplicare o aplicație web bazate pe standardul
folosind PHP și Laravel și de asemenea, modul în care am putea modela unele
de aceste entități din lumea reală.
Deci, pentru a face acest lucru vom folosi Laravel, care este doar un cadru
care adaugă o mulțime de caracteristici pentru PHP,
la fel ca adauga Jango la fel de Python,
Rails adaugă la fel de Ruby.
Deci, există un cuplu de moduri diferite
în care se poate instala Laravel.
Documentația pentru Laravel, așa cum s-ar putea aminti
de săptămâna trecută, este de fapt, destul de bogat
și puteți cu siguranță pe cont propriu la domiciliu joc
în jurul cu acest lucru și să urmeze instrucțiunile special,
dar am de gând să merg mai departe și doar să ne dea un rapid,
tur vârtej de unele dintre ele,
similar cu ceea ce Tim a facut ieri,
și eu în primul rând de gând să folosească acest lucru.
Deci, Compozitor este un fel de caracteristică nouă și îmbunătățită
pentru lumea PHP care face mai ușor de instalat lucruri.
Dacă sunteți familiarizat cu Act Ia în [inaudibil] lume
sau [inaudibil] lume sau Yum în [inaudibil]
și lumea pălărie roșie, aceasta este încă doar un alt instrument
care vă permite să instala lucruri
pentru acest mediu special.
Deci, dacă eu fac Compozitor, Crea proiect și așa mai departe,
pe care le voi face aici, să mergem înainte și doar, eu voi merge pe jos
prin unele dintre acestea trepte așa cum am făcut ultima dată
fără semnul procent, La naiba, fără Composer.
Deci, cu Compozitor-Sunt folosind o mașină virtuală diferit
decât am făcut-o înainte.
Hai să facem asta repede reală.
Bine, deci instalarea Compozitor este la fel de simplu ca asta.
Asa ca voi face o, voi ridica pe Soapbox meu pentru un timp prea.
Aceasta este de fapt o foarte paradigmă ce în ce mai frecvente
pentru instalarea de lucruri pe calculatoarele oamenilor în aceste zile,
în cazul în care, în esență, prelua un URL arbitrar,
țeavă-l prin intermediul unui interpret și apoi face doar ceea ce
că bucata de cod arbitrar pe care tocmai ați descărcat spune să faci.
Este foarte usor ca esti pe cale de pentru a vedea, dar realiza scepticul
în dumneavoastră ar trebui să cred că acest lucru este printre cele mai nesigur
lucruri pe care le-ar putea face vreodată; descărcarea unui fișier arbitrară
de pe internet și apoi orbește-l rulează în mod
a conductei, dar vom încredere că programul de instalare este
în fapt legitim astăzi.
Am de gând să merg mai departe și executa acest lucru și acest lucru se întâmplă
pentru a descărca programul.
Se va descărca un fișier numit composer.farphparchive,
și am de gând să merg mai departe și de a face acest lucru,
sudo-în primul rând, de fapt chmod755composer.far,
care este de gând să-l facă executabil de toată lumea,
și apoi am de gând să face compozitor mv sudo
utilizatorului compozitor bin locale, și ceea ce este ușor de utilizat ben locale
pentru cei familiarizați cu Linux?
Pentru a fi clar ce fac acest interior
aparatului, chiar dacă Sunt folosind terminale de pe Mac-ul meu.
, [Low audio] Exact astfel încât într-un director,
de fapt, o ușoară clarificare.
În directorul de obicei numit / bin
sau / userbin sunt într-adevăr unele programe foarte populare
cum ar fi CD-uri și LS și așa mai departe.
În utilizatorului bin locale prin convenție nu este nimic în mod implicit și noi,
utilizatorii sistemului, poate pune orice vrem acolo
și implicit e în ta așa-numita cale de căutare, astfel încât
atunci când tastați doar compozitor sistemul de operare, Linux,
este de gând să se uite în care director, printre altele,
pentru a găsi programul în cauză, și se pare că e în regulă
să-l redenumiți cu extensia
pentru că ne-am făcut executabil.
Acest lucru va de fapt, rula ca ne-am propus.
Bine, asa ca acum am de gând să mă întorc
la linia I-am propus executa mai devreme, ceea ce este aceasta;
compozitor și apoi este nevoie de un argument linie de comandă,
care știu doar de la citind documentația,
numit crea-proiect.
Am nevoie pentru a specifica numele de proiect pe care vreau
a mea de bază și Laravel / Laravel se referă, în esență,
la un depozit hub get în care acest cod trăiește.
Catalog este un nume arbitrar Am de gând să dea la proiectul meu,
catalogul de curs, dar ai putea numi foo
sau orice altceva, si prefera-dist.
Este un pic de cut-off.
Aceasta înseamnă doar prefera cele mai recente de distribuție.
Așa că am de gând să merg mai departe și apăsați Enter și așa cum a spus Tim
miercuri se poate uneori ia o în timp ce,
mai ales daca esti pe o conexiune lentă
sau dacă nu ați memorat în cache unele dintre aceste lucruri,
dar ceea ce este aceasta face este este verificarea
o grămadă de cod de la on-line.
Se va încet la descărca în computerul meu
și atunci când este făcut în cele din urmă,
Am de gând să aibă un director numit catalog în interiorul
din care se-oops, de aceea.
Catalog, hai să facem asta din nou.
Bine, nu fugi ca unul.
Se pare că ai un existent Directorul catalog și se observă
că în ultimul minut.
Acest lucru va avea pentru mine un director numit catalog în interiorul
de care este tot codul am nevoie
pentru a începe să scrie un web bazate pe aplicare cu Laravel.
Deci, în câteva secunde acest lucru ar trebui să lovi cu piciorul în
și odată ce vom avea această-și din nou dacă nu ești la punctul
în cazul în care sunteți în stare să urmați de-a lungul chiar acum,
E în regulă, este destul de ușor
pentru a recrea aceste etape după aceea în propriul aparat.
În regulă. Bine în Între timp, așa cum ne-am face acest lucru,
Am de gând să trageți up un alt indiciu.
Deci, s-ar putea avea văzut Tim mențiune
sau pentru a edita acest fișier ultima dată.
Ce este un fișier etc / host și în cazul în care nu-l trăiesc?
Bine să se rostogolească înapoi în timp.
Ce este DNS, pe care ne-am discutat nu prea mult timp în urmă?
Bine, astfel încât sistemul de nume de domeniu.
Acesta este doar infrastructură pe internet
care face ceea ce într-o propoziție?
Da. Exact [Low audio].
Acesta convertește numele de domenii de Adrese IP si vice-versa,
așa că este eficient un tabel de bază de date de mare
cu aceste două coloane care au numele de domeniu complet calificat
pe adresa stâng și IP din dreapta, de exemplu,
și doar convertește doi.
Acum, asta e tot fin și bun dar dacă chiar vrei
pentru a crea noi nume gazdă pe internetul, noi nume de domenii
pe internet, de obicei, Trebuie să dai bani cuiva,
trebuie să configurați lucruri pe servere lor, serverele de nume lor
și așa mai departe, care este o adevarata durere, și mai ales
dacă nu vrei cu adevărat să cumpere un nume de domeniu, vrem doar
să pretindem că avem propriul nostru domeniu locale,
de exemplu, numit Catalog sau Catalog.com
sau ceva de genul asta.
Ei bine, etc / gazdă vă permite să greu mapările de cod între nume de gazdă
și adrese IP pe dvs. propriul calculator local, astfel ca
de a păcăli, în esență, calculator în gândire
că acel nume de domeniu există de fapt, la acel IP.
Acesta este verificat înainte de a sistemul DNS de fapt în sine
este verificat.
Deci, lasă-mă să merg în această fereastră de terminal și se pare
ca în fundal acolo,
tot ceea ce au descărcat cu succes,
Deci, ceea ce am acum merge să faceți este următoarea.
Dacă sunteți mai familiarizați de la 50 de ani sau de 51 zile
cu G Edit, am de gând să merg mai departe și de a face acest lucru cu G Edit
la început, dar eu sunt merge mai departe
și de a face sudo g edita / etc / hosts în interiorul aparatului,
și când am face acest lucru am mergi la a lua o fereastră
care arata ca aceasta de aici.
Linii oarecum criptice doar pentru că sunt de mult,
dar, în esență, este cartografiere 127.0.0.1
la câteva nume diferite gazdă, dintre care unul este gazdă locală,
dintre care unul este aparat apoi câteva mai;
localhost.localdomain, appliance.localdomain.
Acestea sunt doar convenții să folosească lucruri, cum ar fi localhost
ca nume de gazdă implicit și localdomain
ca un top implicit nivel de domeniu sau TLD.
Deci, ceea ce am observat deja a făcut în prealabil aici.
Dacă vreau să truc aparat în gândire
Catalog că este într-adevăr o site-ul real, pe internet,
Eu pot spune că aparatul adresa IP este 127.0.0.1.
Acum, de ce adresa?
Ce este faptul că IP?
De unde a venit de la?
Care a trebuit să cer asta?
[Low audio] Ce-i asta?
[Low audio] IT buclă adresa spate,
ceea ce înseamnă pur și simplu acest lucru este adresa IP implicită dat
pentru cele mai multe orice calculator din din lume care acceptă IP,
Internet Protocol, și este o adresă de buclă înapoi
în sensul că îl reflectă.
Aceasta se referă la sine.
Deci, noi toți, dacă avem un aparat sau chiar un MAC
sau PC-uri au o adresă IP locală de 127.0.0.1 și este folosit doar
astfel încât să puteți vorbi pentru tine.
Am putea figura în teorie
ce IP a aparatului adresa este și tip în 192.168
sau orice altceva care numărul este, dar nu este necesar.
Acesta va fi invariant și pur și simplu va funcționa întotdeauna.
Deci, odată ce am salva ca înseamnă că în cele din urmă
că într-un browser pot merge la http://Catalog, așa cum voi face aici,
dar cateva lucruri sunt defalcate din porțile.
Deci, ce face acest lucru de obicei, înseamnă,
când nu am permisiuni, interzis, de a face ceva,
ceea ce este prima ta instinct la rezolvarea acestei probleme?
Am descărca un director numit Catalog
în directorul meu V gazde, care de săptămâna trecută vei aminti este
în cazul în care toate de un fel noastre de site-uri locale, va trăi.
Ceea ce ar putea fi spart?
Cum de a stabili?
[Low audio] Permissions.
Permisiunile de ce?
Fișierele Bine potențial.
Deci, haideți să ne întoarcem la noastre fereastră de terminal aici.
Sunt în directorul meu gazdă V.
Permiteți-mi să fac LS și notificare există câteva lucruri.
Gazdă locale, care vine cu aparatul, l-am pus acolo.
Catalog.original, care Am pus acolo mai devreme,
că e un fel de finit versiune a ceea ce suntem
pe cale de a se arunca cu capul în, și catalog, pe care tocmai am descărcat.
Dacă vreau să se uite la permisiunile
pe directorul de catalog, Eu pot face LS-L și notificare
că acestea sunt un pic diferit de celelalte.
Ce permisiune este aparent directorul catalog,
pe care ne-am descărcat, lipsit în mod implicit?
Chiar dacă nu aveți nici o idee despre ceea ce cuvântul este de a putea deduce posac
ceea ce este diferit despre fiecare dintre aceste trei linii?
Bine, ceea ce lipsește între linie una și două linii de ieșire?
Da? [Low audio] Da, așa e lipsă X, care se afla
pentru executabil și ceea ce înseamnă
dacă un director este executabil?
Este doar înseamnă că puteți deschide.
Puteți CD-ul în ea.
Puteți accesa fișierele în interiorul de ea.
Deci, dacă un fișier de executabile, mijloace e ca un program poate rula.
Un director este executabil daca poti sa te duci în ea.
Așa că am putea rezolva această cu câteva moduri.
Aș putea face chmod A plus X, ceea ce înseamnă executabil toate plus
și apoi pot spune catalog.
Sau amintesc de CS50 sau alte clase,
Pot fi un pic crescator și spune 0711 sau, mai simplu 711
pe Catalog, apăsați Enter, nimic nu pare să se întâmple
dar dacă am face din nou LS-L, observă că este executabil
de grupul meu, care este de mijloc trei biți și de toate,
care este dreptul de trei biți, și este suficient pentru cei
să fie identice pentru scopurile noastre.
Bine mă simt ca și cum suntem intr-o forma destul de buna.
Să ne întoarcem la browser-ul și să reîncărcați,
la naiba, încă interzise.
Deci, ce altceva ar putea fi spart?
Unde altundeva ar putea vrem să se uite?
Deci, ne-am fixat catalog, așa dacă mă duc în catalog,
hai sa facem un alt LS, acum nu e mai multe lucruri aici și sincer
la prima vedere e copleșitor
și îndrăznesc să spun că aceasta este una dintre dureri de cap de cadre
din poarta si pe care le fel a avea o mulțime de acord cu,
dar vom perfecționa în ceea ce este important astăzi
și cel mai important lucru de acum este acest director.
Dacă ați utilizat aparatul înainte de a putea ști
ca public accesibil Directorul este numit public,
sau în ultimii ani a fost numit HTML, dar ne-am schimbat, deoarece
la mai comun public.
Deci, dacă am face chmod 711 de Publice
care ar părea să rezolva această problemă.
Deci, acum public director este, de asemenea, executabil
și, prin urmare, accesibilă.
Să vedem dacă suntem un pas mai aproape.
Să reincarca, încă nu bine și acum se duce
pentru a obține un pic mai provocator; asta e un pic mai greu.
Dacă merg în public, rechemare că Tim ne-a arătat acesta.
Dacă fac LS-AL, care listele de toate fișierele în format lung,
există un fișier punct ca să spunem așa
în cazul în care un fișier punct este doar o fișier al cărui nume de fișier începe
cu un punct.
Ce face htaccess?
Ei bine, să ne uităm la asta.
Mai degrabă decât să se utilizeze G Edit, Am de gând să utilizeze VIM,
puteți folosi EMax sau Nano sau oricare dintre editori preferate,
dar dacă mă uit în această aici are o grămadă de lucruri de nivel scăzut
care a venit cu lui Laravel distribuție.
Acesta este un fișier care Server de web Apache înțelege
și pe scurt, aceste mai multe linii
de configurare truc întregul director public
în aproape toate rutare HTTP cereri pentru a lua o presupunere.
Care fișier?
Toate cererile HTTP de intrare cu câteva excepții, ar fi direcționat
la ceea ce fișier, altfel cunoscut ca un controler de față?
>> Index.
>> Index.php.
Astfel încât, chiar dacă există o foo.php fișier sau un fișier bar.php
în directorul meu publică, sensul acestor linii
în general, este de a traseu toate cererile
la index.php excepția cazului în care aceste fișiere există într-adevăr, pentru că lucrurile
ca bang-f înseamnă că dacă nume de fișier nu există,
și dacă direct nu există,
cale toate cererile de index.php.
Deci, într-un pic acest lucru se întâmplă pentru a ne permite să avem URL-
ca http://Catalog/courses/123
unde 123 este unic identificator pentru un curs
dar nu este în mod clar numele un fișier, astfel încât cererea va
să fie dirijate spre index.php care va să dau seama,
datorită Laravel și vă, în cazul în care la traseu
că cererea HTTP de intrare.
Dar există o problemă.
Observați în mod implicit că htaccess nu poate fi citit
sau executabil.
Executabil nu este important dar eu nu vreau să fac chmod644
pe htaccess punct sau Un plus aviz R. acum
că dacă fac un tot listare, acum e ușor de citit.
Acum, dacă am trece degetele mele aici și reload, uau,
am avea până și să fie difuzate.
Pași atât de prost vă că trebuie să treacă prin la prima,
dar faptul că am un fel de trecut prin ea
astfel pedant este exact tipurile
de etape de diagnostic trebuie sa te gandesti
despre ori de câte ori ceva nu e greșit,
și chiar și atunci când un director ar putea fi intr-o parte,
dau seama că s-ar putea De asemenea, se dot fișiere,
în special dot htaccess care sunt destul de comune
în orice distribuție Apache,
care ar putea crea dureri de cap, cum ar fi faptul că unul.
Deci, eu sunt cam obosit de a merge înapoi
și mai departe de aparatul.
Aș lucra mai degrabă pe MAC mea sau chiar de pe PC-ul meu.
Deci, cum pot face acest lucru același truc etc / gazdă?
Bine observa că în primul rând permiteți-mi să figura
ce a aparat Adresa IP este.
Eu pot face ifcongig, care arată mi ceva de ieșire destul de criptic
dar notificare alături de eth0 sau mai degrabă alături de eth1,
există această adresă IP aici.
Am de gând să merg mai departe și copie că și în interiorul
de fereastră terminal propria mea MAC Am de gând să editați sudo etc / hosts
pe cont propriu MAC, care oferă mi un fișier asemănător caută.
Tot ce am de gând să fac asta.
Așa că am de gând să păcălească MAC mea
în gândire http://Catalog hărți de fapt
pentru că anumită adresă IP.
Bine, așa că hai să mergem mai departe și a salva acest, acum lasă-mă să închid
care fereastră de terminal și acum pe Mac-ul meu folosind orice browser vreau,
http://Catalog și eu vedea același lucru.
Acum, eu nici măcar nu trebuie să deranjeze merge înapoi în [inaudibil]
care ar putea să nu vrea să face oricum, așa că acum m-am întors
pe propriul meu computer utilizând într-adevăr aparatul
ca doar un server web.
Bine, așa că aici e doar o recapitulare rapidă a unor
de permisiunile de fișiere ne-ar putea dori să se schimbe
și am tăiat unele colțuri în lucruri cum ar fi favicon sau toate
interesant pentru acum.
Bine, asa ca acum sa incepem
pentru a configura acest implicit Instalare Laravel
pentru o bază de date.
Deci, Tim a făcut acest lucru pe scurt ultima dată de asemenea și fișierul
în cauză este cel de aici.
Deci interiorul, permiteți-mi să schimbare acest lucru să fie coerente,
App Catalog config database.php.
Deci, haideți să mergem în app, Să mergem într-config
și să mergem în database.php.
Deci, acesta este un fișier destul de lung, dintre care majoritatea sunt comentarii,
dar veți vedea dacă citit prin acest îndeaproape
pe care le puteți configura Laravel și o mulțime de cadre
pentru a sprijini diferite tipuri de baze de date.
Poate ca esti folosind MySQL, poate utilizați Mesaj [inaudibil],
Poate ca esti folosind SQL Lite, există alte lucruri
dar dacă suntem folosind MySQL