>> Добре.
Така че курсовете на обучение.
Разбира стоките Harvard има няколко хиляди курсове,
Има няколко стотици на факултет
и има няколко десетки области,
компютърни науки просто е един от тях,
и аз си помислих, че ще използва това като възможност да започнем да мислим
за това как да се прилага стандартен уеб базирано приложение
използване на PHP и Laravel и също така и как бихме могли да моделират някои
на тези реални лица.
Така че, за да направите това, ние ще използваме Laravel, който е само на рамка
която добавя много функции на PHP,
много прилича Джанго добавя същото и с Python,
Rails добавя същото за Ruby.
Така че има няколко различни начини
в който можете да инсталирате Laravel.
Документацията за Laravel, тъй като може да се припомни,
от миналата седмица, е всъщност е доста богат
и със сигурност може да на собствения си у дома игра
наоколо с това и следвайте инструкциите специално,
но аз ще отида напред и просто да ни даде по-бърз,
вихрушка обиколка на някои от тях,
подобно на това, Tim направих онзи ден,
и аз съм първият ще използвате този.
Така Composer е нещо като Новата и подобрена функция
за света на PHP, което прави е по-лесно да инсталирате неща.
Ако сте запознати с Акт Влизай в [недоловим] света
или [недоловим] свят или Yum в [недоловим]
и червена шапка свят, това все още не е просто още един инструмент
който ви позволява да инсталирате неща
за тази среда.
Така че, ако го направя Composer, Създаване на проекти и т.н.,
което аз ще направя тук, да вървим напред и просто, аз ще ви преведе
чрез някои от тези стъпки, както направихме миналия път
без знака за процент, По дяволите, без Composer.
Така че с Composer-Аз съм с помощта на различен виртуална машина
отколкото преди.
Да го направим много бързо.
Добре, така че инсталирането Композитор е толкова просто като това.
Така че аз ще направя, аз ще ставам на моя подиум за известно време също.
Това всъщност е много все по-често парадигма
за инсталиране на неща компютрите на хората тези дни,
където по същество изтегли произволно URL един,
свържете го с преводач и след това просто да правя това, което
че произволно парче код Вие току-що изтеглихте казва да правя.
Това е много лесно, тъй като сте на път да се види, но реализира скептик
във вашия трябва да мислим, че това е сред най-несигурни
неща, които някога може да направи; изтегляне на произволен файл
от интернет и след това сляпо го изпълняват чрез
на тръбата, но ние ще Вярвам, че инсталатора е
всъщност легитимна днес.
Отивам да вървим напред и изпълните това и това се случва
за да изтеглите програмата.
Това ще да си изтеглите файл наречен composer.farphparchive,
и аз отивам да напред и да направите това,
Sudo-първата всъщност chmod755composer.far,
което ще го направи изпълним от всички,
и след това аз ще направи Sudo MV композитор
към потребителското местната бин композитор, и какво е потребителското местната бин
за тези, запознати с Linux?
За да бъде ясно, че правя това вътре
на уреда макар Аз съм с терминал на моя MAC.
[Low аудио] Точно така, така в указател
всъщност леко уточнение.
В указателя обикновено се нарича / бен
или / userbin са наистина някои много популярни програми
като CD и LS и така нататък.
В потребителското местната бин по споразумение не е нищо по подразбиране и ние,
потребителите на системата, CAN поставяйте нищо искаме там
и по подразбиране това е във вашата т.нар пътя за търсене, така че
когато просто въведете композитор операционната система, Linux,
ще изглежда в този указател между другото
да се намери въпросната програма, и се оказва, че всичко е наред
да го преименувате с разширението на файла
защото ние сме направили го изпълним.
Това нещо действително ще тичам като ние възнамеряваме.
Добре, така че сега аз ще се върна
до линията I ние предложихме изпълни по-рано, което е това;
композитор и след това да го взема аргумент от командния ред,
които знам само от Прочитането на документацията,
нарича се създаде проект.
Трябва да укажете името на проекта, на която искам
до база мина и Laravel / Laravel по същество се отнася
към хъб хранилище GET , в която този код живее.
Catalog е произволно име Отивам да дам на моя проект,
каталогът разбира се, но бихте могли да го наречем Foo
или нещо друго, и предпочитат-дистрибуция.
Това е малко отрязани.
Това просто означава, предпочитам последното разпределение.
Така че аз ще отида напред и да удари Въведете и както каза Tim
в сряда, че може понякога да отнеме известно време,
особено ако сте за бавна връзка
или ако не са кеширани някои от тези неща,
но какво е това правите, е да го проверява
от цял ​​куп на код от онлайн.
Това бавно ще да го изтеглите на моя компютър
и когато тя най-накрая е направено,
Отивам да има указател наречен Catalog вътре
от които е-Опа, ето защо.
Каталог, да го направим отново.
Добре, не тичам, че един.
Очевидно сте съществуващ Catalog директория и го забелязва
че в последния момент.
Това ще има за мен директория, наречена Catalog вътре
от които е целия код имам нужда
да започнете да пишете уеб базиран заявление с Laravel.
Така че в рамките на няколко секунди това трябва да рита в
и след като имаме това и отново ако не сте в точката
когато сте в състояние да следват заедно точно сега,
това е напълно наред, това е доста лесно
да пресъздаде тези стъпки след това в собствения си уред.
Добре. Добре в на Междувременно, както правим това,
Отивам да дръпнете до един друг намек.
Така че може да се наложи виждал Tim споменаване
или да редактирате този файл за последен път.
Какво е т.н. / хост файл и къде се живее?
Добре нека се търкаля назад във времето.
Какво е DNS, която ние дискутирани не много отдавна?
Добре, така че име на домейн система.
Това е само инфраструктура в интернет
че прави това, което в едно изречение?
Да. [Low аудио] Точно така.
Той преобразува имена на домейни, за да IP адреси и обратно,
така че това е ефективно една голяма таблица от база данни
с тези две колони, които имат напълно квалифицирани имена на домейни
от лявата и IP адреса отдясно, например,
и то просто преобразува два.
Сега всичко това е добре и добро но ако наистина искате
за създаване на нови имена на хостове по Интернет, новите имена на домейни
в интернет, обикновено трябва да дадат пари на някого,
трябва да конфигурирате неща техния сървър, на техните сървъри за имена
и т.н., който е истинска болка, и по-специално
ако ние наистина не искате да си купите име на домейн, ние просто искаме
да се преструваме, че имаме нашия собствен локален домейн,
например нарича Catalog или Catalog.com
или нещо подобно.
Е и т.н. / хост ви позволява да се твърди кодови преобразувания между хост имена
и IP адресите на вашия собствен локален компютър, така че
по същество подвежда компютър в мисленето
че това име на домейн действително съществува по това IP.
Това се проверява, преди действително DNS самата система
се проверява.
Така че позволете ми да отида в това терминален прозорец и тя изглежда
като във фонов режим там,
всичко е изтеглил успешно,
така че това, което аз сега ще да направите, е следното.
Ако сте по-запознати от вашия 50-а или петдесет и един ден
с G Edit, аз отивам да напред и да направим това с G Edit
в началото, но аз съм ще вървим напред
и да направим Sudo грама редактиране / и т.н. / е домакин във вътрешността на уреда,
и когато го направя това, аз съм Ще ви се отвори прозорец
който изглежда като този тук.
Донякъде загадъчни линии само защото те са дълги,
но по същество това е картографиране 127.0.0.1
до няколко различни имена на хостове, една от които е локалния хост,
един от които е уред и след това още няколко;
localhost.localdomain, appliance.localdomain.
Това са само конвенции да използват неща като Localhost
като име по подразбиране домакин и localdomain
като в началото по подразбиране домейн от първо ниво или TLD.
Така че забележите това, което вече Направих предварително тук.
Ако искам да подвежда уред в мисленето
че Catalog е наистина недвижими уебсайт в интернет,
Мога да кажа, че уредът неговото IP адрес е 127.0.0.1.
Сега защо този адрес?
Какво е това IP?
Откъде е дошла тя?
Кой съм аз трябва да питам за това?
[Low аудио] Какво е това?
[Low аудио] Това е най- контур адрес обратно,
което просто означава, че това е подразбиране IP адреса на даден
за най-всеки компютър в света, който поддържа IP,
интернет протокол, и това е принципа на обратната адрес
в смисъл, че то тя отразява.
Тя се отнася към себе си.
Така че всеки от нас, ако имаме уред или дори MAC
или PC има локален IP адрес на 127.0.0.1 и той се използва само
така че можете да говорите за себе си.
Бих могъл на теория фигура
какво IP на уреда адрес и въведете 192.168
или каквото и този брой е, но това не е необходимо.
Това един ще бъде инвариантна и просто винаги ще работи.
Така че след като аз освен, че че в крайна сметка означава
че в браузъра мога да отида да http://Catalog, както аз ще направя тук,
но някои неща са избухнала на портите.
Така че това, което прави това обикновено означава,
когато не е нужно разрешение, забранено, за да се направи нещо,
какво е вашето първо инстинкт за разрешаването на този проблем?
Направих си изтеглите директория, наречена Catalog
в моя V домакини директория, която от миналата седмица, че ще извикате е
където всички от нашия вид локални уеб сайтове, ще живеят.
Какви могат да бъдат разбити?
Как да се определи?
[Low аудио] Разрешения.
Разрешения на какво?
Добре файлове потенциално.
Така че нека да се върнем към нашия терминален прозорец тук.
Аз съм в моя V хост директория.
Позволете ми да направя LS и известие Има няколко неща.
Локалния хост, който идва с уреда, ние го сложи там.
Catalog.original, който Сложих там по-рано,
това е вид на готовия версия на това, което сме
за да се потопите в, и в каталога, които Току-що изтеглили.
Ако аз искам да изглеждам на разрешенията
на указателя каталог, Мога да го направя LS-L и обявление
че те са малко различен от другите.
Какво разрешение е очевидно директорията, каталог,
който току-що изтеглили, липсва по подразбиране?
Дори ако вие нямате представа какво думата е, че може да се направи извод невъзпитан
какво е по-различна всяка от тези три линии?
Добре какво липсва между линия една и втора линия на изхода?
Да? [Low аудио] Да, така е. липсва X, която стои
за изпълним и какво означава това
ако директорията е изпълним?
Това просто означава, че можете да го отворите.
Можете CD в нея.
Можете да получите достъп до файлове вътре в него.
Така че, ако даден файл е изпълним, средства това е като програма, която може да работи.
А директория е изпълним ако можете да отидете в него.
Така че мога да поправя това с няколко начина.
Което можех да направя CHMOD A плюс X, което означава, че всички плюс изпълним
и след това мога да кажа Catalog.
Или извикайте от CS50 или други класове,
I може да бъде малко по-красиви и кажем 0711 или по-просто 711
по каталог, натиснете Enter, нищо не изглежда да се случи
но ако го направя LS-L отново, забележите, че той е изпълним
от моята група, която е най- средна три бита и от всички,
Коя е най-правилните три бита, и е достатъчно за тези
да бъде еднаква за нашите цели.
Добре се чувствам като ние сме в доста добра форма.
Нека да се върнем към браузър и нека да се презареди,
дявол да го вземе, все още е забранено.
Така че, какво друго може да е счупена?
Къде другаде може искаме да изглежда?
Така че ние фиксирана каталог, така че ако отида в каталог,
нека да направим още LS, сега има повече неща тук и честно казано
На пръв поглед това е поразителен
и смея да кажа, това е една от главоболията на рамки
от портата и че вие ​​сортиране на имаме много се справят,
но ние ще усъвършенствате в по това, което е важно днес
и най-важното нещо за сега е тази директория.
Ако сте използвали уреда преди може би знаете
че публично достъпни указател се нарича Public,
или през последните години се е наричал HTML, но ние сме се променили, тъй като тя
до по-често публично.
Така че, ако го направя CHMOD 711 на Public
че изглежда определи този въпрос.
Така че сега обществеността указател също е изпълним
и следователно достъпна.
Да видим дали сме една стъпка по-близо.
Нека да презареди, все още не добре и сега тя става
да се получи малко предизвикателство; това е малко по-трудно.
Ако отида в Public, отзоваване че Tim ни показа това.
Ако го направя LS-AL, която списъци всички файлове в дълъг формат,
има един файл дот така да се каже
когато даден файл точка е просто файл, чието име започва файл
с точка.
Какво означава Htaccess направя?
Ами нека да погледнем в това.
Вместо да използвате G Edit, Отивам да използвате VIM,
можете да използвате Emax или Nano или някой от вашите предпочитани редактори,
но ако аз гледам тук тази има един куп неща, ниско ниво
който дойде с Laravel е разпределение.
Този файл е, че Apache уеб сървър, разбира
и дълга история кратко, тези няколко реда
на конфигурация трик целия публичен указател
маршрутизация в почти всички HTTP искания за поемане на предположение.
Кой файл?
Всички входящи HTTP заявки с няколко изключения ще бъдат насочени
до каква файл, в противен случай известен като предната контролер?
>> Index.
>> Index.php.
Така че, дори ако има foo.php файл или файл bar.php
в моя публичен указател, смисъла на тези линии
като цяло трябва да маршрут всички искания
да index.php освен ако тези файлове наистина съществува, защото нещата
като взрив-е означава, че ако име на файл не съществува,
и ако директно не съществува,
маршрут всички заявления за index.php.
Така след малко това ще да ни позволи да имаме URL е
като http://Catalog/courses/123
където 123 е уникалното идентификатор за курс
но това очевидно не е на името на на файл, така че искането ще
да се насочват към index.php кой ще разбера,
благодарение на Laravel и вие, къде да маршрут
че входящо искане HTTP.
Но има един проблем.
Забележете, че по подразбиране Htaccess файл не се чете
или изпълним.
Изпълнимостта не е важен но аз искам да правя chmod644
на точка Htaccess или A плюс R. Сега известие
че ако го направя всичко фирма, сега това е разбираемо.
Сега, ако аз стискам палци тук и презареждане, Уф,
ние я имаме и да вървят.
Така глупави стъпки, които трябва да мине през най-първо,
но фактът, че нещо премина през него
така педантично е точно видове
диагностични стъпки трябва да се мисли
за всеки път, когато нещо не е погрешно,
и дори когато дадена директория може да е криво,
Осъзнаваме, че може също така да бъдат Дот файлове,
по-специално точка Htaccess които са доста често срещани
във всяка дистрибуция на Apache,
което може да създаде главоболия като този.
Така че аз съм се малко уморен от връщане назад
и напред към уреда.
Бих много по-скоро работа по моя MAC или дори на моя компютър.
И така, как мога да направя това същото и т.н. / домакин трик?
Е забележите, че първо нека фигура
какво на уреда IP адрес е.
Мога да го направя ifcongig, което показва, ми някои доста загадъчен изход
но предизвестие до eth0 или по-скоро до eth1,
има този IP адрес тук.
Отивам да вървим напред и копие, че и вътре
от терминален прозорец моя собствен MAC е Отивам да редактирате SUDO т.н. / е домакин
на моя собствен MAC, която дава мен подобна търсите файл.
Всичко, което ще направя е това.
Така че аз отивам да подвежда ми MAC
в мисленето http://Catalog всъщност карти
към този конкретен IP адрес.
Добре, така че нека да вървим напред и да запишете това, сега нека да затворите
че терминален прозорец и сега на моя MAC използвайки всеки браузър, което искам,
http://Catalog и аз виж също нещо.
Сега дори не трябва да се притеснява връщам в [недоловим]
които може да не искал да направя така или иначе, така че сега аз съм назад
на собствения си компютър, като използвате наистина уреда
просто като уеб сървър.
Добре, така че тук е просто бърза рекапитулация на някои
на правата на файла ние може да искате да се промени
и аз нарязани някои ъгли в неща като Favicon или всички
Интересно, че за сега.
Добре, така че сега нека да започнем
, за да изберете този подразбиране Монтаж Laravel
за база данни.
Така че Тим е направил това за кратко последно време прекалено и файлът
в въпрос е този тук.
Така вътре, нека промяна това, за да бъде последователна,
Catalog ап довереник database.php.
Така че нека да отидат в апартамент, нека да отидат в конфигурационния
и нека да отидат в database.php.
Така че това е доста дълго досие, повечето от които е коментари,
но ще видим дали ще прочетете това внимателно
, които можете да конфигурирате Laravel и много по-рамки
да поддържат различни типове бази данни.
Може би сте с помощта на MySQL, може би използвате Post [недоловим],
Може би сте с помощта на SQL Lite, има други неща
но ако ние използваме MySQL