>> Alright.
Així que els cursos d'instrucció.
Catàleg de cursos de la Universitat d'Harvard té diversos milers de cursos,
hi ha diversos centenars de la facultat
i hi ha diversos dotzenes de camps,
ciències de la computació només sent un d'ells,
i vaig pensar que faríem servir això com una oportunitat per començar a pensar
sobre com implementa un aplicació basada en web estàndard
usant PHP i Laravel i també com podríem modelar alguns
d'aquestes entitats del món real.
Així que per fer això farem servir Laravel, que és només un marc
que afegeix una gran quantitat de característiques de PHP,
igual que afegeix Jango el mateix que Python,
Rails afegeix el mateix a Ruby.
Així que hi ha un parell de diferents maneres
en el qual es pot instal · lar Laravel.
La documentació per Laravel, com vostè pot recordar
des de la setmana passada, és realment molt ric
i que sens dubte pot pel seu compte en el joc a casa
amb això i seguir les instruccions específicament,
però seguiré endavant i només ens donen una ràpida,
gira llampec per alguns d'ells,
similar al que Tim va fer l'altre dia,
i jo estic primer va a utilitzar això.
Així Composer és una espècie de característica nova i millorada
per al món de PHP que fa més fàcil instal · lar les coses.
Si està familiaritzat amb la Llei Entra al [inaudible] món
o [inaudible] mundial o Yum al [inaudible]
i el món de Red Hat, aquesta és encara una eina més
que li permet instal · lar coses
per aquest entorn particular.
Així que si ho faig Compositor, Crear un projecte i així successivament,
que vaig a fer aquí, anirem per davant i just, jo et acompanyo
a través d'alguns d'aquests passos com ho vam fer l'última vegada
sense el signe de percentatge, Maleïda sigui, sense Compositor.
Així que amb el compositor-utilitzo una màquina virtual diferent
que ho feia abans.
Farem això molt ràpid.
Molt bé, el que la instal · lació Compositor és tan simple com això.
Així que vaig a fer una, m'aixecaré en la meva caixa de sabó per una estona també.
Això és realment una molt paradigma cada vegada més comú
per a la instal · lació de les coses en ordinadors de la gent en aquests dies,
on essencialment recuperar una adreça URL arbitrària,
canalitzar-la a través d'un intèrpret i després simplement fer el que
que tros de codi arbitrari que acaba de descarregar diu que fer.
És molt fàcil, ja que està a punt per veure però s'adonen que l'escèptic
en el seu ha de pensar que aquesta és un dels més insegurs
coses que vostè podria fer; la descàrrega d'un arxiu arbitrari
des d'Internet i després cegament executar a manera
de la canonada, però ho farem confia que l'instal · lador és
De fet legítim avui.
Vaig a seguir endavant i executar això i això va
per descarregar el programa.
Es va a descarregar un arxiu anomenat composer.farphparchive,
i jo vaig a anar endavant i fer això,
sudo-primera realitat chmod755composer.far,
que es va a fer executable per tots,
i després em vaig a fer sudo mv compositor
l'usuari compositor bin locals, i el que és fàcil de la safata local
per a aquells familiaritzats amb Linux?
Perquè quedi clar que estic fent això dins
l'aparell, fins i tot encara Estic usant el terminal en el meu MAC.
[Sota àudio] Exactament, pel que en un directori,
en realitat una lleugera clarificació.
Al directori normalment anomenat / bin
o / userbin són de fet alguns programes molt populars
com el CD i LS i així successivament.
En usuari bin locals per convenció no és una altra cosa de manera predeterminada i que,
els usuaris del sistema, pot posar el que vulguem en allà
i per defecte està en el seu anomenada ruta de recerca de manera que
quan només ha de teclejar el compositor el sistema operatiu, Linux,
va a mirar aquesta directori entre d'altres
per trobar el programa en qüestió, i resulta que està bé
per canviar el seu nom amb l'extensió d'arxiu
perquè hem fet executable.
Aquesta cosa realment funcionar com es pretén.
Bé pel que ara vaig a tornar
a la línia que vaig proposar que executar abans, el que és això;
compositor i llavors pren una línia d'argument de comandament,
que sé que només a partir la lectura de la documentació,
anomenat crear un projecte.
He de especificar el nom del el projecte en el que vull
a la meva base i Laravel / Laravel essencialment es refereix
a un repositori hub get en què aquest codi viu.
Catàleg és un nom arbitrari Jo vaig a donar al meu projecte,
el catàleg de cursos, però es podria anomenar foo
o qualsevol altra cosa, i prefereixen-dist.
És una mica tallada.
Només vol dir que prefereixen l'última distribució.
Així que vaig a seguir endavant i prem Intro i com Tim va dir
dimecres que pot de vegades triguen una estona,
especialment si vostè és en una connexió lenta
o si no s'ha emmagatzemat en memòria cau algunes d'aquestes coses,
però el que és això fent és que està comprovant
a terme un grapat sencer de codi de línia.
Es va lentament a descarregar en el meu ordinador
i quan per fi ha acabat,
Vaig a tenir un directori anomenat Catàleg interior
dels quals-oops, és per això.
Catàleg, farem això una altra vegada.
Bé no executi aquesta.
Pel que sembla, vosaltres teniu l'existent Directori Catàleg i adverteix
que en l'últim minut.
Això tindrà per a mi un directori anomenat Catàleg interior
dels quals és tot el codi que necessito
per començar a escriure un web basat en aplicació amb Laravel.
Així que d'aquí a uns pocs segons això hauria de posar en
i una vegada que tinguem això, i un cop més si no estàs en el punt
on vostè és capaç de seguir endavant en aquests moments,
que és totalment bé, és bastant fàcil
per tornar a crear el següent després en el seu propi aparell.
D'acord. Molt bé en el Mentrestant, com ho fem,
Vaig a tirar fins a una altra pista.
Així que és possible que tingui vist Tim menció
o editar el fitxer per última vegada.
Què és un arxiu etc / host i on viu?
Molt bé anem a rodar cap enrere en el temps.
Què és el DNS, el que ens debatut no fa molt de temps?
Molt bé, així que el sistema de noms de domini.
Això és només el infraestructura a Internet
que fa el que en una frase?
Sí [Sota àudio] Exactament.
Converteix els noms de domini d' Adreces IP i viceversa,
pel que és efectivament una taula de base de dades gran
amb aquests dos columnes que tenen noms de domini complets
en la direcció esquerra i IP a la dreta, per exemple,
i que només converteix els dos.
Ara que és tot fi i bo però si realment voleu
per crear nous noms de host a l'Internet, els nous noms de domini
en l'Internet, en general ha de donar diners a algú,
vostè ha de configurar les coses al seu servidor, els seus servidors de noms
i així successivament, que és un dolor real, i sobretot
si realment no volem comprar un nom de domini, només volem
pretendre que tenim nostre propi domini local,
per exemple anomenada Catàleg o Catalog.com
ni res d'això.
Bé etc / host que permet al disc assignacions de codis entre els noms de host
i les adreces IP de la seva propi equip local per tal de
per enganyar essencialment el ordinador en el pensament
que aquest nom de domini que realment existeix en aquest IP.
Es comprova primer abans el sistema de DNS en realitat sí
està marcada.
Així que permetin-me anar a aquest finestra de terminal i es veu
igual que en el fons hi ha,
tot havia descarregat amb èxit,
així que el que ara vaig de fer és el següent.
Si vostè està més familiaritzat des de la seva 50 ª o 51 dies
amb G Edit, em vaig a anar endavant i fer això amb G Edit
en un primer moment, però estic seguirà endavant
i fer sudo g editeu / etc / hosts a l'interior de l'aparell,
i quan faig això estic aconseguirà una finestra
que s'assembla a aquest d'aquí.
Línies tant críptica només perquè són llargs,
però essencialment és 127.0.0.1 mapatge
a uns pocs noms de host diferents, un dels quals és host local,
un dels quals és aparell i després un parell més;
localhost, appliance.localdomain.
Aquests són només convencions utilitzar coses com localhost
com a nom de host per defecte i localdomain
com a part activa per defecte domini de primer nivell o TLD.
Així que adonar-se del que ja ho va fer per a l'exposició aquí.
Si vull enganyar a aparell en el pensament
Catàleg que és de fet un lloc web de béns a l'Internet,
Els puc dir que l'aparell la seva adreça IP 127.0.0.1.
Ara per què aquesta direcció?
Què és aquesta IP?
D'on ve?
A qui he de preguntar per això?
[Sota àudio] Què és això?
[Sota àudio] És la direcció de volta del bucle,
que simplement vol dir que és l'adreça IP per defecte donat
a la majoria de qualsevol ordinador en el món que suporta IP,
protocol d'Internet, i que és una adreça de volta del bucle
en el sentit que que reflecteix.
Es refereix a si mateix.
Així que tots nosaltres, si tenim un aparell o fins i tot un MAC
o PC té una adreça IP local de 127.0.0.1 i només s'usa
de manera que es pot parlar a tu mateix.
El que vaig poder a la figura teoria
quina IP de l'aparell direcció és i el tipus d'192.168
o el que sigui aquest nombre és, però no cal.
Aquest serà invariant i simplement sempre funcionarà.
Així que una vegada que em reservo això vol dir que en última instància,
que en un navegador que puc anar a http://Catalog, ja que vaig a fer aquí,
però algunes coses són sortit de les portes.
Llavors, què fa això solen dir,
quan no tinc permisos, prohibit, de fer alguna cosa,
Quin és el teu primer instint per resoldre aquest problema?
Jo descarrego un directori anomenat Catàleg
en el meu directori V exèrcits, que des de la setmana passada, com es recordarà és
on tota la nostra classe de pàgines web locals viuran.
Què podria ser trencat?
Com solucionar?
[Sota àudio] Permisos.
Permisos de què?
Bé arxius potencialment.
Així que anem a tornar a la nostra finestra de terminal aquí.
Estic en el meu directori del servidor V.
Déjame fer LS i notificació hi ha un parell de coses.
Host local, que ve amb l'aparell, que el va posar allà.
Catalog.original, que Vaig posar allà abans,
que és una espècie de la final versió del que estem
punt de submergir-se en i Catàleg, que m'acaba de descarregar.
Si vull veure en els permisos
al directori de catàleg, Jo puc fer LS-L i l'avís
que són una mica diferent dels altres.
El que el permís és aparentment directori del catàleg,
que hem descarregat, mancant per defecte?
Encara que no té idea del que la paraula és que es pot inferir esquerp
el que és diferent sobre cadascuna d'aquestes tres línies?
Val el que falta entre la línia un i la línia dos de la sortida?
Sí? [Sota àudio] Sí, pel que és falta el X, que es troba
per executable i Què significa
si un directori és executable?
Només vol dir que vostè pot obrir-lo.
Pots CD sencera.
Podeu accedir als arxius dins d'ella.
Així que si executables, mitjans d'un arxiu que és un programa que pot executar.
Un directori és executable si es pot entrar-hi.
Així que puc arreglar això amb algunes de les formes.
Que podia fer chmod A + X, el que significa executable tot més
i llavors puc dir Catàleg.
O recordar de CS50 o altres classes,
Puc ser una mica més luxós i dir 0711 o més simplement 711
el catàleg, premeu Enter, sembla que res succeeix
però si ho faig LS-L de nou, adonar que és executable
pel meu grup, que és el mitjana de tres bits, i per tots,
que és els tres bits de la dreta, i és suficient per a aquells
per ser idèntic per nostres propòsits.
Molt bé em sento com si estiguéssim en molt bona forma.
Tornem a la navegador i anem a recarregar,
maleïda sigui, encara prohibit.
Llavors, què més podria estar trencat?
On més podria volem veure?
Així que arreglem catàleg, de manera que si entro en el Catàleg,
Anem a fer un altre LS, ara hi ha més coses aquí i francament
a primera vista és aclaparador
i m'atreveixo a dir que aquest és un els mals de cap dels marcs
per la porta i que s'ordena d'haver un munt d'acord amb,
però anem a afinar en el que és important en l'actualitat
i el més important per ara és aquest directori.
Si heu utilitzat l'aparell abans que vostè pot ser que sàpiga
que l'accés públic directori es diu pública,
o en els últims anys se li va cridar HTML però hem posat canviem
al públic més comú.
Així que si ho faig chmod 711 de Públic
que semblaria arreglar aquest problema.
Així que ara el públic directori també és executable
i per tant accessible.
Anem a veure si som un pas més a prop.
Anem a recarregar, encara no bo i ara va
a ser una mica difícil; aquest és una mica més difícil.
Si entro en públic, el record que Tim ens va mostrar aquesta.
Si ho faig LS-AL, que les llistes tots els arxius en el format llarg,
hi ha un arxiu de punts per dir-ho
on un arxiu de punts és només un arxiu el nom de fitxer comença
amb un punt.
Què fa htaccess?
Bé anem a veure en això.
En lloc d'utilitzar la unitat G Edit, Vaig a utilitzar VIM,
pot utilitzar Emax o Nano o qualsevol dels seus editors preferits,
però si em veig aquí aquesta té un munt de coses de baix nivell
que van venir amb Laravel de distribució.
Es tracta d'un arxiu que el Servidor web Apache entén
i conte llarg, aquestes diverses línies
truc de configuració tot el directori públic
en gairebé tots enrutament d'HTTP sol · licituds per prendre una conjectura.
Què arxiu?
Totes les peticions HTTP entrants amb algunes excepcions es d'utilitzar
al fitxer, altrament conegut com un controlador frontal?
>> Índex.
>> Index.php.
Així que fins i tot si hi ha un foo.php arxiu o un fitxer Bar.php
en el meu directori públic, el significat d'aquestes línies
en general és ruta totes les sol · licituds
a index.php menys que aquests arxius certament existeixen perquè les coses
com significa bang-f si el nom de fitxer no existeix,
i si el directament no existeix,
ruta totes les sol · licituds a index.php.
Així que en una mica això va que ens permeten tenir l'URL del
com http://Catalog/courses/123
on 123 és l'únic identificador per a un curs
però no és clarament el nom del un arxiu perquè la sol · licitud va
ser encaminat a index.php ¿Qui va a entendre,
gràcies a Laravel i vostè, on encaminar
que la sol · licitud HTTP entrant.
Però hi ha un problema.
Observi per defecte que htaccess no és llegible
o executable.
Executabilitat no és important però jo no vull fer chmod644
htaccess en el punt o Un avís més R. Ara
que si faig un tot perfil, ara és llegible.
Ara si creuo els dits aquí i recàrrega, encara sort,
tenim en marxa i funcionant.
Passos tan estúpid que de passar per al principi,
però el fet que jo tipus de passar a través d'ell
tan pedant és exactament els tipus
de passos de diagnòstic cal pensar
s'acosta cada vegada que alguna cosa és malament,
i fins i tot quan un directori podria ser mal,
adonar-se que podria També es dot arxius,
en particular htaccess dot que són bastant comuns
en qualsevol distribució d'Apache,
que podria crear mal de cap com aquesta.
Així que m'estic posant una mica cansat d'anar de nou
i tornada a l'aparell.
M'agrada molt més prefereixo treballar en el meu MAC o fins i tot en el meu PC.
Llavors, com puc fer això mateix truc etc / host?
Bé notar que primer deixar que em figura
què hi ha dels electrodomèstics Adreça IP és.
Jo puc fer ifcongig, que mostra em alguna sortida bastant críptic
però avís al costat de eth0 o més aviat al costat de eth1,
hi ha aquesta adreça IP.
Vaig a seguir endavant i copiar això ia l'interior
de la finestra de la terminal de la meva pròpia MAC Vaig a editar sudo etc / hosts
en la meva pròpia MAC, que dóna em un arxiu buscant similar.
Tot el que faré és això.
Així que em vaig a enganyar al meu MAC
en el pensament de http://Catalog en realitat mapes
a aquesta adreça IP específica.
Molt bé, així que seguirem endavant i guardar aquesta, ara deixeu-me tancar
que finestra de terminal i d'ara el meu MAC utilitzant qualsevol navegador que vull,
http://Catalog i jo veure el mateix.
Ara ni tan sols ha de molestar que es remunta a [inaudible]
que és possible que no desitja faig de totes maneres, així que ara estic de tornada
al meu ordinador realment l'aparell
tan sols un servidor web.
Molt bé, així que aquí és només un resum ràpid d'alguns
dels permisos d'arxius el que es vol canviar
i vaig tallar algunes cantonades en coses com el favicon o tots
que interessant per ara.
Molt bé, així que ara començarem
per configurar aquest valor per defecte Instal · lació Laravel
per a una base de dades.
Així que Tim va fer una breu última vegada massa i l'arxiu
en qüestió és aquest d'aquí.
Així que d'aquí a, permetin-me canvi que això sigui consistent,
App Catalog database.php config.
Així que entrarem en l'aplicació, entrarem en config
i entrarem en database.php.
Així que aquest és un arxiu molt llarg, la major part dels quals és comentaris,
però ja veuràs si llegeixi aquesta estretament
que es pot configurar Marc Laravel i molt a
per donar suport diferents tipus de bases de dades.
Potser vostè està utilitzant MySQL, potser utilitzeu Missatge [inaudible],
potser vostè està utilitzant SQL Lite, hi ha altres coses
però si estem usant MySQL