1 00:00:00,000 --> 00:00:02,538 >> [Гуляе музыка] 2 00:00:02,538 --> 00:00:10,800 3 00:00:10,800 --> 00:00:12,390 >> Эрык Ауян: Гэй, усё. 4 00:00:12,390 --> 00:00:13,580 Сардэчна запрашаем. 5 00:00:13,580 --> 00:00:16,860 Гэты будынак Dynamic Вэб-прыкладанні з Laravel. 6 00:00:16,860 --> 00:00:18,290 Мяне клічуць Эрык Ауян. 7 00:00:18,290 --> 00:00:23,860 Я студэнт-другакурснік вывучэння сацыяльных даследаванняў з другасным па інфарматыцы, 8 00:00:23,860 --> 00:00:27,290 і я жыву ў Адамс Дом тут, у Гарвардзе. 9 00:00:27,290 --> 00:00:33,340 >> Так Laravel, на яго большасці асноўных, гэта фреймворк для вэб-дадатак MVC. 10 00:00:33,340 --> 00:00:38,265 Так падабаецца, што вы, хлопцы, ёсць рабілі з CS50 фінансаў, 11 00:00:38,265 --> 00:00:42,480 Laravel з'яўляецца асновай, якая дазваляе ствараць дынамічныя вэб-прыкладанні. 12 00:00:42,480 --> 00:00:47,710 Такім чынам, вы можаце думаць пра гэта ў нейкім сэнсе як пашырэнне тыпу матэрыялу 13 00:00:47,710 --> 00:00:50,470 Вы рабілі ў CS50 Фінансы, але сістэма, якая з'яўляецца 14 00:00:50,470 --> 00:00:55,890 шмат больш надзейнымі, шмат больш элегантны ў пэўным сэнсе, 15 00:00:55,890 --> 00:00:57,870 і дае шмат Функцыянальнасць для вас 16 00:00:57,870 --> 00:01:03,060 пабудаваць даволі складаны вэб-прыкладанняў. 17 00:01:03,060 --> 00:01:05,010 Так што давайце прайсці праз некаторыя з ключавых асаблівасцяў, 18 00:01:05,010 --> 00:01:09,550 і тады мы будзем апускацца ў Прыклад пабудовы блог 19 00:01:09,550 --> 00:01:12,500 Дадатак з Laravel. 20 00:01:12,500 --> 00:01:16,700 >> Такім чынам, адна з першых рэчаў, якія адрознівае яго ад MVC віду работ 21 00:01:16,700 --> 00:01:22,100 што вы рабілі з CS50 гэта ўключае ў сябе рухавік ОРМ. 22 00:01:22,100 --> 00:01:27,410 Так ORM расшыфроўваецца аб'екта рэляцыйнага адлюстравання. 23 00:01:27,410 --> 00:01:31,080 Так што гэта дазваляе будаваць пласт абстракцыі 24 00:01:31,080 --> 00:01:35,230 паміж базай дадзеных і кантралёры. 25 00:01:35,230 --> 00:01:39,150 Так, у адрозненне ад CS50 фінансаў, на якім Вы непасрэдна выконваць запыты, 26 00:01:39,150 --> 00:01:44,790 ORM пласт дазваляе абстрактны, што далёка і стварыць 27 00:01:44,790 --> 00:01:48,085 мадэлі, якія з'яўляюцца больш магутнымі, чым Вы можаце прама з запытамі SQL. 28 00:01:48,085 --> 00:01:50,590 29 00:01:50,590 --> 00:01:53,510 >> Іншая справа, што на самой справе карыснай спадчынныя шаблоны. 30 00:01:53,510 --> 00:01:58,990 Такім чынам, вы ўбачыце, у CS50 фінансаў, вы ў канчатковым выніку перапісвання шмат рэчаў, 31 00:01:58,990 --> 00:02:03,150 дзе месцы, якія вы маглі б патэнцыйна выкарыстоўваць рэчы, вы не ў стане. 32 00:02:03,150 --> 00:02:08,539 Дык вось у Laravel, вы можаце выкарыстоўваць тое, што Вядома, як лязо шаблону рухавіка 33 00:02:08,539 --> 00:02:10,530 стварыць майстар-план. 34 00:02:10,530 --> 00:02:15,840 І адтуль, вы можаце успадкаваць так што на поўдзень шаблоны могуць на самай справе 35 00:02:15,840 --> 00:02:21,210 ўключаюць у сябе элементы, якія ўваходзяць у што большай базавай шаблону. 36 00:02:21,210 --> 00:02:21,810 >> Міграцыя. 37 00:02:21,810 --> 00:02:29,010 Так што гэта даволі стандартныя асаблівасці на большасць сучасныя рамкі вэб-прыкладанняў. 38 00:02:29,010 --> 00:02:32,710 Так што гэта дазваляе прадстаўляць змены схемы базы дадзеных у кодзе. 39 00:02:32,710 --> 00:02:39,200 Так што без збіраўся сказаць, PhpMyAdmin, Вы можаце фактычна стварыць гэтыя міграцыі 40 00:02:39,200 --> 00:02:44,660 дзе вы ўяўляеце базы дадзеных Змены схемы ў код. 41 00:02:44,660 --> 00:02:48,070 І гэта дазваляе to-- асабліва Калі ў вас ёсць некалькі людзей, якія працуюць 42 00:02:48,070 --> 00:02:52,650 на тым жа вэб application-- адсочваць гэтыя змены, 43 00:02:52,650 --> 00:02:55,380 кажуць у GitHub, або якой-небудзь іншай рэпазітар. 44 00:02:55,380 --> 00:03:00,880 >> Так што гэта вельмі карысна і зніжае неабходнасць 45 00:03:00,880 --> 00:03:04,580 каб, скажам, прайсці вакол шмат SQL звалак. 46 00:03:04,580 --> 00:03:07,140 І, нарэшце, Кампазітар з'яўляецца то вельмі, вельмі карысна 47 00:03:07,140 --> 00:03:09,840 што дазваляе выкарыстоўваць іншыя Код народны зрабіць дзіўныя рэчы. 48 00:03:09,840 --> 00:03:14,020 Так Laravel структураваны як некалькі кампазітар пакеты. 49 00:03:14,020 --> 00:03:17,870 Так бы мовіць, калі вы хочаце, каб прынесці у пакет праверкі сапраўднасці 50 00:03:17,870 --> 00:03:23,440 або калі вы хочаце, каб прынесці ў некаторых Сартаваць скрыпту генератара або адміністратарам 51 00:03:23,440 --> 00:03:26,910 інтэрфейс, вы можаце падключыць і гуляць гэтыя кампаненты з кампазітарам. 52 00:03:26,910 --> 00:03:30,470 53 00:03:30,470 --> 00:03:31,570 >> Так што давайце пачнем. 54 00:03:31,570 --> 00:03:35,185 Любыя пытанні ад вас Хлопцы перш чым мы пачнем? 55 00:03:35,185 --> 00:03:36,500 Ніякіх пытанняў? 56 00:03:36,500 --> 00:03:37,490 Крута. 57 00:03:37,490 --> 00:03:39,990 Такім чынам, першы крок ўстаноўка Composer. 58 00:03:39,990 --> 00:03:43,590 Так Кампазітар дазваляе кіраваць гэтымі залежнасцямі, 59 00:03:43,590 --> 00:03:47,770 няхай гэта будзе база Laravel ці якой-небудзь іншай дадатковы трэцяя асоба. 60 00:03:47,770 --> 00:03:50,400 Першая каманда дазваляе Вы можаце спампаваць кампазітара, 61 00:03:50,400 --> 00:03:55,890 і другая каманда дазваляе перамясціць яго ў вашай лакальнай тэчцы бін 62 00:03:55,890 --> 00:04:01,340 так што вы можаце запускаць Composer непасрэдна праз тэрмінал. 63 00:04:01,340 --> 00:04:05,405 >> Пасля гэтага, ісці наперад і стварыць новы праект Laravel. 64 00:04:05,405 --> 00:04:07,280 Мы на самай справе адбываецца ў выкарыстоўваць некаторыя прыклад кода 65 00:04:07,280 --> 00:04:10,760 што я сабраў стварыць гэты блог. 66 00:04:10,760 --> 00:04:14,420 Але калі вы пачынаеце з драпіна, вы павінны выкарыстоўваць гэтую каманду 67 00:04:14,420 --> 00:04:18,160 тут, кампазітар стварыць-праект, Laravel скараціць Laravel, а затым 68 00:04:18,160 --> 00:04:19,940 Назва Вашага праекта. 69 00:04:19,940 --> 00:04:22,275 І што будзе ўключаць у сябе усе код размеркавання 70 00:04:22,275 --> 00:04:23,733 для пачатку новы праект Laravel. 71 00:04:23,733 --> 00:04:28,870 Такім чынам, для вашых CS50 скончаных праектаў, вы будзеце верагодна, захочаце выкарыстоўваць гэтую каманду. 72 00:04:28,870 --> 00:04:31,210 >> Але мы збіраемся пачаць з гэтага. 73 00:04:31,210 --> 00:04:34,630 Таму, як толькі вы зрабілі што вы збіраецеся атрымаць 74 00:04:34,630 --> 00:04:40,190 даволі шырокая нумар файлаў у blog50. 75 00:04:40,190 --> 00:04:43,840 Так што давайце проста прайсці некаторыя з гэтых кампанентаў. 76 00:04:43,840 --> 00:04:49,060 Вы заўважыце, на гэтым маршруце Каталог, ёсць тэчка прыкладання. 77 00:04:49,060 --> 00:04:52,960 Ўнутры тэчкі прыкладання, ёсць пару карысных тэчкі. 78 00:04:52,960 --> 00:04:56,330 Варта адзначыць, каб пачаць з гэта тэчка Config. 79 00:04:56,330 --> 00:04:59,210 Так гэта стварае як вэб-дадатак 80 00:04:59,210 --> 00:05:04,350 будзе, скажам, аўтэнтыфікацыі карыстальнікаў або грашовыя рэчы або падлучыцца да базы дадзеных. 81 00:05:04,350 --> 00:05:06,400 >> І тое, што на самой справе карысна ў тым, што Laravel 82 00:05:06,400 --> 00:05:09,130 дазваляе наладзіць розныя асяроддзях распрацоўкі. 83 00:05:09,130 --> 00:05:12,090 Такім чынам, што мы зрабілі тут, калі мы ідзем пад лакальнай тэчцы, 84 00:05:12,090 --> 00:05:14,720 ёсць файл database.php. 85 00:05:14,720 --> 00:05:18,320 І вы заўважыце, тут мы ўсталяваць злучэнне MySQL, што 86 00:05:18,320 --> 00:05:22,230 дазваляе людзям злучыцца да сервера MySQL, што гэта 87 00:05:22,230 --> 00:05:24,310 непасрэдна на прыборы CS50. 88 00:05:24,310 --> 00:05:26,980 І мы падключэнні да базы дадзеных што я стварыў называецца Blog50. 89 00:05:26,980 --> 00:05:31,390 90 00:05:31,390 --> 00:05:37,085 >> Такім чынам, давайце на самай справе ісці наперад і запусціць рабочую версію гэтага, 91 00:05:37,085 --> 00:05:39,710 толькі, каб атрымаць адчуванне таго, што дадатак, якое мы будуем 92 00:05:39,710 --> 00:05:41,390 выглядае. 93 00:05:41,390 --> 00:05:46,150 Так што ў мяне копію гэта Blog50 завершана. 94 00:05:46,150 --> 00:05:51,910 Так Laravel на самай справе мае ўбудаваны сервер 95 00:05:51,910 --> 00:05:53,910 што вы можаце запусціць непасрэдна з каманднага радка. 96 00:05:53,910 --> 00:05:56,900 Так што гэта падобна на PSet раней, калі вы на самой справе 97 00:05:56,900 --> 00:06:00,580 пабудаваць свой уласны сервер у С. Такім чынам, яны маюць адну пабудаваны ў так 98 00:06:00,580 --> 00:06:04,010 што вы можаце запусціць вашыя прыкладання Laravel непасрэдна з каманднага радка. 99 00:06:04,010 --> 00:06:11,650 >> Так што, калі мы робім PHP рамесніка служыць, гэта пачне сервер распрацоўкі 100 00:06:11,650 --> 00:06:13,880 порт 8000. 101 00:06:13,880 --> 00:06:18,250 Так што, калі мы ідзем у лакальным хасце 8000, вы заўважыце, што, эй. 102 00:06:18,250 --> 00:06:20,800 У нас ёсць блог і працуе. 103 00:06:20,800 --> 00:06:25,090 Так Laravel тут генерацыі Галоўная старонка нашага блога. 104 00:06:25,090 --> 00:06:26,350 Вельмі простае прыкладанне. 105 00:06:26,350 --> 00:06:28,610 Але ёсць пара сапраўды карысных функцый 106 00:06:28,610 --> 00:06:31,346 што яна забяспечвае пад капотам. 107 00:06:31,346 --> 00:06:33,680 >> Так прымяненне блога проста. 108 00:06:33,680 --> 00:06:36,430 Калі б мы хацелі стварыць пост, мы можам націснуць на гэтую кнопку. 109 00:06:36,430 --> 00:06:40,470 Мы можам сказаць: "Гэй, усё. 110 00:06:40,470 --> 00:06:44,530 Гэта вельмі весела Семінар ", напрыклад. 111 00:06:44,530 --> 00:06:46,560 І напісаць што-то тут. 112 00:06:46,560 --> 00:06:48,180 Тэкст тут. 113 00:06:48,180 --> 00:06:51,327 Калі ціснем Submit, вы будзеце звярніце ўвагу, што наш новы блог 114 00:06:51,327 --> 00:06:53,410 Паведамленне было дададзена Галоўная старонка блога. 115 00:06:53,410 --> 00:06:56,532 116 00:06:56,532 --> 00:06:59,970 Калі мы вернемся сюды, вы заўважыце, што былі некаторыя заўвагі, ужо 117 00:06:59,970 --> 00:07:01,160 на блогу. 118 00:07:01,160 --> 00:07:03,630 Так што, калі мы пракручваем ўніз, вы будзеце звярніце ўвагу, што Джонатан Тан кажа 119 00:07:03,630 --> 00:07:08,020 што ён быў вельмі заінтрыгаваны гэтай пасады. 120 00:07:08,020 --> 00:07:11,570 >> Такім чынам, мы пойдзем у тое, як аб'ект рэляцыйнага адлюстравання дазваляе 121 00:07:11,570 --> 00:07:16,668 Вы, каб зрабіць гэтыя адносіны ў даволі плыўны спосаб, як добра. 122 00:07:16,668 --> 00:07:17,660 Крута. 123 00:07:17,660 --> 00:07:20,290 Любыя пытанні аб функцыянальнасці што мы збіраемся будаваць? 124 00:07:20,290 --> 00:07:22,850 125 00:07:22,850 --> 00:07:23,840 Крута. 126 00:07:23,840 --> 00:07:28,170 Такім чынам, давайце пачнем з сапраўды стварэння табліц базы дадзеных. 127 00:07:28,170 --> 00:07:33,190 >> Так Нагадаем, што ў CS50 фінансаў, вам сабраць стол для карыстальнікаў 128 00:07:33,190 --> 00:07:37,100 а таксама для акцыі ў вашым партфелі. 129 00:07:37,100 --> 00:07:41,040 Так як мы ўжо згадвалі раней, што мы выкарыстоўваем у Laravel 130 00:07:41,040 --> 00:07:43,090 што-то вядома, як міграцый. 131 00:07:43,090 --> 00:07:48,570 Так што, калі мы вернемся да Размеркаванне код тут, 132 00:07:48,570 --> 00:07:51,790 Першая каманда, якая карысна, што Laravel дае вам 133 00:07:51,790 --> 00:07:54,240 гэта каманда міграцыі. 134 00:07:54,240 --> 00:07:59,220 Такім чынам, мы можам зрабіць PHP, мігруюць майстравых: зрабіць. 135 00:07:59,220 --> 00:08:01,760 Так што гэта дазваляе нам стварыць міграцыі. 136 00:08:01,760 --> 00:08:03,710 >> І тады мы захочам стварыць міграцыі 137 00:08:03,710 --> 00:08:07,050 называецца create_posts_table, якая збіраецца 138 00:08:07,050 --> 00:08:11,521 каб быць там, дзе мы збіраемся быць захоўвання нашым блогу. 139 00:08:11,521 --> 00:08:14,690 І вы заўважыце, тут, што ён працуе праз код, які на самай справе 140 00:08:14,690 --> 00:08:17,580 генеруе файл з штамп часу на гэта. 141 00:08:17,580 --> 00:08:22,260 Так што, калі мы пойдзем і паглядзім на базы дадзеных, мы заўважылі пры міграцыі 142 00:08:22,260 --> 00:08:24,830 што ён створаны Пусты файл для нас, якія 143 00:08:24,830 --> 00:08:30,100 мае шаблонны код з назвай што мы паказалі, ствараць паведамленні стол. 144 00:08:30,100 --> 00:08:31,670 >> І яно мае дзве функцыі ў ёй. 145 00:08:31,670 --> 00:08:40,539 Да чаго мы хочам працаваць, калі міграцыя прымяняецца да базе даных. 146 00:08:40,539 --> 00:08:46,380 І ўніз, што мы збіраемся рабіць калі мы хочам павярнуць назад міграцыю. 147 00:08:46,380 --> 00:08:49,890 Дык вось давайце пачнем напісанню гэтай міграцыі. 148 00:08:49,890 --> 00:08:55,480 Так што карысна клас у Laravel называецца схемы. 149 00:08:55,480 --> 00:08:57,910 >> Такім чынам, мы збіраемся запусціць схемы :: стварыць. 150 00:08:57,910 --> 00:09:01,080 І мы збіраемся стварыць табліца з імем паведамленні. 151 00:09:01,080 --> 00:09:05,980 І тут мы ўжываем гэта, выкарыстоўваючы функцыю. 152 00:09:05,980 --> 00:09:11,010 І ў тут, мы ідзем на самай справе вызначыць змест нашай табліцы. 153 00:09:11,010 --> 00:09:14,860 Мы збіраемся стварыць ID, што автоинкрементные. 154 00:09:14,860 --> 00:09:19,850 155 00:09:19,850 --> 00:09:24,350 >> Акрамя таго, мы збіраемся каб стварыць поле, што 156 00:09:24,350 --> 00:09:27,060 ўяўляе загаловак нашага блога. 157 00:09:27,060 --> 00:09:29,880 158 00:09:29,880 --> 00:09:36,950 Мы таксама збіраемся стварыць поле для захоўвання тэкст нашага блога. 159 00:09:36,950 --> 00:09:40,600 І, нарэшце, мы збіраемся захоўваць некаторыя пазнакі 160 00:09:40,600 --> 00:09:44,690 калі наш пост быў створаны і калі ён быў абноўлены. 161 00:09:44,690 --> 00:09:46,240 І ўніз, гэта даволі проста. 162 00:09:46,240 --> 00:09:53,974 Усё, што мы хочам зрабіць, гэта падзенне табліца, якую мы стварылі. 163 00:09:53,974 --> 00:09:54,930 >> Выдатна. 164 00:09:54,930 --> 00:09:55,850 Ёсць пытанні? 165 00:09:55,850 --> 00:09:59,730 166 00:09:59,730 --> 00:10:07,110 Так што цяпер, калі мы ідзем наперад и-- самай справе, лакальны хост, 167 00:10:07,110 --> 00:10:09,640 дазвольце мне выдаліць, што было раней. 168 00:10:09,640 --> 00:10:14,330 169 00:10:14,330 --> 00:10:15,190 Перайсці да баз дадзеных. 170 00:10:15,190 --> 00:10:17,640 Я збіраюся выдаліць, што было раней. 171 00:10:17,640 --> 00:10:22,870 Пакіньце гэта і стварыць Новая база дадзеных Blog50. 172 00:10:22,870 --> 00:10:24,930 Так што цяпер чароўны частка тут, што мы 173 00:10:24,930 --> 00:10:28,760 можа ўжываць гэтыя міграцыі непасрэдна да базы дадзеных з дапамогай каманднага радка 174 00:10:28,760 --> 00:10:29,290 інструмент. 175 00:10:29,290 --> 00:10:35,100 Так што, калі мы робім PHP майстравых, мігруюць, Вы заўважыце, што, эй. 176 00:10:35,100 --> 00:10:38,320 Ён створаны табліцу міграцыі, якія мы зірнем на ў трохі, 177 00:10:38,320 --> 00:10:40,540 і ён ужываецца гэты першы міграцыі. 178 00:10:40,540 --> 00:10:43,860 179 00:10:43,860 --> 00:10:48,920 >> Так мы глядзім на Blog50, вы заўважыце, што ён створаны дзве табліцы для нас. 180 00:10:48,920 --> 00:10:50,300 Па-першае гэта табліца міграцыі. 181 00:10:50,300 --> 00:10:54,130 Так што, калі мы праглядзець гэта, вы заўважыце, што Гэтая табліца з'яўляецца даволі просты. 182 00:10:54,130 --> 00:10:55,490 Гэта проста сказаў, што, эй. 183 00:10:55,490 --> 00:10:58,960 Мы ўжылі гэты міграцыі. 184 00:10:58,960 --> 00:11:01,470 Мы вернемся і паглядзім на пасады. 185 00:11:01,470 --> 00:11:05,720 Вы заўважыце, што структура менавіта тое, што мы прасілі яго. 186 00:11:05,720 --> 00:11:07,350 У нас ёсць автоинкрементный ID. 187 00:11:07,350 --> 00:11:10,450 У нас ёсць радок для захоўвання Назва і тэкставае поле 188 00:11:10,450 --> 00:11:11,450 для захоўвання кантэнту. 189 00:11:11,450 --> 00:11:14,040 190 00:11:14,040 --> 00:11:14,706 Выдатна. 191 00:11:14,706 --> 00:11:15,560 Крута. 192 00:11:15,560 --> 00:11:21,626 Любыя пытанні аб міграцыі праца, як мы можам прымяняць іх? 193 00:11:21,626 --> 00:11:22,126 Няма? 194 00:11:22,126 --> 00:11:23,600 Крута. 195 00:11:23,600 --> 00:11:26,630 Так што цяпер мы збіраемся, каб ісці наперад а на самай справе стварыць мадэль. 196 00:11:26,630 --> 00:11:33,100 Таму мы хочам, каб стварыць паведамлення мадэль, якая захоўвае абстракцыі базы дадзеных. 197 00:11:33,100 --> 00:11:41,040 Такім чынам, замест таго, каб рабіць запыты MySQL непасрэдна, мы збіраемся стварыць. 198 00:11:41,040 --> 00:11:45,840 Такім чынам, мы павінны стварыць Тэчка тут званых мадэляў. 199 00:11:45,840 --> 00:11:48,905 І тут ўнутры, мы збіраемся стварыце файл з назвай post.php. 200 00:11:48,905 --> 00:11:52,280 201 00:11:52,280 --> 00:11:54,550 >> У гэтым файле PHP, мы збіраемся стварыць 202 00:11:54,550 --> 00:12:00,590 клас пост, які працягваецца красамоўны. 203 00:12:00,590 --> 00:12:08,950 Красамоўнай з'яўляецца імя ORM рухавік, які забяспечвае Laravel. 204 00:12:08,950 --> 00:12:12,799 І тут, мы маглі б чакаць, што Вы на самой справе трэба напісаць код. 205 00:12:12,799 --> 00:12:14,840 Мы збіраемся напісаць некалькі дапаможныя функцыі больш позняй версіі. 206 00:12:14,840 --> 00:12:19,420 Але з скрынкі, гэта ўжо будзе прызнаюць, што ў базе дадзеных 207 00:12:19,420 --> 00:12:24,770 і мы можам атрымаць доступ, скажам, тэкст нашай блогу або назвы, 208 00:12:24,770 --> 00:12:29,230 і стварыць матэрыял непасрэдна з не вельмі шмат няма кода наогул. 209 00:12:29,230 --> 00:12:31,110 >> Так што гэта адна з магічных кампанентаў. 210 00:12:31,110 --> 00:12:34,980 І вецер адразу гэтага класа больш паўнавартаснай, 211 00:12:34,980 --> 00:12:40,480 мы будзем ўключаць інфармацыю аб тым, што гэта звязана з так каментарах. 212 00:12:40,480 --> 00:12:42,310 Акрамя таго, стварэнне функцыю таму мы можам на самай справе 213 00:12:42,310 --> 00:12:46,340 непасрэдна атрымаць URL старонкі ў паведамленні ў блогу. 214 00:12:46,340 --> 00:12:46,840 Крута. 215 00:12:46,840 --> 00:12:47,881 Ёсць пытанні па гэтай нагоды? 216 00:12:47,881 --> 00:12:51,140 217 00:12:51,140 --> 00:12:51,832 Няма. 218 00:12:51,832 --> 00:12:54,100 Крута. 219 00:12:54,100 --> 00:12:57,860 >> Так што цяпер, калі мы маем мадэль, мы хачу стварыць кантролер, што гэта 220 00:12:57,860 --> 00:13:02,340 магчымасць ўзаемадзейнічаць з гэтымі мадэлямі, а затым базы дадзеных. 221 00:13:02,340 --> 00:13:05,540 Так што, калі мы зірнем на BlogController, вы 222 00:13:05,540 --> 00:13:08,490 заўважыць, што гэта не шмат тут і цяпер. 223 00:13:08,490 --> 00:13:13,220 Усё там ёсць функцыя індэкс што стварае хатнюю старонку, 224 00:13:13,220 --> 00:13:18,220 але без чаго-небудзь ёсць для адлюстравання яшчэ. 225 00:13:18,220 --> 00:13:20,560 >> Так у першай функцыі што мы збіраемся стварыць 226 00:13:20,560 --> 00:13:25,790 гэта той, які дазваляе стварыць пост у блогу. 227 00:13:25,790 --> 00:13:30,540 Такім чынам, мы збіраемся аб'явіць Новая функцыя называецца newPost. 228 00:13:30,540 --> 00:13:36,430 І тут ўнутры проста, мы збіраемся каб усталяваць гэтую старонку 229 00:13:36,430 --> 00:13:41,850 быць зрабіць версію, калі вы памятаеце з CS50, 230 00:13:41,850 --> 00:13:48,020 · п пад назвай blog.new, які мы збіраемся стварыць у няшмат. 231 00:13:48,020 --> 00:13:53,170 >> Вы заўважыце, тут, на шостым радку, што мы вызначылі гэтую зменную, макет. 232 00:13:53,170 --> 00:13:55,820 І калі мы зірнем у тэчцы Views, 233 00:13:55,820 --> 00:14:01,640 ёсць Макеты тэчкі, якая ўключае ў сябе вельмі просты файл HTML. 234 00:14:01,640 --> 00:14:04,680 І варта адзначыць, вы заўважыце, што ў нас ёсць гэты кантэйнер 235 00:14:04,680 --> 00:14:06,800 вось што дае змест. 236 00:14:06,800 --> 00:14:09,460 Так ўнутры нашага шаблону тое, што мы збіраемся зрабіць 237 00:14:09,460 --> 00:14:16,180 гэта стварыць тое, што будзе замешчаных непасрэдна ў гэтым макеце. 238 00:14:16,180 --> 00:14:20,060 >> Таму мы сказалі, што мы хочам зрабіць шаблон называецца blog.new. 239 00:14:20,060 --> 00:14:23,790 Але ўнутры Блог, ёсць пакуль гэта не новы шаблон. 240 00:14:23,790 --> 00:14:26,910 Такім чынам, мы збіраемся стварыць файл з імем new.blade.php. 241 00:14:26,910 --> 00:14:29,860 Гэта кажа Laravel, што Гэты файл PHP павінен 242 00:14:29,860 --> 00:14:31,720 быць вынесена з Лязо рухавік шаблон. 243 00:14:31,720 --> 00:14:39,510 244 00:14:39,510 --> 00:14:42,630 Так што гэта даволі проста файл. 245 00:14:42,630 --> 00:14:46,690 Гэта будзе форма, з дапамогай якіх мы на самай справе дадаць у блогу. 246 00:14:46,690 --> 00:14:49,220 >> Так магіі сюды з Ўспадкоўванне з'яўляецца тое, што, эй. 247 00:14:49,220 --> 00:14:52,950 Мы хочам, каб паказаць, што раздзел, раздзел змест 248 00:14:52,950 --> 00:14:56,640 тут, які акрэслены поsection иstop. 249 00:14:56,640 --> 00:15:02,260 Так што паміж тут збіраецца павінны быць падстаўляючы у майстар-макета. 250 00:15:02,260 --> 00:15:07,000 А вось тое, што мы хочам зрабіць, гэта вельмі проста стварыць новы HTML файл. 251 00:15:07,000 --> 00:15:08,690 Давайце проста дадаць хуткі тытул. 252 00:15:08,690 --> 00:15:09,600 Дадаць запіс у блогу. 253 00:15:09,600 --> 00:15:12,110 254 00:15:12,110 --> 00:15:15,390 І ў ім, мы збіраецца стварыць форму. 255 00:15:15,390 --> 00:15:19,197 >> Гэтая форма будзе мець дзеянне. 256 00:15:19,197 --> 00:15:21,780 І гэта будзе нешта што мы падставім у далейшым, 257 00:15:21,780 --> 00:15:24,200 і мы ўбачым, як маршрутызацыі ўпісваецца ў тут. 258 00:15:24,200 --> 00:15:33,600 Але мы проста збіраемся вызначыць зараз што гэта ідзе ў URL з маршрутам 259 00:15:33,600 --> 00:15:34,860 ад createPost. 260 00:15:34,860 --> 00:15:38,200 261 00:15:38,200 --> 00:15:40,320 І тады гэта будзе мець метад пост. 262 00:15:40,320 --> 00:15:43,940 263 00:15:43,940 --> 00:15:47,590 У тут, мы збіраемся каб мець два поля. 264 00:15:47,590 --> 00:15:49,170 Div клас = "формаў-група". 265 00:15:49,170 --> 00:15:55,806 >> Мы выкарыстоўваем бібліятэку Bootstrap CSS ласкава прадастаўлены Twitter. 266 00:15:55,806 --> 00:15:57,720 Такім чынам, мы збіраемся стварыць два з іх. 267 00:15:57,720 --> 00:16:01,700 268 00:16:01,700 --> 00:16:05,970 Такім чынам, гэта першы ўваход будзе назва. 269 00:16:05,970 --> 00:16:08,437 Так Калі ласка, увядзіце імя = "Назва". 270 00:16:08,437 --> 00:16:09,270 Клас = "FormControl". 271 00:16:09,270 --> 00:16:13,540 272 00:16:13,540 --> 00:16:14,425 Тып = "тэкст". 273 00:16:14,425 --> 00:16:16,050 Я збіраюся дадаць заменнік = "Title". 274 00:16:16,050 --> 00:16:21,570 275 00:16:21,570 --> 00:16:26,140 >> І затым другая з'яўляецца будзе тэкставая вобласць. 276 00:16:26,140 --> 00:16:27,827 Name = "змест". 277 00:16:27,827 --> 00:16:28,660 Клас = "FormControl". 278 00:16:28,660 --> 00:16:33,402 279 00:16:33,402 --> 00:16:34,610 І запаўняльнік = "Напішыце тут". 280 00:16:34,610 --> 00:16:42,030 281 00:16:42,030 --> 00:16:43,480 Там мы ідзем. 282 00:16:43,480 --> 00:16:46,760 Нарэшце, мы збіраемся дадаць кнопку хуткага ўявіць. 283 00:16:46,760 --> 00:16:50,370 Type = "прадставіць" клас = "БТН БТН-асноўнай". 284 00:16:50,370 --> 00:16:53,370 285 00:16:53,370 --> 00:16:55,340 Такім чынам, гэтыя ўсе асаблівасці загрузніку 286 00:16:55,340 --> 00:16:58,510 што гэта можа быць выкладзеная ў спосабе, якім гэта 287 00:16:58,510 --> 00:17:03,730 здабычай для карыстальніка, а не голы HTML. 288 00:17:03,730 --> 00:17:06,250 >> Такім чынам, мы вызначылі кантролер тут. 289 00:17:06,250 --> 00:17:08,930 Мы вызначылі вельмі простую пункт гледжання. 290 00:17:08,930 --> 00:17:12,339 Але тое, што хапае злучальнай тканіны. 291 00:17:12,339 --> 00:17:15,420 Таму на дадзеным этапе, Laravel не мае ні найменшага падання як 292 00:17:15,420 --> 00:17:18,312 мы збіраемся на самай справе гэты кантролер. 293 00:17:18,312 --> 00:17:20,270 Так гэта вызначана ў файл з імем routes.php. 294 00:17:20,270 --> 00:17:22,780 295 00:17:22,780 --> 00:17:24,310 І зараз, у нас ёсць адзін маршрут. 296 00:17:24,310 --> 00:17:29,060 Які з'яўляецца, калі мы ідзем у Галоўная шлях для гэтага сайта, 297 00:17:29,060 --> 00:17:33,140 гэта будзе аказваць Кантролер індэкс. 298 00:17:33,140 --> 00:17:38,880 Дык вось, што нам трэба зрабіць, гэта рэалізаваць Новы маршрут для нас, каб стварыць паведамленне. 299 00:17:38,880 --> 00:17:41,910 >> Таму мы выкарыстоўваем гэты метад атрымаць, які вызначае 300 00:17:41,910 --> 00:17:48,650 што, калі карыстальнік спрабуе атрымаць гэта page-- спецыяльна 301 00:17:48,650 --> 00:17:52,850 Паведамленне скараціць новы page-- тое, што мы збіраемся зрабіць 302 00:17:52,850 --> 00:18:02,060 гэта выкарыстоўваць кантролер пад назвай BlogController новае паведамленне. 303 00:18:02,060 --> 00:18:03,460 Той, які мы толькі што стварылі. 304 00:18:03,460 --> 00:18:08,090 А потым мы збіраемся псеўданім як newPost. 305 00:18:08,090 --> 00:18:17,460 306 00:18:17,460 --> 00:18:19,850 Мы збіраемся стварыць яшчэ функцыя няшмат. 307 00:18:19,850 --> 00:18:23,520 Але тое, што тут, пад ключ "як" ёсць што 308 00:18:23,520 --> 00:18:28,195 мы можам замяніць у Нашы шаблоны лязо. 309 00:18:28,195 --> 00:18:32,390 310 00:18:32,390 --> 00:18:36,230 Так што зараз, давайце на самай справе таксама сказаць маршрут. 311 00:18:36,230 --> 00:18:38,380 Такім чынам, мы таксама збіраемся стварыць кантролер 312 00:18:38,380 --> 00:18:41,020 так што мы можам стварыць гэтыя паведамленні. 313 00:18:41,020 --> 00:18:46,940 Такім чынам, калі карыстальнік публікуе на старонку з пасады скараціць новае, тое, што мы збіраемся зрабіць 314 00:18:46,940 --> 00:18:51,350 гэта выкарыстоўвае кантролер, які мы збіраемся стварыць у бліжэйшы час 315 00:18:51,350 --> 00:18:56,160 называецца BlogController на createPost. 316 00:18:56,160 --> 00:19:01,929 І мы збіраемся стварыць псеўданім гэта з як createPost. 317 00:19:01,929 --> 00:19:03,380 Крута. 318 00:19:03,380 --> 00:19:05,811 >> Ёсць пытанні? 319 00:19:05,811 --> 00:19:06,310 Крута. 320 00:19:06,310 --> 00:19:09,790 Так што давайце працаваць, што мы маем да гэтага часу. 321 00:19:09,790 --> 00:19:16,930 Так што, калі мы робім PHP рамесніка служыць, мы ўбачым шмат памылак. 322 00:19:16,930 --> 00:19:20,385 Так гэта выглядае, як у нас Сінтаксічная памылка на маршрутах лініі 27. 323 00:19:20,385 --> 00:19:20,885 Ах. 324 00:19:20,885 --> 00:19:21,718 Адсутнічае кропка з коскі. 325 00:19:21,718 --> 00:19:24,900 326 00:19:24,900 --> 00:19:32,870 Так што, калі мы ідзем у 8000, Вы нічога не ўбачыце тут яшчэ. 327 00:19:32,870 --> 00:19:34,740 Так што гэта хатняя старонка па змаўчанні. 328 00:19:34,740 --> 00:19:37,730 >> Але калі мы пойдзем на паведамленне слэш новы, эй. 329 00:19:37,730 --> 00:19:40,425 Гэта будзе выгляд, што мы толькі што стварылі. 330 00:19:40,425 --> 00:19:42,550 Прама зараз, мы не маем рэалізаваная функцыянальнасць 331 00:19:42,550 --> 00:19:44,060 пра тое, калі мы націскаем кнопку Адправіць. 332 00:19:44,060 --> 00:19:47,110 Так што, калі мы націснем на Адправіць Кнопка, ён збіраецца бегчы памылку. 333 00:19:47,110 --> 00:19:49,840 Але мы збіраемся код, які Прама зараз, менавіта тое, што мы 334 00:19:49,840 --> 00:19:54,840 хачу зрабіць, калі карыстальнік ўяўляе гэтую форму. 335 00:19:54,840 --> 00:19:55,770 >> Так давайце зробім гэта. 336 00:19:55,770 --> 00:19:57,380 Перайсці назад у файл кантролераў. 337 00:19:57,380 --> 00:20:00,180 Тое, што мы збіраемся зрабіць, гэта ажыццявіць гэтую новую функцыю 338 00:20:00,180 --> 00:20:04,360 што дазваляе стварыць паведамленне. 339 00:20:04,360 --> 00:20:07,370 340 00:20:07,370 --> 00:20:08,990 Абвясціць новую функцыю. 341 00:20:08,990 --> 00:20:11,527 Грамадская функцыя createPost. 342 00:20:11,527 --> 00:20:14,610 І гэтая функцыя будзе трохі больш складаным, чым тое, што 343 00:20:14,610 --> 00:20:15,559 у нас было раней. 344 00:20:15,559 --> 00:20:18,350 Але вы ўбачыце тут, што мы не адбываецца на самай справе пісаць SQL. 345 00:20:18,350 --> 00:20:20,980 ORM, Красамоўным ORM, збіраецца дазволіць 346 00:20:20,980 --> 00:20:26,400 нам гэта зрабіць у некаторых спосабы больш элегантны спосаб. 347 00:20:26,400 --> 00:20:29,140 >> Такім чынам, мы збіраемся стварыць новую пасаду. 348 00:20:29,140 --> 00:20:34,120 І тут мы асобніка новага аб'екта 349 00:20:34,120 --> 00:20:38,080 ад мадэлі, што мы проста створаны, пасля мадэль. 350 00:20:38,080 --> 00:20:44,450 І тое, што мы збіраемся зрабіць, гэта ўсталяваць Назва атрыбутам гэтага выкарыстоўваць што-то 351 00:20:44,450 --> 00:20:47,380 што мы атрымліваем ад сервера. 352 00:20:47,380 --> 00:20:52,060 Такім чынам, гэта падобна на тое, што што было раней у CS50 фінансаў 353 00:20:52,060 --> 00:20:57,750 дзе мы хацелі б зрабіць, выкарыстоўваючы Супер Глабальны Паведамленне гледзячы на ​​тытул. 354 00:20:57,750 --> 00:21:01,600 >> Так Laravel забяспечвае некаторую санітарыі і яшчэ шмат чаго, выкарыстоўваючы гэтую дапаможную функцыю. 355 00:21:01,600 --> 00:21:07,610 Такім чынам, мы аддалі перавагу б выкарыстоўваць гэта замест таго, гэтай вельмі просты сырам выглядзе з PHP. 356 00:21:07,610 --> 00:21:17,430 І тады тое, што мы збіраемся зрабіць, гэта ўсталяваць Змест да ўваходу атрымаць змест. 357 00:21:17,430 --> 00:21:20,429 358 00:21:20,429 --> 00:21:22,720 Мы на самай справе адбываецца, каб абгарнуць гэта карысны функцыі 359 00:21:22,720 --> 00:21:31,820 што PHP забяспечвае называюць nl2br, што Аказваецца новых ліній NLS, у БРС перапынкі, 360 00:21:31,820 --> 00:21:35,822 так што мы можам на самай справе ёсць розныя пункты ў ім. 361 00:21:35,822 --> 00:21:38,030 І, нарэшце, тое, што мы збіраемся зрабіць, гэта захаваць гэты пост. 362 00:21:38,030 --> 00:21:41,686 Так мы называем функцыю зэканоміць на гэтай мадэлі. 363 00:21:41,686 --> 00:21:43,800 Мы збіраемся, каб захаваць сваю пасаду. 364 00:21:43,800 --> 00:21:49,970 І, нарэшце, тое, што мы збіраемся зрабіць гэта перанакіраванне карыстальніка спецыяльна 365 00:21:49,970 --> 00:21:55,060 на маршрут, які мы збіраемся стварыць у бліжэйшы час, Псеўданім, viewPost. 366 00:21:55,060 --> 00:22:00,435 І мы збіраемся прайсці ў аргументах ID, будучы ідэнтыфікатар гэтай новай пасадзе. 367 00:22:00,435 --> 00:22:04,280 368 00:22:04,280 --> 00:22:05,640 >> Выдатна. 369 00:22:05,640 --> 00:22:09,090 Такім чынам, калі мы на самай справе пайсці і запусціць гэтую. 370 00:22:09,090 --> 00:22:11,370 Мы збіраемся дадаць новую запіс. 371 00:22:11,370 --> 00:22:15,930 Давайце сказаць, што гэта семінар 50. 372 00:22:15,930 --> 00:22:17,620 І сказаць, вядома. 373 00:22:17,620 --> 00:22:18,240 ASDL. 374 00:22:18,240 --> 00:22:18,740 Усё роўна. 375 00:22:18,740 --> 00:22:20,320 Нейкая змест. 376 00:22:20,320 --> 00:22:21,180 І прадставіць яго. 377 00:22:21,180 --> 00:22:23,850 І мы заўважылі, што, эй. маршруты не вызначаны. 378 00:22:23,850 --> 00:22:32,340 Але калі мы зірнем на PhpMyAdmin і шукаць ці няма нашай функцыі 379 00:22:32,340 --> 00:22:34,370 нічога не рабіў. 380 00:22:34,370 --> 00:22:36,670 Паглядзіце на пасадах Blog50. 381 00:22:36,670 --> 00:22:37,720 Мы заўважылі, што, эй. 382 00:22:37,720 --> 00:22:43,530 На самай справе, у нас проста стварыць што блог пост з часовымі пазнакамі, як паказана. 383 00:22:43,530 --> 00:22:46,600 384 00:22:46,600 --> 00:22:51,630 >> Такім чынам, зараз давайце вернемся і фактычна стварыць гэта іншая функцыя ў нашым кантролеры, 385 00:22:51,630 --> 00:22:54,790 у прыватнасці, кантролер viewPost. 386 00:22:54,790 --> 00:23:00,290 Функцыя viewPost Так грамадскасці. 387 00:23:00,290 --> 00:23:04,070 Дык вось што мы будзем рабіць, замест таго, каб мець пустыя дужкі, 388 00:23:04,070 --> 00:23:08,800 мы хочам прайсці па ідэнтыфікатару пост, які мы ствараем. 389 00:23:08,800 --> 00:23:12,800 А адсюль, што мы збіраемся рабіць на самай справе зварот у базу, для яго. 390 00:23:12,800 --> 00:23:15,140 >> Так што, калі мы ў тэмах, ёсць функцыя, званая 391 00:23:15,140 --> 00:23:18,860 Знайсці што дазваляе запытаць яго ID. 392 00:23:18,860 --> 00:23:22,110 У прыватнасці, на самай справе, мы збіраемся выкарыстоўваць альтэрнатыўную версію гэтага называецца 393 00:23:22,110 --> 00:23:27,880 Знайсці ці не, што дазваляе нам кінуць з гэтай функцыі, 394 00:23:27,880 --> 00:23:34,700 кінуць выключэнне, калі ID мы перадаем не існуе. 395 00:23:34,700 --> 00:23:37,500 І тады мы будзем нешта рабіць падобна на тое, што мы рабілі раней 396 00:23:37,500 --> 00:23:41,100 дзе мы ўсталёўваем ўтрыманне гэтай старонцы, каб быць 397 00:23:41,100 --> 00:23:47,950 аказана версія гэтага новага погляду які мы збіраемся стварыць, blog.view. 398 00:23:47,950 --> 00:23:51,030 >> І мы збіраемся перайсці ў it-- гэтак жа, як у CS50 зрабіць 399 00:23:51,030 --> 00:23:56,645 function-- слоўнік зменных. 400 00:23:56,645 --> 00:23:59,860 401 00:23:59,860 --> 00:24:04,620 Ключы гэтага асацыятыўнага масіва стаць зменных ў шаблоне. 402 00:24:04,620 --> 00:24:06,830 Так што мы збіраемся рабіць пасля паста. 403 00:24:06,830 --> 00:24:12,474 Так праходзяць ўскосна пост, мы запытваецца з базы дадзеных. , 404 00:24:12,474 --> 00:24:14,390 Цяпер тое, што мы збіраемся стварыць гэты выгляд 405 00:24:14,390 --> 00:24:17,560 так што мы можам на самай справе глядзець Паведамленні ў блогу, што мы пабудавалі. 406 00:24:17,560 --> 00:24:20,280 >> Такім чынам, мы збіраемся стварыць файл з імем view.blade.php. 407 00:24:20,280 --> 00:24:25,870 408 00:24:25,870 --> 00:24:29,640 Так ўнутры гэтага шаблону, тое, што мы збіраемся зрабіць 409 00:24:29,640 --> 00:24:39,700 разам узятыя проста старонка, дазваляе адлюстроўваць змесціва. 410 00:24:39,700 --> 00:24:44,280 Так мы робім раздзел, што, перш чым змест. 411 00:24:44,280 --> 00:24:46,800 Стоп. 412 00:24:46,800 --> 00:24:53,920 І тое, што мы збіраемся зрабіць у тут 413 00:24:53,920 --> 00:24:56,930 напісаць які-небудзь HTML для адлюстравання гэтай старонкі. 414 00:24:56,930 --> 00:25:03,590 >> Такім чынам, мы збіраемся, каб абгарнуць яго з фантазіі Новы элемент HTML5 пад назвай артыкула. 415 00:25:03,590 --> 00:25:05,790 І тут мы ідзем мець загалоўка, у якім 416 00:25:05,790 --> 00:25:12,190 мы збіраемся проста мець h1, які ўключае ў сябе загаловак запісу. 417 00:25:12,190 --> 00:25:17,120 Дык вось, калі мы паглядзім на гэта падвойныя фігурныя абазначэння дужкі, 418 00:25:17,120 --> 00:25:21,690 гэта будзе рабіць па сутнасці PHP рэха загаловак паста. 419 00:25:21,690 --> 00:25:25,630 Так што гэта карысна скарачэнне што Laravel дае нам. 420 00:25:25,630 --> 00:25:31,070 Такім чынам, мы збіраемся выкарыстаць гэта абазначэнне замест гэтага. 421 00:25:31,070 --> 00:25:40,220 >> І вось, мы збіраемся таксама раздрукаваць ўтрыманне яго. 422 00:25:40,220 --> 00:25:43,480 І тут мы ідзем зрабіць пост змест. 423 00:25:43,480 --> 00:25:46,514 424 00:25:46,514 --> 00:25:50,660 І на дне, што мы збіраюся зрабіць, гэта стварыць калантытул. 425 00:25:50,660 --> 00:25:57,690 І ў склепе, мы збіраемся Першы паказ, калі гэта была размешчана. 426 00:25:57,690 --> 00:26:01,320 Так што гэта была размешчана на, створаны ў. 427 00:26:01,320 --> 00:26:07,996 >> І Laravel выкарыстоўвае вельмі прыемна Дата бібліятэкі пад назвай Carbon. 428 00:26:07,996 --> 00:26:11,120 Так што мы можам зрабіць што-то пад назвай difforHumans, што вы бачылі раней. 429 00:26:11,120 --> 00:26:14,360 Калі мы ў курсе. гэта скажу, як, пяць секунд таму. 430 00:26:14,360 --> 00:26:16,860 Так што гэта вельмі прыемна Функцыянальнасць Laravel. 431 00:26:16,860 --> 00:26:19,469 432 00:26:19,469 --> 00:26:21,385 І, нарэшце, мы збіраемся каб закрыць гэты склеп. 433 00:26:21,385 --> 00:26:24,900 434 00:26:24,900 --> 00:26:31,450 >> Такім чынам, калі мы вернемся да Галоўная старонка мы збіраемся 435 00:26:31,450 --> 00:26:34,490 не бачу нічога тут яшчэ і таму, мы не кадуецца да хатнюю старонку. 436 00:26:34,490 --> 00:26:40,962 Але калі мы пойдзем на паведамленне слэш адзін, мы збіраемся, каб убачыць выключэнне. 437 00:26:40,962 --> 00:26:42,670 Хто-небудзь ведае, чаму мы бачым выключэнне? 438 00:26:42,670 --> 00:26:44,516 Што нам не хапае? 439 00:26:44,516 --> 00:26:45,290 Любыя ідэі? 440 00:26:45,290 --> 00:26:48,050 441 00:26:48,050 --> 00:26:49,790 Такім чынам, што ж мы робім раней для нас на самай справе 442 00:26:49,790 --> 00:26:52,285 каб вызначыць, як мы дабяромся да канкрэтныя кантралёры? 443 00:26:52,285 --> 00:26:54,895 444 00:26:54,895 --> 00:26:55,770 >> SPEAKER 1: маршрут? 445 00:26:55,770 --> 00:26:56,519 Эрык Ауян: Так. 446 00:26:56,519 --> 00:26:58,070 Такім чынам, мы па-ранейшаму павінны вызначыць маршрут. 447 00:26:58,070 --> 00:26:59,794 Такім чынам, мы вернемся сюды, каб routes.php. 448 00:26:59,794 --> 00:27:01,710 Вы заўважыце, што мы фактычна не вызначаны 449 00:27:01,710 --> 00:27:05,010 як мы збіраемся, каб атрымаць для гэтага кантролера. 450 00:27:05,010 --> 00:27:06,780 Так што цяпер мы будзем вызначаць гэты маршрут. 451 00:27:06,780 --> 00:27:09,280 Гэта даволі проста, падобна на тое, што мы рабілі раней. 452 00:27:09,280 --> 00:27:13,910 Але тое, што мы збіраемся адзначыць тут што мы будзем мець запаўняльнік. 453 00:27:13,910 --> 00:27:18,730 >> Так што, калі мы робім route.get слэш ідэнтыфікатар паста. 454 00:27:18,730 --> 00:27:24,290 Так ID цяпер, што будзе быць перададзеныя ў кантролер. 455 00:27:24,290 --> 00:27:27,820 Гэта збіраецца выкарыстоўваць кантролер, які мы толькі што 456 00:27:27,820 --> 00:27:33,560 створаны, BlogController на viewPost. 457 00:27:33,560 --> 00:27:36,420 І мы збіраемся Псеўданім гэта як viewPost. 458 00:27:36,420 --> 00:27:46,544 459 00:27:46,544 --> 00:27:47,490 Выдатна. 460 00:27:47,490 --> 00:27:49,470 Такім чынам, зараз мы збіраемся стварыць гэты маршрут. 461 00:27:49,470 --> 00:27:52,100 >> Так што цяпер, калі мы ідзем тут і абновіце гэтую старонку, 462 00:27:52,100 --> 00:27:54,410 мы на самай справе сапраўды ёсць наш новы пост у блогу. 463 00:27:54,410 --> 00:27:57,710 Так што гэта тое, што мы стварылі раней. 464 00:27:57,710 --> 00:28:01,320 Вельмі простая старонка, але адлюстроўвае паведамленне ў блогу, што мы толькі што стварылі. 465 00:28:01,320 --> 00:28:04,210 466 00:28:04,210 --> 00:28:04,760 Крута. 467 00:28:04,760 --> 00:28:08,880 І калі мы на самай справе ісці праз увесь Працэс стварэння новай запісу ў блог, 468 00:28:08,880 --> 00:28:11,700 мы заўважылі, што ўсе перанакіроўвае правільна. 469 00:28:11,700 --> 00:28:12,950 Калі я кажу "Прывітанне. 470 00:28:12,950 --> 00:28:15,710 Я Джонатан Тан ". 471 00:28:15,710 --> 00:28:18,550 Скажам, "Гэта мой блог." 472 00:28:18,550 --> 00:28:22,830 І прадставіць яго, гэта створыць Гэты новы пост у блогу з ID 2, 473 00:28:22,830 --> 00:28:28,920 якая павялічвае ад таго, што мы мелі раней і адлюстроўвае яго правільна. 474 00:28:28,920 --> 00:28:30,760 Высокі. 475 00:28:30,760 --> 00:28:32,930 >> Ёсць пытанні? 476 00:28:32,930 --> 00:28:33,430 Так? 477 00:28:33,430 --> 00:28:36,537 >> SPEAKER 2: Ці ёсць Laravel ручку санітарная апрацоўка і ўсё для вас? 478 00:28:36,537 --> 00:28:37,245 Эрык Ауян: Так. 479 00:28:37,245 --> 00:28:42,990 Таму, калі мы бачылі раней, калі мы зрабілі ўваход тоўстай кішкі тоўстай кішкі атрымаць, 480 00:28:42,990 --> 00:28:47,720 што санирующей любы SQL ін'екцыі і яшчэ шмат чаго 481 00:28:47,720 --> 00:28:51,660 які мы маглі б выканаць, калі мы зламыснік сайта. 482 00:28:51,660 --> 00:28:54,115 Так Laravel апрацоўвае шмат таго, што за кулісамі. 483 00:28:54,115 --> 00:28:57,030 Добры пытанне. 484 00:28:57,030 --> 00:29:00,390 >> Такім чынам, давайце зірнем на галоўнай старонцы. 485 00:29:00,390 --> 00:29:03,220 486 00:29:03,220 --> 00:29:06,790 Так што, калі мы спачатку вярнуцца да кантролер для хатняй старонцы, 487 00:29:06,790 --> 00:29:08,740 Вы заўважыце, што ён не рабіць тут. 488 00:29:08,740 --> 00:29:11,620 Вы заўважыце, што мы не пераходзячы ў гэтым кантролеры 489 00:29:11,620 --> 00:29:13,830 нічога асабліва карысным. 490 00:29:13,830 --> 00:29:16,660 Гэта толькі ў гэтым індэксны файл. 491 00:29:16,660 --> 00:29:18,770 >> Такім чынам, давайце пераходзіць у гэта нешта карыснае. 492 00:29:18,770 --> 00:29:21,450 І ў прыватнасці, мы збіраецца прайсці на пасадзе. 493 00:29:21,450 --> 00:29:28,740 І Laravel дазваляе зрабіць запіс усяго, што 494 00:29:28,740 --> 00:29:30,625 дазволіць нам атрымаць усе паведамленні. 495 00:29:30,625 --> 00:29:33,160 496 00:29:33,160 --> 00:29:35,730 Цяпер, калі мы вернемся да index.php, вы ўбачыце, эй. 497 00:29:35,730 --> 00:29:37,060 Нічога яшчэ няма. 498 00:29:37,060 --> 00:29:41,290 Але тое, што мы хочам зрабіць тут на самай справе перабору, 499 00:29:41,290 --> 00:29:46,420 зрабіць цыкл па кожнаму элементу над пасад, якія дазваляе раздрукоўваць паведамленні. 500 00:29:46,420 --> 00:29:53,180 >> Так Foreach паведамленняў як пасаду, што мы хочам зрабіць, 501 00:29:53,180 --> 00:29:57,252 гэта раздрукаваць змесціва з паведамлення ў блогу. 502 00:29:57,252 --> 00:30:00,210 Але адна рэч, вы заўважыце, што мы на самай справе напісаў вялікую частку гэтага кода 503 00:30:00,210 --> 00:30:01,370 ўжо ў view.blade.php. 504 00:30:01,370 --> 00:30:04,070 505 00:30:04,070 --> 00:30:08,640 Так што мы збіраемся на самай справе зрабіць гэта выкарыстоўваць добры карысную функцыю ляза 506 00:30:08,640 --> 00:30:11,300 і вынесці за гэты агульны код. 507 00:30:11,300 --> 00:30:12,570 Так мы ідзем сюды. 508 00:30:12,570 --> 00:30:16,210 >> Мы збіраемся ўзяць гэты кантэнт прама тут, і тое, што мы збіраемся рабіць 509 00:30:16,210 --> 00:30:18,170 гэта стварыць новую тэчку. 510 00:30:18,170 --> 00:30:20,364 Давайце проста называюць яго частковых. 511 00:30:20,364 --> 00:30:22,530 І тут мы ідзем стварыць post.blade.php. 512 00:30:22,530 --> 00:30:26,570 513 00:30:26,570 --> 00:30:33,100 Дык вось, мы факторизовали шлях у якія мы хочам адлюстраваць гэтыя паведамленні. 514 00:30:33,100 --> 00:30:38,690 І вось што мы будзем рабіць, а не фактычна не маючы, што HTML наўпрост, 515 00:30:38,690 --> 00:30:41,530 мы збіраемся выкарыстоўваць гэтую дырэктыву называецца ўключаюць blog.partials.post. 516 00:30:41,530 --> 00:30:45,210 517 00:30:45,210 --> 00:30:50,635 >> І тое, што мы збіраемся зрабіць тут гэта перадаць на пасадзе старонкі. 518 00:30:50,635 --> 00:30:57,076 519 00:30:57,076 --> 00:31:01,050 Такім чынам, калі мы вернемся сюды, мы заўважыць, што функцыянальныя магчымасці па-ранейшаму 520 00:31:01,050 --> 00:31:01,550 такі ж. 521 00:31:01,550 --> 00:31:05,140 Але цяпер у нас ёсць гэта факторизовали код, на гэты HTML. 522 00:31:05,140 --> 00:31:07,070 Такім чынам, мы можам выкарыстоўваць яго ў індэкс. 523 00:31:07,070 --> 00:31:09,090 Дык вось, гэта вельмі проста. 524 00:31:09,090 --> 00:31:17,870 Усё, што мы робім, гэта ўключыць blog.partials.post і масіў. 525 00:31:17,870 --> 00:31:20,845 І дзе-то ў і раней, мы пасля паста. 526 00:31:20,845 --> 00:31:23,830 527 00:31:23,830 --> 00:31:28,182 >> Такім чынам, калі мы вернемся да хатняя старонка, мы ўбачым, што, эй. 528 00:31:28,182 --> 00:31:30,515 У нас ёсць спіс усіх паведамленні ў блогу, якія мы мелі раней. 529 00:31:30,515 --> 00:31:34,640 530 00:31:34,640 --> 00:31:37,700 Мы, магчыма, захочаце дадаць некаторыя "калі" ўмовы і "інакш" ўмовы 531 00:31:37,700 --> 00:31:39,979 так што калі ў нас няма што-небудзь на блогу, 532 00:31:39,979 --> 00:31:41,520 мы хочам паказаць нешта карыснае. 533 00:31:41,520 --> 00:31:42,570 Маўляў, эй. 534 00:31:42,570 --> 00:31:44,340 Там не мае зместу, але на блогу. 535 00:31:44,340 --> 00:31:47,670 І калі вы, хлопцы, на самой справе выглядаюць на Код размеркаванне на GitHub, 536 00:31:47,670 --> 00:31:50,100 вы ўбачыце прыклад таго, як мы робім гэта. 537 00:31:50,100 --> 00:31:52,770 538 00:31:52,770 --> 00:31:54,110 >> Крута. 539 00:31:54,110 --> 00:31:54,890 Ёсць пытанні? 540 00:31:54,890 --> 00:31:55,510 Так. 541 00:31:55,510 --> 00:31:57,468 >> SPEAKER 2: Я думаю, проста Асноўнае пытанне ,. 542 00:31:57,468 --> 00:31:59,480 Вярнуцца на маршруце. 543 00:31:59,480 --> 00:32:00,230 Эрык Ауян: Так. 544 00:32:00,230 --> 00:32:01,935 Калі мы зірнем на маршрутах. 545 00:32:01,935 --> 00:32:06,018 >> SPEAKER 2: Дзе uses.blogcontroller на стварэнне пост, 546 00:32:06,018 --> 00:32:07,560 што гэта накіроўваюць нас да? 547 00:32:07,560 --> 00:32:08,310 Эрык Ауян: Так. 548 00:32:08,310 --> 00:32:08,550 Так. 549 00:32:08,550 --> 00:32:09,716 >> SPEAKER 2: Ці тое, што that-- 550 00:32:09,716 --> 00:32:12,620 Эрык Ауян: Такім чынам, зірнем, скажам, Напрыклад, гэты маршрут прама тут. 551 00:32:12,620 --> 00:32:17,190 Першая частка з'яўляецца фактычным URL, што карыстальнік будзе пайсці. 552 00:32:17,190 --> 00:32:19,930 І гэты масіў тут, Асацыятыўны масіў, вызначае 553 00:32:19,930 --> 00:32:24,520 як мы хочам, каб акт прымянення ў адказ на гэта. 554 00:32:24,520 --> 00:32:29,090 Так выкарыстоўвае гэта кантролер, функцыі, якія мы 555 00:32:29,090 --> 00:32:31,610 хочаце патэлефанаваць, калі карыстальнік пераходзіць да гэтага URL. 556 00:32:31,610 --> 00:32:35,190 Так viewPost тут быў функцыя, якую мы вызначаецца ўнутры 557 00:32:35,190 --> 00:32:36,100 з BlogController-- 558 00:32:36,100 --> 00:32:37,160 >> SPEAKER 2: Я бачу. 559 00:32:37,160 --> 00:32:39,368 >> Эрык Ауян: --so, што мы можа на самай справе зрабіць выгляд, 560 00:32:39,368 --> 00:32:42,590 выканаць некаторыя разлікі, ўзаемадзейнічаць з базай дадзеных SQL. 561 00:32:42,590 --> 00:32:43,560 >> SPEAKER 2: ОК. 562 00:32:43,560 --> 00:32:46,960 >> Эрык Ауян: А потым іншыя частка, "як" гэта псеўданім, які мы выкарыстоўваем. 563 00:32:46,960 --> 00:32:50,714 Так што, калі мы заўважаем, калі мы стварылі форму, 564 00:32:50,714 --> 00:32:52,380 Вы заўважыце, што URL :: routecreatePost. 565 00:32:52,380 --> 00:32:55,000 566 00:32:55,000 --> 00:32:58,330 Так ён замяняе ў фактычнай URL, так што мы не складана 567 00:32:58,330 --> 00:33:02,940 кадавання іх у так што мы можам змяніць яго калі, скажам, калі мы хацелі перайменаваць. 568 00:33:02,940 --> 00:33:06,055 Замест таго, каб пасля касой рысы новае, мы хочам зрабіць падобнае, р 569 00:33:06,055 --> 00:33:09,490 скараціць новы проста ачысціць да нашых адрасоў бітаў. 570 00:33:09,490 --> 00:33:14,740 Усё змянялася ў адным месцы, а чым ва ўсіх розных файлаў. 571 00:33:14,740 --> 00:33:15,451 >> Крута. 572 00:33:15,451 --> 00:33:15,950 Гэта добра. 573 00:33:15,950 --> 00:33:20,070 Так што цяпер у нас ёсць вельмі Асноўны блог-платформа. 574 00:33:20,070 --> 00:33:24,260 Мы, верагодна, хочаце дадаць кнопкі, каб што мы сапраўды можам ствараць новыя паведамленні. 575 00:33:24,260 --> 00:33:27,850 Так што, калі мы зірнем на макет Настаўнікі, 576 00:33:27,850 --> 00:33:31,280 у нас ёсць раздзел пад назвай загалоўка правай што мы толькі што вызначылі на вяршыні. 577 00:33:31,280 --> 00:33:34,820 Такім чынам, мы можам дадаць кнопкі верхняя частка загалоўка. 578 00:33:34,820 --> 00:33:43,950 >> Так што, калі мы ідзем у index.blade.php, на самай справе зрабіць, гэта вызначыць, што адбываецца ўнутры тут. 579 00:33:43,950 --> 00:33:46,970 Так у гэтым раздзеле загалоўка справа, тое, што мы збіраемся зрабіць 580 00:33:46,970 --> 00:33:55,240 гэта дадаць ў кнопку, каб перайсці да URL вызначаецца па маршруце новай пасадзе. 581 00:33:55,240 --> 00:33:58,270 582 00:33:58,270 --> 00:34:01,660 Проста, каб ачысціць яго і зрабіць гэта даволі і ўсё Bootstrap, 583 00:34:01,660 --> 00:34:04,630 мы збіраемся зрабіць гэтая кнопка па змаўчанні. 584 00:34:04,630 --> 00:34:07,794 Давайце проста зрабіць яго вялікім для задавальнення. 585 00:34:07,794 --> 00:34:09,969 >> А ўсярэдзіне яго, мы маглі б паставіць якой-небудзь тэкст. 586 00:34:09,969 --> 00:34:14,030 Але тое, што Bootstrap забяспечвае з'яўляецца glyphicons. 587 00:34:14,030 --> 00:34:17,840 Так што мы можам на самай справе дадаць, што добры аловак, які мы бачылі раней. 588 00:34:17,840 --> 00:34:20,570 589 00:34:20,570 --> 00:34:21,781 Glyphicon. 590 00:34:21,781 --> 00:34:22,489 Glyphicon-аловак. 591 00:34:22,489 --> 00:34:25,449 592 00:34:25,449 --> 00:34:35,340 Так што гэта дазволіць нам паставіць У значок замест тэксту. 593 00:34:35,340 --> 00:34:38,960 Цяпер, калі мы спыніць гэта будзе вызначаць гэты раздзел. 594 00:34:38,960 --> 00:34:39,460 І, эй. 595 00:34:39,460 --> 00:34:45,000 У нас ёсць добры кнопку, якая звязвае нас непасрэдна дадаць старонку блога пост. 596 00:34:45,000 --> 00:34:46,659 >> Такім чынам, мы маем даволі просты блог. 597 00:34:46,659 --> 00:34:49,710 Мы можам дадаць матэрыял на яго. 598 00:34:49,710 --> 00:34:53,650 Але тое, што мы звычайна чакаем ад блогах каментароў. 599 00:34:53,650 --> 00:34:57,340 Так што гэта сапраўды важна для нас, сказаць, калі хто-то наведвае вэб-сайт 600 00:34:57,340 --> 00:35:00,620 і сапраўды любіць пост, яны могуць удзельнічаць у абмеркаванні 601 00:35:00,620 --> 00:35:03,100 з іншымі людзьмі, якія наведваюць старонку. 602 00:35:03,100 --> 00:35:07,050 Такім чынам, мы збіраемся пайсці і стварыць Новая табліца базы дадзеных і новая мадэль 603 00:35:07,050 --> 00:35:12,220 так што мы можам звязаць каментары з пасадаў. 604 00:35:12,220 --> 00:35:17,370 >> Такім чынам, першы крок, гэтак жа, як і раней, з'яўляецца тое, што нам трэба запусціць міграцыю. 605 00:35:17,370 --> 00:35:21,982 Так як раней, мы робім PHP рамеснік мігруюць: зрабіць. 606 00:35:21,982 --> 00:35:24,440 І мы збіраемся, каб стварыць адну называецца create_comments_table. 607 00:35:24,440 --> 00:35:29,520 608 00:35:29,520 --> 00:35:36,080 Гэта створыць файл што мае наш новы міграцыі. 609 00:35:36,080 --> 00:35:40,170 І мы збіраемся, як перш, вызначыць новую табліцу. 610 00:35:40,170 --> 00:35:42,773 Так Схема :: стварэння табліца з імем каментары. 611 00:35:42,773 --> 00:35:47,410 612 00:35:47,410 --> 00:35:48,430 Гэтая функцыя тут. 613 00:35:48,430 --> 00:35:51,620 А ўнутры гэтай табліцы, што мы збіраемся зрабіць, гэта па-першае, 614 00:35:51,620 --> 00:35:54,260 як і раней, прысвоіць ідэнтыфікатар. 615 00:35:54,260 --> 00:35:56,552 Павялічвае ID. 616 00:35:56,552 --> 00:36:05,440 >> Мы збіраемся, каб дазволіць карыстачам мець зносіны іх назвы з асаблівым каментар. 617 00:36:05,440 --> 00:36:10,080 Мы збіраемся, каб мець змест, якое ідзе разам з гэтым, тэкставае ўтрыманне. 618 00:36:10,080 --> 00:36:13,580 619 00:36:13,580 --> 00:36:15,910 А вось тое, што мы збіраемся зрабіць што-нешта іншае. 620 00:36:15,910 --> 00:36:23,620 Мы збіраемся стварыць цэлае што называецца post_id, якія 621 00:36:23,620 --> 00:36:32,100 будзе азначаць якую пасаду што спецыфічны каментар ідзе з. 622 00:36:32,100 --> 00:36:35,410 >> Акрамя таго, мы на самай справе адбываецца ў ўсталяваць абмежаванне знешняга ключа па гэтым пытанні. 623 00:36:35,410 --> 00:36:37,750 Так MySQL будзе прымяняць гэта. 624 00:36:37,750 --> 00:36:39,840 Мы не спрабуем прызначыць Колькасць каментарыяў 625 00:36:39,840 --> 00:36:44,440 5 для размяшчэння 5000, калі мы не было 5000 паведамлення пра яго. 626 00:36:44,440 --> 00:36:50,240 Такім чынам, што мы робім тут, мы робім замежных post_id 627 00:36:50,240 --> 00:37:02,046 збіраецца быць звязаныя з поле ID ад пасады табліцы. 628 00:37:02,046 --> 00:37:05,900 І мы будзем на самай справе што-то зрабіць яшчэ карысна, гэта OnDelete. 629 00:37:05,900 --> 00:37:11,180 >> Так што, калі мы выдаляем некаторыя Паведамленне з базы дадзеных, 630 00:37:11,180 --> 00:37:15,507 што мы хочам каскадам выдаляе каментароў, а таксама. 631 00:37:15,507 --> 00:37:18,090 Таму што гэта не вельмі карысна для нас заўвагі па пасадзе 632 00:37:18,090 --> 00:37:19,900 што не існуе. 633 00:37:19,900 --> 00:37:23,764 І, нарэшце, як і раней, мы збіраецца ўсталяваць часовыя пазнакі на гэтым. 634 00:37:23,764 --> 00:37:28,690 635 00:37:28,690 --> 00:37:33,510 І, як і раней, мы збіраемся ёсць зваротная міграцыя будзе 636 00:37:33,510 --> 00:37:37,920 выдаленне табліцы каментары. 637 00:37:37,920 --> 00:37:40,070 >> Такім чынам, калі мы вернемся сюды, мы збіраемся 638 00:37:40,070 --> 00:37:43,110 запусціць гэтую міграцыю, майстравых, мігруюць. 639 00:37:43,110 --> 00:37:46,400 А цяпер ён ужываецца гэта міграцыя, што мы толькі што стварылі. 640 00:37:46,400 --> 00:37:50,080 Так што, калі мы паглядзім на PhpMyAdmin, што мы робім, на самай справе, у цяперашні час 641 00:37:50,080 --> 00:37:53,210 ёсць каментарыі табліцу, якая мае структура, якую мы толькі што паказана. 642 00:37:53,210 --> 00:37:56,900 643 00:37:56,900 --> 00:37:59,610 Так як раней, мы збіраецца стварыць новую мадэль 644 00:37:59,610 --> 00:38:04,450 да абстрактнага табліцы SQL што мы толькі што стварылі. 645 00:38:04,450 --> 00:38:05,450 >> Таму давайце дадамо новы файл. 646 00:38:05,450 --> 00:38:06,908 Мы збіраемся называць яго Comment.php. 647 00:38:06,908 --> 00:38:10,160 648 00:38:10,160 --> 00:38:15,490 І гэта на самай справе будзе даволі проста з невялікім змяненнем 649 00:38:15,490 --> 00:38:17,520 ад чаго, што было раней. 650 00:38:17,520 --> 00:38:22,790 Так клас Каментарыі пашырае красамоўны. 651 00:38:22,790 --> 00:38:25,930 І тое, што мы збіраемся зрабіць тут вызначыць 652 00:38:25,930 --> 00:38:31,360 гэта функцыя, якая з'яўляецца Адносіны з іншымі мадэлямі. 653 00:38:31,360 --> 00:38:39,250 Такім чынам, мы будзем мець пасля функцыі вось што вяртае гэтую сувязь. 654 00:38:39,250 --> 00:38:43,330 Такім чынам, мы удакладніўшы, што Гэта ставіцца да паведамлення, 655 00:38:43,330 --> 00:38:49,200 кажучы, што ёсць адзін пост што гэты каментар ставіцца. 656 00:38:49,200 --> 00:38:53,917 >> Гэта на самай справе павінен быць капітал P для дадзенай мадэлі. 657 00:38:53,917 --> 00:38:56,500 А цяпер толькі на іншы фліп бок, мы павінны сказаць, што, эй. 658 00:38:56,500 --> 00:38:58,160 Паведамленняў есть каментары. 659 00:38:58,160 --> 00:39:03,030 Так што мы збіраемся зрабіць, гэта вызначыць каментары грамадская функцыя. 660 00:39:03,030 --> 00:39:07,100 661 00:39:07,100 --> 00:39:13,620 І вось вяртаецца Гэта мае шмат каментар. 662 00:39:13,620 --> 00:39:16,630 663 00:39:16,630 --> 00:39:22,010 Так што цяпер чароўным, калі ў нас ёсць пост, мы можам атрымаць каментары атрыбутаў 664 00:39:22,010 --> 00:39:25,615 і ён будзе запоўніць яе Інфармацыя з базы дадзеных. 665 00:39:25,615 --> 00:39:32,950 666 00:39:32,950 --> 00:39:38,220 >> Такім чынам, давайце на самай справе ісці да канца і дадаць новую функцыю, на наш погляд файле 667 00:39:38,220 --> 00:39:43,600 так што мы можам і дысплей і ствараць каментары. 668 00:39:43,600 --> 00:39:54,010 669 00:39:54,010 --> 00:39:56,865 Такім чынам, мы збіраемся, каб вызначыць новую секцыю. 670 00:39:56,865 --> 00:39:59,890 Давайце проста адлучыць яго з гарызантальнай лініі. 671 00:39:59,890 --> 00:40:04,065 Раздзел ID = "каментары". 672 00:40:04,065 --> 00:40:06,990 Тое, што мы збіраемся зрабіць вось, як і раней, 673 00:40:06,990 --> 00:40:09,880 перабору ўсіх каментароў. 674 00:40:09,880 --> 00:40:12,960 Таму на самай справе, як мы робім гэта, як я ўжо казаў, даволі магічнае. 675 00:40:12,960 --> 00:40:14,440 >> Мы робім пакідаць каментары. 676 00:40:14,440 --> 00:40:17,410 677 00:40:17,410 --> 00:40:22,710 І тады мы можам зрабіць гэта для кожнага цыкл па кожнай з каментароў. 678 00:40:22,710 --> 00:40:25,740 І тое, што мы збіраемся зрабіць клас DIV каментар, 679 00:40:25,740 --> 00:40:29,240 і мы збіраемся на самай справе раздрукаваць гэты каментар. 680 00:40:29,240 --> 00:40:34,150 Так адлюстравання, што эй, каментары name-- чалавека 681 00:40:34,150 --> 00:40:38,080 , Якія размясцілі гэты comment-- кажа кропка кропка кропка. 682 00:40:38,080 --> 00:40:41,240 Мы збіраемся зрабіць гэта ў блоку цытата, проста каб зрабіць гэта добра выглядаць. 683 00:40:41,240 --> 00:40:46,470 А потым каментаваць Блакаваць змесціва цытату. 684 00:40:46,470 --> 00:40:49,790 685 00:40:49,790 --> 00:40:50,892 І Еогеасп. 686 00:40:50,892 --> 00:40:53,100 Так што цяпер гэта будзе цыкл праз усе каментары 687 00:40:53,100 --> 00:40:56,500 які звязаны з кожным з паведамленняў 688 00:40:56,500 --> 00:41:00,960 і адлюстравання кожнага з гэтых заўваг. 689 00:41:00,960 --> 00:41:05,120 Я збіраюся дадаць яшчэ адзін падзел ўніз тут, які дазваляе дадаць каментар. 690 00:41:05,120 --> 00:41:07,400 Так h3 клас. 691 00:41:07,400 --> 00:41:09,580 Пакладзеце назву тут. 692 00:41:09,580 --> 00:41:10,934 Дадаць каментар. 693 00:41:10,934 --> 00:41:13,886 694 00:41:13,886 --> 00:41:15,700 І мы збіраемся вызначыць новую форму. 695 00:41:15,700 --> 00:41:18,730 >> Так як раней, мы збіраецца рабіць выгляд дзеянні. 696 00:41:18,730 --> 00:41:22,740 І вось, новая акцыя мы будзе вызначаць новы кантролер, які 697 00:41:22,740 --> 00:41:26,770 дазваляе нам рэагаваць на паведамленне запыты для стварэння каментароў. 698 00:41:26,770 --> 00:41:33,365 Так URL :: Маршрут createComment. 699 00:41:33,365 --> 00:41:37,730 Я збіраюся прайсці ў параметры тут. 700 00:41:37,730 --> 00:41:40,380 ID паста, што мы ствараем каментар на. 701 00:41:40,380 --> 00:41:45,340 702 00:41:45,340 --> 00:41:50,280 І тое метад гэтым Форма будзе пасля. 703 00:41:50,280 --> 00:41:57,240 >> Цяпер мы збіраемся дадаць у два поля, форма група. 704 00:41:57,240 --> 00:42:04,670 Гэта будзе уваход з Назва "Імя" і класа = "формаў-кантроль», 705 00:42:04,670 --> 00:42:14,250 тып = "тэкст", а з Прататып = "Імя". 706 00:42:14,250 --> 00:42:19,380 Мы таксама збіраемся вызначыць іншае поле формы, якая 707 00:42:19,380 --> 00:42:22,970 будзе тэкст вобласці, як было раней. 708 00:42:22,970 --> 00:42:25,480 Гэтак жа, як і раней, называць яго змест. 709 00:42:25,480 --> 00:42:31,160 Клас = "форма кантролю." 710 00:42:31,160 --> 00:42:41,660 Запаўняльнік = "Напішыце тут." 711 00:42:41,660 --> 00:42:44,100 >> І проста так, што мы можа на самай справе прадставіць яго, 712 00:42:44,100 --> 00:42:55,740 прадставіць тып і клас = "БТН БТН-першасныя." 713 00:42:55,740 --> 00:42:57,005 Зачыніце форму. 714 00:42:57,005 --> 00:42:59,010 Зачыніць гэта дзеянне. 715 00:42:59,010 --> 00:43:06,580 Так што цяпер, калі мы абновіце гэтую старонку, дзе у нас ёсць, скажам, тую ці іншую пасаду. 716 00:43:06,580 --> 00:43:10,310 Мы павінны перазагрузіць сервер. 717 00:43:10,310 --> 00:43:12,340 PHP рамеснік служыць. 718 00:43:12,340 --> 00:43:15,630 719 00:43:15,630 --> 00:43:18,334 Перазагрузіце гэта. 720 00:43:18,334 --> 00:43:19,500 Мы павінны вызначыць маршрут. 721 00:43:19,500 --> 00:43:25,090 Але цяпер, давайце проста прыняць гэта так, што мы можам на самай справе паказаць вам, 722 00:43:25,090 --> 00:43:28,750 што старонка выглядае, а затым мы на самай справе стварыць гэты маршрут. 723 00:43:28,750 --> 00:43:29,250 Так, эй. 724 00:43:29,250 --> 00:43:37,080 У нас ёсць новы від сюды так што мы можам ствараць каментары. 725 00:43:37,080 --> 00:43:39,950 Такім чынам, давайце на самай справе вызначыць функцыі ў кантролеры 726 00:43:39,950 --> 00:43:43,020 так што мы можам дадаваць каментары. 727 00:43:43,020 --> 00:43:43,650 Давайце вернемся. 728 00:43:43,650 --> 00:43:48,420 І на працягу blogcontroller.php, тое, што мы збіраемся зрабіць 729 00:43:48,420 --> 00:43:51,620 гэта стварыць новую функцыю называецца стварыць каментар. 730 00:43:51,620 --> 00:43:54,220 731 00:43:54,220 --> 00:43:57,040 >> Грамадская функцыя createComment. 732 00:43:57,040 --> 00:44:00,130 Гэта будзе мець аднаго Параметр, ID пасад 733 00:44:00,130 --> 00:44:02,280 што мы каментуючы. 734 00:44:02,280 --> 00:44:04,790 І, як і раней, мы будзе спачатку атрымаць пасаду. 735 00:44:04,790 --> 00:44:10,790 Так пісаць findOrfail ID. 736 00:44:10,790 --> 00:44:15,020 Пасля гэтага, мы збіраемся для стварэння новага каментара. 737 00:44:15,020 --> 00:44:18,880 Так каментарый = Новы каментар. 738 00:44:18,880 --> 00:44:26,820 Каментар Імя = Уваход :: атрымаць імя. 739 00:44:26,820 --> 00:44:39,420 Каментар ўтрыманне = жа новая лінія у перапынках ўваходных :: атрымаць змест. 740 00:44:39,420 --> 00:44:43,460 >> І, нарэшце, мы збіраемся мець, каб звязаць гэты каментар з гэтай пасады. 741 00:44:43,460 --> 00:44:47,230 Такім чынам, мы збіраемся выкарыстаць Гэтая функцыя, каментары, 742 00:44:47,230 --> 00:44:50,260 што дазваляе нам эканоміць гэтыя адносіны. 743 00:44:50,260 --> 00:44:54,780 Так што цяпер гэты каментар будзе аўтаматычна пасля ID. 744 00:44:54,780 --> 00:44:57,640 Мы маглі б таксама ўсталяваць яго ўручную, але гэта 745 00:44:57,640 --> 00:45:02,490 больш зручным для чытання, наколькі як функцыя ідзе. 746 00:45:02,490 --> 00:45:05,860 І пасля таго як мы выканаць гэта тое, што мы хочам зрабіць, 747 00:45:05,860 --> 00:45:10,840 гэта перанакіраванне карыстальніка на маршрут, зададзенае па viewPost 748 00:45:10,840 --> 00:45:16,010 з масівам з Параметр паштовага ідэнтыфікатара. 749 00:45:16,010 --> 00:45:20,360 750 00:45:20,360 --> 00:45:24,660 >> І зараз, так што гэта на самай справе функцыі, мы павінны вызначыць гэты маршрут. 751 00:45:24,660 --> 00:45:27,126 Маршрут :: Post. 752 00:45:27,126 --> 00:45:32,800 І зараз мы збіраемся назваць гэта Паведамленне скараціць ID слэш каментар. 753 00:45:32,800 --> 00:45:36,725 Масіў выкарыстоўвае новую функцыю што мы толькі што стварылі. 754 00:45:36,725 --> 00:45:37,350 BlogController. 755 00:45:37,350 --> 00:45:40,820 756 00:45:40,820 --> 00:45:44,770 CreateComment як createComment. 757 00:45:44,770 --> 00:45:47,430 758 00:45:47,430 --> 00:45:50,120 Выдатна. 759 00:45:50,120 --> 00:45:56,150 >> Так што цяпер, спадзяюся, калі мы абновіце гэтую старонку і дадаць у каментар, скажам, Дэвід малая. 760 00:45:56,150 --> 00:46:00,630 761 00:46:00,630 --> 00:46:03,920 "Спадзяемся, што гэта працуе." 762 00:46:03,920 --> 00:46:05,216 Адправіць. 763 00:46:05,216 --> 00:46:09,050 Мы, па сутнасці, ёсць каментары на гэтай пасадзе ў блогу. 764 00:46:09,050 --> 00:46:13,760 765 00:46:13,760 --> 00:46:14,260 Крута. 766 00:46:14,260 --> 00:46:16,790 767 00:46:16,790 --> 00:46:21,430 Так што цяпер у нас ёсць даволі функцыянальная блогу. 768 00:46:21,430 --> 00:46:23,180 Мы толькі збіраемся дадаць пару налад, так 769 00:46:23,180 --> 00:46:29,090 што ў нас ёсць яшчэ некалькі карысных Інфармацыя аб гэтых пасадаў. 770 00:46:29,090 --> 00:46:32,780 >> Так што, калі мы вернемся да Галоўная старонка, у нас няма ніякага сэнсу 771 00:46:32,780 --> 00:46:38,790 колькі каментары на кожным з гэтых пасад. 772 00:46:38,790 --> 00:46:41,340 Так што мы на самай справе адбываецца зрабіць гэта, у нашай мадэлі, 773 00:46:41,340 --> 00:46:51,250 вызначыць дапаможную функцыю, якая дазваляе нам паказаць колькасць каментарыяў 774 00:46:51,250 --> 00:46:53,020 якія ідуць з канкрэтнай пасады. 775 00:46:53,020 --> 00:46:56,050 Такім чынам, мы збіраемся стварыць дапаможная функцыя. 776 00:46:56,050 --> 00:46:58,020 >> Грамадская функцыя. 777 00:46:58,020 --> 00:46:58,770 GetNumCommentsStr. 778 00:46:58,770 --> 00:47:02,030 779 00:47:02,030 --> 00:47:07,180 Так радок, якая вызначае колькасць каментароў, якія выходзяць разам з ім. 780 00:47:07,180 --> 00:47:12,850 І тое, што мы збіраемся зрабіць, гэта сказаць, што Num = гэта каментары ў рахунак. 781 00:47:12,850 --> 00:47:15,150 Такім чынам, мы збіраемся, каб разлічваць Колькасць каментароў. 782 00:47:15,150 --> 00:47:22,900 І калі гэта лік роўна 1, мы проста хачу, каб вярнуцца 1 каментар. 783 00:47:22,900 --> 00:47:28,890 А потым у адваротным выпадку, мы хочам, каб вярнуцца канкатэнацыя піт і каментары, 784 00:47:28,890 --> 00:47:31,890 такім чынам мы атрымліваем плюрализация правільна. 785 00:47:31,890 --> 00:47:33,380 Проста зрабіць гэта адзінарныя двукоссі. 786 00:47:33,380 --> 00:47:36,040 787 00:47:36,040 --> 00:47:37,640 Адзін каментар. 788 00:47:37,640 --> 00:47:41,140 >> І зараз мы можам выкарыстоўваць гэтую функцыю непасрэдна ўнутры нашага зроку. 789 00:47:41,140 --> 00:47:44,510 Так што, калі мы вернемся да частковыя паведамленняў, якія мы стварылі, 790 00:47:44,510 --> 00:47:49,370 зараз мы хочам на самой справе адлюстраваць шэраг заўваг. 791 00:47:49,370 --> 00:47:52,660 Такім чынам, што мы можам зрабіць, гэта Паведамленне, выкарыстоўвайце гэтую функцыю 792 00:47:52,660 --> 00:47:57,230 што мы толькі што стварылі, каб адлюстраваць шэраг заўваг. 793 00:47:57,230 --> 00:48:00,440 Такім чынам, калі нам абнаўлення, ён робіць, на самай справе, дысплей 794 00:48:00,440 --> 00:48:02,240 лічбавыя каментары якія ідуць разам з ёй. 795 00:48:02,240 --> 00:48:05,320 >> Калі б мы хацелі быць вытанчанай, калі вас рэальна зірнуць на код размеркавання, 796 00:48:05,320 --> 00:48:07,800 мы можам на самай справе спасылаюцца гэта каментарах. 797 00:48:07,800 --> 00:48:17,040 Калі вы памятаеце, мы вызначылі ў глядзець, што гэта мае раздзел ID каментары. 798 00:48:17,040 --> 00:48:22,460 Так што, калі мы на самай справе хацелі звязаць непасрэдна раздзеле каментароў, што 799 00:48:22,460 --> 00:48:36,000 мы будзем рабіць тут HREF Адрас маршруце viewPost. 800 00:48:36,000 --> 00:48:40,550 Перайдзіце ў масіве ID пост ID. 801 00:48:40,550 --> 00:48:46,140 А потым мы хочам паехаць у у прыватнасці, раздзел каментароў. 802 00:48:46,140 --> 00:48:49,900 >> Вось давайце зачыніць тэгам. 803 00:48:49,900 --> 00:48:52,950 Так што цяпер, калі мы абновіце гэтую старонка, клікаем па гэтым пытанні. 804 00:48:52,950 --> 00:48:54,700 Мы пойдзем прама да раздзел каментары. 805 00:48:54,700 --> 00:48:57,580 Калі б мы мелі больш доўгую пошту, вы можаце Убачыць гэты адскок ўніз. 806 00:48:57,580 --> 00:49:02,668 Але вы заўважыце, што гэта не ў верхняй частцы старонкі. 807 00:49:02,668 --> 00:49:04,090 Крута. 808 00:49:04,090 --> 00:49:04,600 Выдатна. 809 00:49:04,600 --> 00:49:08,582 Дык вось даволі простая прыклад чаго-то простага 810 00:49:08,582 --> 00:49:09,790 што вы можаце зрабіць з Laravel. 811 00:49:09,790 --> 00:49:13,230 >> Але вы можаце заўважыць тут, што мы зрабілі шмат рэчаў, 812 00:49:13,230 --> 00:49:16,200 з даволі невялікай колькасцю кода. 813 00:49:16,200 --> 00:49:19,420 Laravel дазваляе нам рабіць SQL запыты за кулісамі. 814 00:49:19,420 --> 00:49:21,960 Гэта робіць санітарыі для нас за кулісамі. 815 00:49:21,960 --> 00:49:25,940 Дазваляе нам, каб зрабіць гэтыя адносіны вельмі лёгка і без нас неабходнасці 816 00:49:25,940 --> 00:49:33,350 рабіць якія-небудзь SQL далучыцца заявы аб'яднаць каментары з тым, што пасады. 817 00:49:33,350 --> 00:49:36,480 Дазваляе нам рабіць гэта ўспадкоўванне шаблонаў 818 00:49:36,480 --> 00:49:43,780 так што мы можам вызначыць гэтыя ўкладанні файлы, так што мы не паўтараючы сябе, 819 00:49:43,780 --> 00:49:47,020 гэтак жа, як калі мы былі, што адлюстраванне паведамленняў у блогу 820 00:49:47,020 --> 00:49:50,770 што мы не павінны скапіруйце і ўстаўце код. 821 00:49:50,770 --> 00:49:55,450 >> І тут вы можаце пабудаваць больш складаныя прыкладання. 822 00:49:55,450 --> 00:49:58,370 Вы можаце сабе ўявіць, калі мы хацеў рэалізаваць увайсці ў, 823 00:49:58,370 --> 00:50:05,532 мы маглі б сказаць, прыносяць у трэцяй партыі структура, якая дазваляе нам рабіць гэта. 824 00:50:05,532 --> 00:50:07,490 Там куча з іх што, сапраўды, вельмі 825 00:50:07,490 --> 00:50:09,970 Выдатна, што можна зрабіць, як, аднаўленне пароля. 826 00:50:09,970 --> 00:50:14,450 І гэта будзе дасылаць вам Скід пароля электроннай пошты. 827 00:50:14,450 --> 00:50:18,260 Мы можам рэалізаваць дазвол так што я магу стварыць пост, 828 00:50:18,260 --> 00:50:20,350 але хто-то не магу яго адрэдагаваць. 829 00:50:20,350 --> 00:50:24,610 Мы можам рэалізаваць Функцыянальнасць выдаляць паведамленні. 830 00:50:24,610 --> 00:50:28,160 >> Але вы можаце паглядзець тут, што мы маем даволі Шмат усяго рудыментарных кампаненты 831 00:50:28,160 --> 00:50:31,640 пабудаваць некаторыя сапраўды, сапраўды, дынамічны і займальны вэб-прыкладанняў. 832 00:50:31,640 --> 00:50:34,035 Так з гэтым, я думаю, што мы добра. 833 00:50:34,035 --> 00:50:35,720 Як вы, хлопцы, ёсць якія-небудзь пытанні? 834 00:50:35,720 --> 00:50:36,220 Так? 835 00:50:36,220 --> 00:50:38,090 >> SPEAKER 3: Як вам атрымаць статычны кантэнт? 836 00:50:38,090 --> 00:50:39,256 >> Эрык Ауян: Статычны кантэнт. 837 00:50:39,256 --> 00:50:45,520 Такім чынам, вы бачылі раней, што, калі мы былі гэта прама тут, гэта змест макета, 838 00:50:45,520 --> 00:50:49,625 Паглядзець робіць, мы мелі гэта без гэтага масіва пасля гэтага. 839 00:50:49,625 --> 00:50:56,440 840 00:50:56,440 --> 00:50:59,152 Blog.index, у нас было гэта як толькі статычны файл. 841 00:50:59,152 --> 00:51:00,860 Так што, калі мы не праходзяць што-небудзь разам з ім, 842 00:51:00,860 --> 00:51:03,340 гэта будзе проста аказваць HTML напрамую. 843 00:51:03,340 --> 00:51:09,240 Але калі мы пяройдзем у гэтым асацыятыўным масіў паведамленняў, якія дынамічна 844 00:51:09,240 --> 00:51:12,950 выцягнуў з базы дадзеных, мы можа зрабіць старонку дынамічнай. 845 00:51:12,950 --> 00:51:13,450 Крута. 846 00:51:13,450 --> 00:51:14,830 Любыя іншыя пытанні? 847 00:51:14,830 --> 00:51:16,786 848 00:51:16,786 --> 00:51:19,720 SPEAKER 3: Як бы вы параўнаць Laravel, можа быць, некаторых іншых варыянтаў? 849 00:51:19,720 --> 00:51:20,525 Эрык Ауян: Вядома. 850 00:51:20,525 --> 00:51:21,025 Так. 851 00:51:21,025 --> 00:51:23,430 Так Laravel is-- гэта вялікі question-- 852 00:51:23,430 --> 00:51:26,190 адзін з многіх варыянтаў для вэб-фреймворков. 853 00:51:26,190 --> 00:51:31,160 Так Рубін на Rails з'яўляецца той, які папулярны. 854 00:51:31,160 --> 00:51:34,590 Я лічу, што Twitter калі-то ажыццяўляецца з Рубінам на Rails. 855 00:51:34,590 --> 00:51:37,600 Я думаю, што яны так перамыкацца. 856 00:51:37,600 --> 00:51:40,780 Там яшчэ адзін называецца FuelPHP. 857 00:51:40,780 --> 00:51:46,120 >> Так Рубін на Rails выкарыстоўвае Ruby, мова і рэалізуе шмат матэрыялу MVC 858 00:51:46,120 --> 00:51:48,200 што мы бачым тут. 859 00:51:48,200 --> 00:51:52,320 FuelPHP яшчэ адзін рамкі PHP. 860 00:51:52,320 --> 00:51:54,490 Django з'яўляецца адным з маіх любімых. 861 00:51:54,490 --> 00:51:57,010 Гэта вэб-фреймворк для Python. 862 00:51:57,010 --> 00:52:01,270 Такім чынам, вы можаце напісаць вэб-прыкладанне ў Python. 863 00:52:01,270 --> 00:52:03,760 Так што тона гэтых варыянтаў. 864 00:52:03,760 --> 00:52:06,170 >> Laravel, я думаю, што ў агульным і вялікая мая любімая права 865 00:52:06,170 --> 00:52:08,232 Зараз для PHP толькі таму, што кампанентаў 866 00:52:08,232 --> 00:52:09,440 пра якія мы гаварылі раней. 867 00:52:09,440 --> 00:52:11,910 Гэта Кампазітар уключаны. 868 00:52:11,910 --> 00:52:15,750 Яна ўключае ў сябе вельмі, вельмі выразныя ORM сістэма. 869 00:52:15,750 --> 00:52:18,800 Таксама мае сапраўды дзіўны шаблонаў Мова, што некаторыя з іншых 870 00:52:18,800 --> 00:52:20,630 проста не даюць. 871 00:52:20,630 --> 00:52:21,400 І міграцыі. 872 00:52:21,400 --> 00:52:23,432 Міграцыі з'яўляюцца дзіўнымі, а таксама. 873 00:52:23,432 --> 00:52:24,860 Прахладны? 874 00:52:24,860 --> 00:52:25,390 Высокі. 875 00:52:25,390 --> 00:52:27,560 Ну, дзякуй за глядзець гэты семінар, 876 00:52:27,560 --> 00:52:30,650 і ўдачы ў вашых канчатковых праектаў. 877 00:52:30,650 --> 00:52:31,616