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 >> ERIC Ouyang: Ей, всички. 4 00:00:12,390 --> 00:00:13,580 Добре дошли. 5 00:00:13,580 --> 00:00:16,860 Това е изграждането на динамични Web Apps с Laravel. 6 00:00:16,860 --> 00:00:18,290 Моето име е Ерик Ouyang. 7 00:00:18,290 --> 00:00:23,860 Аз съм второкурсник учи социални проучвания с вторично по компютърни науки, 8 00:00:23,860 --> 00:00:27,290 и аз живея в Adams Къща тук в Харвард. 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 е тя включва ORM двигателя. 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 И най-накрая, Composer е нещо много, много полезно 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 интерфейс, можете да включите и да играе тези компоненти с Composer. 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 Cool. 57 00:03:37,490 --> 00:03:39,990 Така че първата стъпка е инсталиране Composer. 58 00:03:39,990 --> 00:03:43,590 Така Composer ви позволява да управление на тези зависимости, 59 00:03:43,590 --> 00:03:47,770 независимо дали е рамката Laravel или някакъв друг разширение трето лице. 60 00:03:47,770 --> 00:03:50,400 Първата команда позволява можете да изтеглите Composer, 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 Трябва да се отбележи, за да започнете с е този довереник папка. 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 изгради свой собствен сървър в C. Така че те са една построена в толкова 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 Ако кликнете върху Изпращане, ще забележите, че нашият нов блог 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 Така че, ако ние превъртете надолу, ще забележите, че Джонатан Tan казва 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 Cool. 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 Cool. 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 Така че ако отидем и да разгледаме Database, ние ще забележите по миграции 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 Up е това, което искаме да тече от момента на миграция се прилага към базата данни. 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 нарича Schema. 149 00:08:55,480 --> 00:08:57,910 >> Така че ние ще тече Schema :: създадете. 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 >> Great. 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 Така че сега, ако ние вървим напред and-- всъщност, локален хост, 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 Great. 191 00:11:14,706 --> 00:11:15,560 Cool. 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 Cool. 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 Cool. 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 Cool. 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 И ако можем да разгледаме в папката Прегледи, 233 00:13:55,820 --> 00:14:01,640 има Layouts папка, която включва един много основен 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 Type = "текст". 273 00:16:14,425 --> 00:16:16,050 Отивам да добавите контейнер = "Заглавие". 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 Име = "съдържание". 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 = "представи" клас = "BTN BTN-първично". 284 00:16:50,370 --> 00:16:53,370 285 00:16:53,370 --> 00:16:55,340 Така че това са всички Гостите на Bootstrap така 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 И тогава ние ще да го Alias ​​като 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 ние може да замени в рамките на нашите Blade шаблони. 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 Cool. 318 00:19:03,380 --> 00:19:05,811 >> Въпроси? 319 00:19:05,811 --> 00:19:06,310 Cool. 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 Ah. 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 от когато натиснете бутона Submit. 332 00:19:44,060 --> 00:19:47,110 Така че, ако ние кликнете върху Submit бутон, то се случва да тече грешка. 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 Public 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 The 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 където ние ще направим, използвайки супер Global Post търсите заглавие. 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 И след това, което ние ще направим е зададен съдържанието на това да Input получите съдържание. 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 >> Great. 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 Намерете или Fail, която ни позволява да се откажат от тази функция, 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 И надолу към дъното, което ние сме ще направя, е да създаде Footer. 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 И накрая, ние ще да затворите този Footer. 433 00:26:21,385 --> 00:26:24,900 434 00:26:24,900 --> 00:26:31,450 >> Така че сега, ако се върнем към Home Page отиваме 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 ERIC Ouyang: Да. 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 наклонена черта пост ID. 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 Great. 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 Cool. 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 Аз съм Джонатан Tan. " 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 Awesome. 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 ERIC Ouyang: Да. 479 00:28:37,245 --> 00:28:42,990 Така че, когато се видяхме по-рано, когато направихме вход на колона на дебелото черво се, 480 00:28:42,990 --> 00:28:47,720 че sanitates всеки 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 направя foreach цикъл през постовете, че ни позволява да разпечатате постовете. 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 Така че това, което ние ще направим, е действително използвате хубава полезна функция на Blade 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 Така че можем да го използваме в Index. 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 >> Cool. 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 ERIC Ouyang: Да. 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 ERIC Ouyang: Да. 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 ERIC Ouyang: Така че, да погледнем, да речем Например, този път точно тук. 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 >> ERIC Ouyang: --so че ние всъщност може да направи оглед, 560 00:32:39,368 --> 00:32:42,590 изпълнява някои изчисления, взаимодействат с SQL база данни. 561 00:32:42,590 --> 00:32:43,560 >> SPEAKER 2: OK. 562 00:32:43,560 --> 00:32:46,960 >> ERIC Ouyang: И тогава другият част ", като" е псевдоним, който използваме. 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 Слаш нова просто да почистите до наши URLs малко. 570 00:33:09,490 --> 00:33:14,740 Ние ще го променя на едно място, а отколкото през всички различни файлове. 571 00:33:14,740 --> 00:33:15,451 >> Cool. 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 Така че, ако се вгледаме в Layout Учителя, 576 00:33:27,850 --> 00:33:31,280 имаме раздел, наречен Header Right че съвсем наскоро е определено нагоре към върха. 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 Така че този раздел Header Right, това, което ние ще направим 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 Така Schema :: създадете таблица, наречена коментари. 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 И това, което ние ще направите, е коментар Разделение клас, 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 И foreach. 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 Идентификацията на поста, че ние създаваме коментар. 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 TYPE = "текст", и с контейнер = "Вашето име". 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 Вид и клас = представя "BTN BTN-първично." 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 >> Public createComment функция. 732 00:43:57,040 --> 00:44:00,130 Това ще има един-единствен параметър, идентификацията на длъжностите 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 Коментар име = Input :: получите име. 739 00:44:26,820 --> 00:44:39,420 Съдържание Comment = същото новата линия в почивките на Input :: получите съдържание. 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 с масива с параметър на пост ID. 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 Route :: пост. 752 00:45:27,126 --> 00:45:32,800 И сега ние ще наричаме това Мнение Слаш ID наклонена черта коментар. 753 00:45:32,800 --> 00:45:36,725 Array използва новата функция че ние току-що създадената. 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 Great. 759 00:45:50,120 --> 00:45:56,150 >> Така че сега се надяваме, ако искаме да обновите тази страница и добавете в коментар, да речем, David Malan. 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 Cool. 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, ние сме Просто ще се върне един коментар. 783 00:47:22,900 --> 00:47:28,890 И след това по друг начин, ние искаме да се върне Съединяването на Num и коментари, 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 Ако си спомняте, ние дефинирано в рамките на видите, че това има раздел за самоличност коментари. 798 00:48:17,040 --> 00:48:22,460 Така че, ако ние наистина искахме да се свърже директно към секцията за коментари, какво 799 00:48:22,460 --> 00:48:36,000 ние ще направим тук е HREF URL на маршрут 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 Cool. 808 00:49:04,090 --> 00:49:04,600 Great. 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 >> ERIC Ouyang: Статично съдържание. 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 Cool. 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 ERIC Ouyang: Разбира се. 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 Така че Руби на релси е тази, която е популярна. 854 00:51:31,160 --> 00:51:34,590 Вярвам Twitter да бъде използван изпълнена с Руби на релси. 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 >> Така че Руби на релси използва езика 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 Това е Composer активиран. 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 Cool? 874 00:52:24,860 --> 00:52:25,390 Awesome. 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