>> Вы можаце ўспомніць з апошні раз, калі мы глядзелі
ў гэтым апошнім прыкладзе MVC,
кантролер выгляд мадэлі архітэктура,
і гэта ў значнай ступені вараныя
да арганізацыі рэчаў трохі больш акуратна
ў каталогах.
А калі я дрэва, які знаходзіцца ўсяго ў каманднай
што паказвае мне файлавую сістэму як гэта, у нас быў добры
і акуратна шаблоны каталог, грамадскага каталог, і гэтак далей.
І агульная ідэя быў толькі пакласці
ў грамадскім каталог файлы, якія сапраўды маюць патрэбу
павінны быць адкрытымі, і ўсё астатняе павінна быць прыгожа арганізавана.
Але эфектыўна, ўнутры гэтага грамадскага каталог у нас было ўсё
цэлая куча кантролераў, асобныя кантролеры
што так ці інакш патрабуецца або не ўключаныя іншыя файлы.
Але мы сапраўды не атрымаць значна больш функцыянальнасці, чым,
і, па сутнасці, мы збольшага павінны былі рэалізаваць гэтую ідэю думкамі,
або шаблоны, самі, з функцыяй экстракта
і функцыю рэндэрынгу, што мы рэалізавалі сябе.
І як гэта мы пачаць рабіць гэта, мы пачнем разумець, -
мы пачнем нарошчваць Жаданае, як, о, нічога сабе,
Шкада, што я меў бібліятэку для адпраўкі электроннай пошты.
Шкада, што я меў бібліятэку для стварэння базы дадзеных.
Шкада, што я ёсць бібліятэка для кропка кропка кропка.
І менавіта таму яны існуюць бібліятэкі.
Вось чаму людзі выкарыстоўваюць Django з Python,
таму што гэта проста дае вам больш.
Вось чаму людзі выкарыстоўваюць Рэйкі з Рубінам
таму што гэта проста дае вам больш.
Вось чаму мы будзем выкарыстоўваць Laravel таму што ў верхняй частцы РНР
ён проста дае вам больш.
І гэтак жа, каб навучыць вас, то, на імгненне, я збіраюся пайсці
ў каталог клінавай прымаючага
у прыкладзе прыкладання выкарыстоўваючы Laravel.
На першы погляд, шчыра кажучы, гэта верагодна, крыху пераважнай
, Таму што ёсць так шмат файлы, так шмат каталогаў,
але галоўнае, і, як мы ўбачым пасля хуткага перапынку,
з'яўляецца канцэнтрацыя ўвагі толькі на найбольш дарэчныя рэчы
каб атрымліваць некаторую працу, зробленую на пачатковым этапе, і што адбываецца
быць па трапным каталогу.
Як вы ўбачыце і пачуеце, што яшчэ куча тэчак,
але тыя, пры пераходзе па догляду о, у першую чаргу, гэта ёсць.
Калі я адкрываю маршрут прыпынак PHP, апавяшчэнне як тізер,
як гэта дадатак збіраецца працаваць.
Гэта перапісанай у Laravel
з супер проста па-дурному дадатак Вядома
што даў мне нулявую тыдзень, тыдзень адзін, лекцыі, і PDF-файлы.
Я проста збіраюся паказаць - мой экран трохі адрэзаць,
зноў - я збіраюся пазначыць наступнае,
што я хачу, каб вызначыць маршрут з дапамогай HTTP GET для касой рысай,
і кожны раз, калі карыстальнік для гэтага візіты прыкладанняў слэш
на маім сайце, я хачу выканаць ананімны кавалак кода,
а менавіта вярнуцца выгляд тоўстай кішкі марку.
Так што гэта азначае выклікаць статычны метад ўнутры
з класа называецца выгляд, і зрабіць выконвае шаблон
што называецца індэкс, і яна праходзіць у кучу
з пар ключ-значэнне, у гэтым выпадку, назва.
Між тым, калі карыстальнік візіты слэш лекцыі,
гэты код павінен выканаць,
і шаблон лекцыі павінны будуць выдадзены.
Нарэшце, калі карыстальнік наведвае лекцыі скараціць нешта,
дзе, што нешта, за ніжні тут, лік,
адзін або некалькі дзесятковых знакаў,
то я хачу зрабіць лекцыі шаблон,
праходзячы ў назве, а таксама.
Такім чынам, канчатковы вынік у тым, што -
калі я на самой справе падцягнуць гэты прымяненне ў маім браўзэры,
канчатковы вынік - воклічы.
Канчатковым вынікам з'яўляецца сапраўды гэтак жа,
хоць і з трохі сэксуальней URL-адрасы з прадпрыемствам.
Цяпер гэта лекцыя слэш 0 замест нулявой тыдні кропка PHP.
Але, давайце спынімся тут.
Давайце дзвюххвілінным пераломіць, і калі мы вяртаемся,
Цім збіраецца прыехаць на і ўвесці нас
да ўнутранай працы з Laravel і віду
функцыянальнасці мы збіраецца атрымаць з скрынкі.
>> Добра, гэта так, зараз мы будзе прымаць больш глыбокае апусканне
у рамках Laravel PHP, якія Дэвід згадвалася.
Так Laravel, першае месца мы збіраемся пачаць збіраецца
да хуткага старту
і ўсталяваць яго з дапамогай тое, што называецца Кампазітар.
Так Кампазітар з'яўляецца сістэма кіравання пакетамі
для PHP, аналагічнай каштоўныя камяні для Рубі або Pit
для Python або MPM для Няма JS.
Кампазітар дапамагае кіраваць усімі розныя залежнасці
што Laravel залежыць ад таго, калі - Рода, пад капотам.
Ён выкарыстоўвае шмат сімфоніі,
іншы PHP фреймворка ўнутраныя працы.
І, так, мы збіраемся выкарыстоўваць камандную радок
што яны даюць нам тут, Кампазітар стварыць праект Laravel Laravel,
пасля таго як мы ўсталявалі Кампазітар ўтыліта,
які я ўжо зроблена на - паглядзім.
Так што я з дапамогай CS 50 прыбор
таму што гэта мае ўсе PHP версіі і мая SQL
і ўсё, што нам трэба каб пачаць працаваць.
Так што я збіраюся ісці наперад і падцягнуць тэрмінал тут
і скачыце ў у-гаспадара каталог, і я збіраюся
каб ўставіць гэты - о, я не можа зрабіць гэта такім чынам.
Так што я збіраюся SSH да прыкладу Linux
што я бягу ў VMWare.
І я збіраюся запусціць гэты Кампазітар стварыць праект Laravel,
і я збіраюся змяніць імя праекта
проста прыклад кропкавай распрацоўніка.
І за кулісамі,
гэта займае некаторы час першы раз, калі вы ідзяце
гэта зрабіць, але гэта ўстаноўкі ўсіх залежнасцяў
што вы збіраецеся трэба запусціць Laravel.
Так мы спадзяемся, гэта робіць не зойме занадта шмат часу.
Варта проста ўзяць другую.
У першы раз, што вы робіце гэта, гэта зойме некалькі хвілін,
магчыма, таму што гэта павінен атрымаць усе.
Я ўсё гэта кэшуюцца тут.
Так што цяпер у нас ёсць прыклад кропку Dev, што мы збіраемся трэба
зрабіць, каб мець магчымасць атрымаць доступ да гэтага
у нашым браўзэры Chrome з'яўляецца ісці наперад і скакаць з -
мы збіраемся псеўда праз хост файл Etsy.
І мы збіраемся ісці наперад і дадаць новую радок тут з IP
ад 50 прылады, які паказаны тут
у ніжнім правым куце экрана, 192168 -
і гэта можа адрознівацца у залежнасці ад вашай машыны,
так 192168 69128 [аўдыё разбіць] прыклад праект кропка Dev.
Добра. Захаваць гэта.
Такім чынам, цяпер, калі мы ідзем у прыкладзе кропка Dev, мы бачым, - давайце паглядзім.
О, я быў у няправільным каталог, так што дазвольце мне ісці наперад
і перамесціце прыклад кропка Dev у V-гаспадара каталогу.
І зараз, калі мы абнавіць яго, мы бачыць, што ён кажа, забаронена.
Вы не маеце доступу.
Так што мы павінны ісці ў Каталог прыклад кропка Dev
у V-гаспадара, і нам трэба ўсталяваць правы яго 0711, прыклад кропка Dev,
а таксама грамадскасць - о, Я зрабіў гэта няправільна абодва разы.
Такім чынам, прыклад кропка Dev, як а таксама агульны каталог
што знаходзіцца пад гэта, такім чынам, што яна здольная
каб дабрацца да індэкса кропка PHP.
І зараз, калі мы абнаўляем - о, мы ўсё яшчэ ёсць праблемы.
Так ўнутры напрыклад грамадскага каталог,
калі мы пералічым усе файлы, у тым ліку схаваныя,
ёсць доступ да файлаў HD, і гэта выкарыстоўваецца Apache
, Каб дапамагчы вызначыць, для гэты канкрэтны каталог,
дзе запыты павінны быць накіраваныя.
Так што гэта таксама неабходна мець правы змененымі у 0644, і зараз вы прыехалі.
Так, каб было хутка ўсталяваць з Laravel праз камандны радок.
Так што давайце ісці наперад, і я збіраюся выкарыстоўваць нешта, званае Samba.
Калі вы не знаёмыя з ім, можна - з меню Finder,
пайсці, каб пайсці і падлучыцца да сервер, і вы можаце пайсці наперад
і зрабіць SMB тоўстай кішкі слэш слэш і IP-адрас
асобніка Linux, што мы знаходзімся працуе ў VMWare і ісці наперад
і падлучыцца да сервера так што вы можаце змантаваць яго
як файлавай сістэмы і выкарыстоўваць яго
як калі б вы былі на месцы падлучаных да яго.
Так што я збіраюся ісці наперад і ажыццявіць гэта
ў рэдактар ​​пад назвай ўзвышанае тэкст.
Калі вы не знаёмыя, гэта гэта сапраўды добры рэдактар
, Які даступны рэдагаваць файлы кода.
І такім чынам мы збіраемся зірнуць
у каталогу Структура праекта.
Такім чынам, ёсць некалькі розных тэчкі ў верхнім узроўні.
Там у дадатак, якое Дэвід згадаў ўжо.
Там у загрузны, якія з'яўляюцца некаторыя файлы, якія выкарыстоўваюцца ўнутры
па Laravel загружацца ўсё залежнасцяў, загрузіць іх у,
пераканайцеся, што ўсе чараўніцтва метады называюцца правільна
, Каб мець магчымасць [аўдыё перапынку].
Існуе грамадскасці каталог, які з'яўляецца, дзе ўсё
з нашых дзяржаўна-абліцавальных актываў, такія як індэкс кропка PHP
дзе апрацоўваюцца запыты, малюнка, CSS файлы, JavaScript,
усё, што трэба быць непасрэдна даступныя
на свет жыве ў грамадскасці каталог.
А потым каталог пастаўшчыкоў з'яўляюцца ўсе актывы -
ці ўсё [аўдыё перапынку] пад капотам, які робіць шмат
частка цяжкай працы што Laravel залежыць ад.
Так звычайна, у грамадскасці каталог, гэта свайго роду
з таго, што вы ўбачыце, CSS, JavaScript,
гэтыя файлы не там, калі ўстаноўкі рамкі,
але тыя рэчы, якія вы, верагодна, хочаце дадаць
як вы будуеце з вашых прыкладанняў.
Выява доступ HD, што я вышэйзгаданае, а індэкс кропка PHP,
які з'яўляецца пярэдняя кантролер для -
дзе ўсе запыты прайсці на пачатковым этапе.
Так ўнутры прыкладання Тэчка, гэта -
там на самай справе пара -
Ёсць на самай справе некаторыя з іх розныя тэчкі тут.
Там вельмі шмат з іх, і, як згадвалася Дэвід,
Гэта можа быць пераважнай спачатку, але вы проста хочаце, каб сканцэнтравацца
на іх адмыслова.
Так што ёсць маршруты кропка PHP, які з'яўляецца, што мы бачылі раней
каб паказаць, што вы можаце накіроўваць канкрэтных URL і ПВТ метад
ў пэўнай як ананімным, Функцыя, як Дэвід выкарыстаў,
або кантролер, які мы збіраемся перайсці.
Там у тэчцы CONFIG,
у якім вы ўсталяваць любы канфігурацыі прыкладання
што вам трэба, напрыклад, налады базы дадзеных або любыя API-інтэрфейсы
што вы маглі б мець справу з.
Калі вы выкарыстоўваеце нешта для адпраўкі пошты
або калі вы падлучаецеся у Amazon для захоўвання малюнкаў,
вы павінны ўсталяваць ўсе тыя канфігурацыі
ў цэнтральнай кропцы ў Дадатак, так што -
роду канвенцый, Кожны чалавек, як яны працуюць
у камандзе, вы не павінны думаю пра тое, дзе гэта.
Гэта проста ў вас ёсць ўстанавіць месца, дзе яна ідзе.
Гэта было б у CONFIG.
Кантролеры размясціць ва ўжыванні
дзе вы звычайна накіроўваць запыты.
Такім чынам, кантролер апрацоўвае шмат логікі прыкладання
і як бы бярэ тое, што Дысплей экрана збіраецца
быць, думкі, а потым яшчэ і снарады
да розных мадэлям якія ўтрымліваюць дадзеныя
і перадаваць іх у прадстаўленне.
Такім чынам, вы роду - кантролер з'яўляецца свайго роду дыспетчарам
для запытаў, вы ведаеце, тое, што вы збіраецеся рабіць
з дадзенымі - або з - у залежнасці ад запыту з'яўляецца,
якія дадзеныя павінны быць паказаны і дзе ж узяць яго з.
І віды звычайна толькі HTML,
можа быць, з выкарыстаннем шаблонаў рухавік, як мы збіраемся пайсці
больш з лязом шаблонаў рухавік, які Laravel пастаўляецца з.
І тады іншыя каталогі прама цяпер, мы толькі збіраемся
да выгляду замазваць і не турбавацца аб.
Але тыя, ўключаюць тэсты, так выпрабаванняў без прымянення блок,
фільтры, захоўванне.
Я працягваю рабіць гэта.
Добра, скачкі назад сюды.
Такім чынам, першае, што ён пастаўляецца з з'яўляецца гэты маршрут атрымаць
і гэта выгляд робяць прывітанне.
Так што, калі мы паглядзім у каталог праглядаў,
мы бачым, што з'яўляецца прывітанне кропка PHP,
а вось дзе гэта вы прыбытку прыходзіць ад.
Але мы таксама можам змяніць гэта -
так, мы можам змяніць гэта, каб прывітанне, і цяпер, калі мы спрабуем пайсці
да маршруту, які не вызначаны мы атрымаць гэты выгляд латкоў стэка
адносна таго, што пайшло не так з дадаткам.
Але калі мы ідзем слэш прывітанне,
ёсць на самай справе ўнутраная памылка сервера.
Так што ёсць трохі магія адбываецца за кулісамі
ў CS 50 прыбора да пераканайцеся, што вы ў стане
назваць усё гэта каталогі зручней.
Назва - так Прыклад кропка Dev, што мы далі.
Такім чынам, мы на самай справе трэба змяніць яшчэ адну рэч
у файле доступу HD.
Так што мы збіраемся, каб ісці наперад
і дадайце гэты радок, перапісаць базавы рысу.
І што ў прынцыпе з'яўляецца яшчэ адным дырэктыва.
Дэвід, вы можаце казаць больш, каб што аснова перазапісу робіць.
>> Гэта істотна карэктуе больш, што думае сервер.
Гэта, як мяркуецца, [Неразборліва] віртуальны хост.
Так паказаўшы ігнараваць, што, перапісаць базавыя адрасы касой.
>> Правай. Такім чынам, зараз, слэш Прывітанне працуе належным чынам.
Так што давайце перайсці назад сюды.
Так разам з проста рабіць ананімная функцыя, як гэта,
ёсць - дык гэта гэта проста паўтор
з MVC я быў раз абмяркоўвалі.
Гэта ўваходзіць у маршрутах і затым выкладвае кантролераў,
якая мае справу з мадэлі і прадстаўлення і, як усе
, Якія павінны быць разгледжаны.
Так кантралёры з'яўляюцца свайго роду - дапамагчы цэнтралізаваць ўсё гэта,
і вы можаце атрымаць да іх доступ з дапамогай маршруты, кажучы маршрут атрымаць.
Такім чынам, мы маглі б сказаць, маршрут атрымаць прывітанне,
і тады кантролер назваць хоць і імя метаду.
Так што давайце ісці наперад і даць, што стрэл.
Таму мы будзем казаць маршрут атрымаць скараціць прывітанне,
і мы зробім прывітанне Кантролер ў шоў-прывітанне.
Так што для таго, каб гэта працавала,
нам трэба дадаць файл з імем прывітанне кантролер кропка PHP.
Я буду ісці наперад і - дык гэта пашырае базавы кантролер,
якія Laravel ўжо караблі з,
якая распасціраецца кантролер, які з'яўляецца свайго роду пад капотам
і робіць шмат матэрыял за кулісамі
што дапамагае кантралёры накіроўваць усе гэтыя станы
што прыходзіць у дадатак.
Такім чынам, хатні кантролер, мы сказалі гэта будзе называцца шоу прывітанне.
І мы проста - замест вяртання выгляд,
мы проста вярнуцца прывітанне свет.
О, прывітанне, - о, я скапіяваў яго.
Добры дзень кантролер.
Так прывітанне свет.
Так што гэта проста вельмі, вельмі просты прыклад
пра тое, як можна стварыць кантралёры.