1 00:00:00,000 --> 00:00:02,538 >> [Speel van musiek] 2 00:00:02,538 --> 00:00:10,800 3 00:00:10,800 --> 00:00:12,390 >> ERIC OUYANG: Hey, almal. 4 00:00:12,390 --> 00:00:13,580 Welkom. 5 00:00:13,580 --> 00:00:16,860 Dit is gebou Dynamic Web Apps met Laravel. 6 00:00:16,860 --> 00:00:18,290 My naam is Eric Ouyang. 7 00:00:18,290 --> 00:00:23,860 Ek is 'n stage studeer sosiale studies met 'n sekondêre in rekenaarwetenskap, 8 00:00:23,860 --> 00:00:27,290 en ek woon in Adams Huis hier by Harvard. 9 00:00:27,290 --> 00:00:33,340 >> So Laravel, op sy mees kern, is 'n MVC web app raamwerk. 10 00:00:33,340 --> 00:00:38,265 So hou van wat jy ouens het doen met CS50 Finansies, 11 00:00:38,265 --> 00:00:42,480 Laravel is 'n raamwerk wat dit moontlik maak jy dinamiese web programme op te bou. 12 00:00:42,480 --> 00:00:47,710 So jy kan dink dit in sommige sintuie as 'n uitbreiding van die tipe van dinge 13 00:00:47,710 --> 00:00:50,470 jy gedoen het in CS50 Finansies, maar 'n stelsel wat 14 00:00:50,470 --> 00:00:55,890 'n baie meer robuuste, baie meer elegant in sommige sintuie, 15 00:00:55,890 --> 00:00:57,870 en bied 'n baie funksionaliteit vir jou 16 00:00:57,870 --> 00:01:03,060 redelik kompleks is om te bou web programme. 17 00:01:03,060 --> 00:01:05,010 So laat ons gaan deur 'n paar van die belangrikste kenmerke, 18 00:01:05,010 --> 00:01:09,550 en dan sal ons duik in 'n voorbeeld van die bou van 'n blog 19 00:01:09,550 --> 00:01:12,500 aansoek met Laravel. 20 00:01:12,500 --> 00:01:16,700 >> So een van die eerste dinge wat dit onderskei van MVC tipe werk 21 00:01:16,700 --> 00:01:22,100 wat jy gedoen het met CS50 is dit ook 'n ORM enjin. 22 00:01:22,100 --> 00:01:27,410 So ORM staan ​​vir voorwerp relational mapping. 23 00:01:27,410 --> 00:01:31,080 So dit kan jy op te bou 'n laag van abstraksie 24 00:01:31,080 --> 00:01:35,230 tussen die databasis en jou leiers. 25 00:01:35,230 --> 00:01:39,150 So anders as in CS50 Finansies waar jy direk maak navrae, 26 00:01:39,150 --> 00:01:44,790 die ORM laag kan jy abstrakte dat die weg en skep 27 00:01:44,790 --> 00:01:48,085 modelle wat is sterker as jy kan direk met SQL navrae. 28 00:01:48,085 --> 00:01:50,590 29 00:01:50,590 --> 00:01:53,510 >> Nog 'n ding wat regtig nuttig is vererf templates. 30 00:01:53,510 --> 00:01:58,990 So jy in CS50 Finansies sal sien, beland jy herskryf 'n baie van die dinge, 31 00:01:58,990 --> 00:02:03,150 waar plaas jy kan potensieel hergebruik dinge, jy is nie in staat is. 32 00:02:03,150 --> 00:02:08,539 So hier in Laravel, kan jy gebruik wat is bekend as die lem sjabloon enjin 33 00:02:08,539 --> 00:02:10,530 'n meester uitleg te skep. 34 00:02:10,530 --> 00:02:15,840 En van daar af, kan jy besit sodat sub-templates kan eintlik 35 00:02:15,840 --> 00:02:21,210 sluit elemente in dat groter basis sjabloon. 36 00:02:21,210 --> 00:02:21,810 >> Migrasie. 37 00:02:21,810 --> 00:02:29,010 So dit is 'n redelik standaard kenmerke op mees moderne web aansoek raamwerke. 38 00:02:29,010 --> 00:02:32,710 So dit laat jou te verteenwoordig databasis skedule veranderings in die kode. 39 00:02:32,710 --> 00:02:39,200 So sonder om te sê, phpMyAdmin, jy kan eintlik maak hierdie migrasies 40 00:02:39,200 --> 00:02:44,660 waar jy die databasis verteenwoordig skema verander in die kode direk. 41 00:02:44,660 --> 00:02:48,070 En dit kan jy veral aan- as jy het verskeie mense werk 42 00:02:48,070 --> 00:02:52,650 op dieselfde web application-- spoor van hierdie veranderinge, 43 00:02:52,650 --> 00:02:55,380 sê in GitHub, of 'n ander bron. 44 00:02:55,380 --> 00:03:00,880 >> So dit is regtig nuttig en verlaag die behoefte 45 00:03:00,880 --> 00:03:04,580 aan, sê, slaag om 'n baie van SQL dumps. 46 00:03:04,580 --> 00:03:07,140 En ten slotte, Komponis is iets wat regtig, regtig nuttig 47 00:03:07,140 --> 00:03:09,840 wat jou toelaat om ander te gebruik mense se kode ongelooflike dinge te doen. 48 00:03:09,840 --> 00:03:14,020 So Laravel se gestruktureer as verskeie komponis pakkette. 49 00:03:14,020 --> 00:03:17,870 So sê as jy wou bring in 'n verifikasie pakket 50 00:03:17,870 --> 00:03:23,440 of as jy wil om te bring in 'n paar soort generator script of 'n administrateur 51 00:03:23,440 --> 00:03:26,910 koppelvlak, kan jy plug and play die komponente met komponis. 52 00:03:26,910 --> 00:03:30,470 53 00:03:30,470 --> 00:03:31,570 >> So laat ons begin. 54 00:03:31,570 --> 00:03:35,185 Enige vrae van jou ouens voor ons begin? 55 00:03:35,185 --> 00:03:36,500 Geen vrae? 56 00:03:36,500 --> 00:03:37,490 Cool. 57 00:03:37,490 --> 00:03:39,990 Dus is die eerste stap is om installering komponis. 58 00:03:39,990 --> 00:03:43,590 So Composer kan jy beheer van hierdie afhanklikhede, 59 00:03:43,590 --> 00:03:47,770 of dit nou die Laravel raamwerk of 'n ander derde party uitbreiding. 60 00:03:47,770 --> 00:03:50,400 Die eerste opdrag kan jy Komponis te laai, 61 00:03:50,400 --> 00:03:55,890 en die tweede gebod kan jy skuif dit in jou plaaslike bin gids 62 00:03:55,890 --> 00:04:01,340 sodat jy kan hardloop Komponis direk deur die terminale. 63 00:04:01,340 --> 00:04:05,405 >> Daarna, gaan voort en skep 'n nuwe Laravel projek. 64 00:04:05,405 --> 00:04:07,280 Ons is eintlik gaan gebruik om 'n voorbeeld kode 65 00:04:07,280 --> 00:04:10,760 wat ek saam hierdie blog te skep. 66 00:04:10,760 --> 00:04:14,420 Maar as jy vanaf nuuts af, sou jy hierdie opdrag gebruik 67 00:04:14,420 --> 00:04:18,160 hier, komponis skep-projek, laravel streep laravel, en dan 68 00:04:18,160 --> 00:04:19,940 die naam van jou projek. 69 00:04:19,940 --> 00:04:22,275 En wat sal insluit al die verspreiding kode 70 00:04:22,275 --> 00:04:23,733 vir die begin van 'n nuwe Laravel projek. 71 00:04:23,733 --> 00:04:28,870 So vir jou CS50 finale projekte, sal jy waarskynlik wil hê dat die opdrag om te gebruik. 72 00:04:28,870 --> 00:04:31,210 >> Maar ons gaan om te begin met hierdie. 73 00:04:31,210 --> 00:04:34,630 So as jy dit gedoen wat, jy gaan te kry 74 00:04:34,630 --> 00:04:40,190 'n redelik uitgebreide aantal lêers in blog50. 75 00:04:40,190 --> 00:04:43,840 So laat ons gaan net deur sommige van hierdie komponente. 76 00:04:43,840 --> 00:04:49,060 Jy sal sien op die roete gids, daar is 'n app gids. 77 00:04:49,060 --> 00:04:52,960 Binne-in die app gids, daar is 'n paar nuttige dopgehou. 78 00:04:52,960 --> 00:04:56,330 Van kennis om te begin met is hierdie config gids. 79 00:04:56,330 --> 00:04:59,210 So hierdie stel hoe jou web aansoek is 80 00:04:59,210 --> 00:05:04,350 gaan, sê, authentic mense of kontant dinge of toegang tot die databasis. 81 00:05:04,350 --> 00:05:06,400 >> En wat is regtig nuttig is dat Laravel 82 00:05:06,400 --> 00:05:09,130 laat jou op te rig verskillende ontwikkeling omgewings. 83 00:05:09,130 --> 00:05:12,090 So, wat ons hier gedoen is, indien ons gaan onder die plaaslike gids, 84 00:05:12,090 --> 00:05:14,720 daar is 'n database.php lêer. 85 00:05:14,720 --> 00:05:18,320 En jy sal hier opmerk dat ons opstel van 'n MySQL verband wat 86 00:05:18,320 --> 00:05:22,230 toelaat dat individue aan te sluit aan die MySQL bediener wat is 87 00:05:22,230 --> 00:05:24,310 direk op die CS50 toestel. 88 00:05:24,310 --> 00:05:26,980 En ons is verbind tot 'n databasis dat ek 'n beroep Blog50. 89 00:05:26,980 --> 00:05:31,390 90 00:05:31,390 --> 00:05:37,085 >> So laat ons eintlik voort te gaan en loop die werk weergawe van hierdie, 91 00:05:37,085 --> 00:05:39,710 net 'n gevoel van wat die te kry program wat ons bou 92 00:05:39,710 --> 00:05:41,390 lyk. 93 00:05:41,390 --> 00:05:46,150 So ek het 'n afskrif van hierdie Blog50 voltooi. 94 00:05:46,150 --> 00:05:51,910 So Laravel eintlik het in 'n bediener gebou 95 00:05:51,910 --> 00:05:53,910 dat jy direk kan hardloop uit die opdrag lyn. 96 00:05:53,910 --> 00:05:56,900 So, dit is soortgelyk aan die PSet voor wanneer jy eintlik 97 00:05:56,900 --> 00:06:00,580 bou jou eie bediener in C. So het hulle een gebou in so 98 00:06:00,580 --> 00:06:04,010 wat jy kan hardloop jou Laravel programme direk uit die opdrag lyn. 99 00:06:04,010 --> 00:06:11,650 >> So as ons dit doen php vakman dien, hierdie sal 'n ontwikkeling bediener begin 100 00:06:11,650 --> 00:06:13,880 op poort 8000. 101 00:06:13,880 --> 00:06:18,250 So as ons na die plaaslike gasheer 8000, sal jy agterkom dat, hey. 102 00:06:18,250 --> 00:06:20,800 Ons het ons blog en hardloop. 103 00:06:20,800 --> 00:06:25,090 So Laravel hier genereer die voorblad van ons blog. 104 00:06:25,090 --> 00:06:26,350 Baie eenvoudige toepassing. 105 00:06:26,350 --> 00:06:28,610 Maar daar is 'n paar n baie interessante eienskappe 106 00:06:28,610 --> 00:06:31,346 dat dit 'onder die kap. 107 00:06:31,346 --> 00:06:33,680 >> So die blog aansoek se eenvoudig. 108 00:06:33,680 --> 00:06:36,430 As ons wou 'n post te skep, ons kan kliek op die knoppie. 109 00:06:36,430 --> 00:06:40,470 Ons kan sê, "Hey, almal. 110 00:06:40,470 --> 00:06:44,530 Dit is 'n baie pret seminaar, "byvoorbeeld. 111 00:06:44,530 --> 00:06:46,560 En skryf iets neer hier. 112 00:06:46,560 --> 00:06:48,180 Teks hier. 113 00:06:48,180 --> 00:06:51,327 As ons klik op stuur, sal jy sien dat ons nuwe blog 114 00:06:51,327 --> 00:06:53,410 post is bygevoeg tot die voorblad van die blog. 115 00:06:53,410 --> 00:06:56,532 116 00:06:56,532 --> 00:06:59,970 As ons terug gaan hier, sal jy agterkom dat daar is 'n paar opmerkings wat reeds 117 00:06:59,970 --> 00:07:01,160 op die blog. 118 00:07:01,160 --> 00:07:03,630 So as ons scroll down, sal jy sien dat Jonathan Tan sê 119 00:07:03,630 --> 00:07:08,020 dat hy baie gefassineer deur hierdie post. 120 00:07:08,020 --> 00:07:11,570 >> So ons gaan na hoe voorwerp relational mapping toelaat 121 00:07:11,570 --> 00:07:16,668 jy hierdie verhoudings te doen in 'n redelik naatlose manier as well. 122 00:07:16,668 --> 00:07:17,660 Cool. 123 00:07:17,660 --> 00:07:20,290 Enige vrae oor funksies van wat ons gaan om te bou? 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 So laat ons begin met eintlik die skep van die databasis tabelle. 127 00:07:28,170 --> 00:07:33,190 >> So onthou dat in CS50 Finansies, jy saam 'n tafel vir die gebruikers 128 00:07:33,190 --> 00:07:37,100 sowel as vir die aandele in jou portefeulje. 129 00:07:37,100 --> 00:07:41,040 So as ons vroeër genoem, wat ons gebruik in Laravel 130 00:07:41,040 --> 00:07:43,090 is iets wat bekend staan ​​as migrasies. 131 00:07:43,090 --> 00:07:48,570 So as ons gaan terug na die verspreiding kode hier, 132 00:07:48,570 --> 00:07:51,790 die eerste opdrag wat nuttig dat Laravel bied jou 133 00:07:51,790 --> 00:07:54,240 is dit migreer opdrag. 134 00:07:54,240 --> 00:07:59,220 So ons kan doen php vakman migreer: maak. 135 00:07:59,220 --> 00:08:01,760 So dit laat ons 'n migrasie te skep. 136 00:08:01,760 --> 00:08:03,710 >> En dan sal ons wil 'n migrasie te skep 137 00:08:03,710 --> 00:08:07,050 genoem create_posts_table, wat gaan 138 00:08:07,050 --> 00:08:11,521 om te wees waar ons gaan wees berging ons blog. 139 00:08:11,521 --> 00:08:14,690 En jy sal hier agterkom dat dit loop deur 'n paar kode wat eintlik 140 00:08:14,690 --> 00:08:17,580 genereer 'n lêer met 'n tyd stempel op dit. 141 00:08:17,580 --> 00:08:22,260 So as ons gaan kyk na databasis, ons sal sien onder Migrasie 142 00:08:22,260 --> 00:08:24,830 dat dit het 'n leeg lêer vir ons wat 143 00:08:24,830 --> 00:08:30,100 het boiler kode met die naam dat ons gespesifiseer, skep poste tafel. 144 00:08:30,100 --> 00:08:31,670 >> En dit het twee funksies in dit. 145 00:08:31,670 --> 00:08:40,539 Up is wat ons wil hê wanneer die hardloop migrasie word toegepas op die databasis. 146 00:08:40,539 --> 00:08:46,380 En af is wat ons gaan doen wanneer ons wil 'n migrasie te keer. 147 00:08:46,380 --> 00:08:49,890 So hier kom ons begin met die skryf van hierdie migrasie. 148 00:08:49,890 --> 00:08:55,480 So daar is 'n nuttige klas in Laravel genoem skedule. 149 00:08:55,480 --> 00:08:57,910 >> So ons gaan hardloop skedule :: skep. 150 00:08:57,910 --> 00:09:01,080 En ons gaan om te skep 'n tabel genaamd poste. 151 00:09:01,080 --> 00:09:05,980 En hier is ons pas hierdie gebruik van 'n funksie. 152 00:09:05,980 --> 00:09:11,010 En binne hier, gaan ons eintlik spesifiseer die inhoud van ons tafel. 153 00:09:11,010 --> 00:09:14,860 Ons gaan 'n ID te skep, wat is die motor-verhoog van. 154 00:09:14,860 --> 00:09:19,850 155 00:09:19,850 --> 00:09:24,350 >> Daarbenewens, ons gaan 'n veld te skep wat 156 00:09:24,350 --> 00:09:27,060 verteenwoordig die titel van ons blog post. 157 00:09:27,060 --> 00:09:29,880 158 00:09:29,880 --> 00:09:36,950 Ons gaan ook 'n veld te skep vir die berging van die teks van ons blog post. 159 00:09:36,950 --> 00:09:40,600 En uiteindelik, ons gaan sommige tyd tempel te stoor 160 00:09:40,600 --> 00:09:44,690 wanneer ons post is geskep en wanneer dit is opgedateer. 161 00:09:44,690 --> 00:09:46,240 En vir af, dit is redelik eenvoudig. 162 00:09:46,240 --> 00:09:53,974 Al wat ons wil doen, is druppel die tafel wat ons geskep het. 163 00:09:53,974 --> 00:09:54,930 >> Groot. 164 00:09:54,930 --> 00:09:55,850 Enige vrae? 165 00:09:55,850 --> 00:09:59,730 166 00:09:59,730 --> 00:10:07,110 So nou as ons gaan voort and-- eintlik, plaaslike gasheer, 167 00:10:07,110 --> 00:10:09,640 laat my verwyder wat ons gehad het vroeër. 168 00:10:09,640 --> 00:10:14,330 169 00:10:14,330 --> 00:10:15,190 Gaan na Databasisse. 170 00:10:15,190 --> 00:10:17,640 Ek gaan om te verwyder wat ons gehad het vroeër. 171 00:10:17,640 --> 00:10:22,870 Drop dit en skep 'n nuwe databasis Blog50. 172 00:10:22,870 --> 00:10:24,930 So nou wat die magiese deel is hier dat ons 173 00:10:24,930 --> 00:10:28,760 kan direk hierdie migrasies van toepassing aan die databasis met die opdrag lyn 174 00:10:28,760 --> 00:10:29,290 hulpmiddel. 175 00:10:29,290 --> 00:10:35,100 So as ons dit doen php vakman migreer, jy sal sien dat, hey. 176 00:10:35,100 --> 00:10:38,320 Dit is geskep om die migrasie tafel, wat ons sal 'n blik op in 'n bietjie, 177 00:10:38,320 --> 00:10:40,540 en dit is van toepassing hierdie eerste migrasie. 178 00:10:40,540 --> 00:10:43,860 179 00:10:43,860 --> 00:10:48,920 >> So ons kyk na Blog50, sal jy sien dat dit geskep twee tafels vir ons. 180 00:10:48,920 --> 00:10:50,300 Eerste is hierdie migrasies tafel. 181 00:10:50,300 --> 00:10:54,130 So as ons blaai hierdie, sal jy agterkom dat hierdie tabel is redelik eenvoudig. 182 00:10:54,130 --> 00:10:55,490 Dit is net gesê dat, hey. 183 00:10:55,490 --> 00:10:58,960 Ons het aansoek gedoen om hierdie migrasie. 184 00:10:58,960 --> 00:11:01,470 Ons gaan terug en kyk na poste. 185 00:11:01,470 --> 00:11:05,720 Jy sal sien dat die struktuur is presies wat ons gevra het om dit. 186 00:11:05,720 --> 00:11:07,350 Ons het 'n motor-verhoog van ID. 187 00:11:07,350 --> 00:11:10,450 Ons het 'n string vir die berging die titel, en 'n teks veld 188 00:11:10,450 --> 00:11:11,450 vir die berging van die inhoud. 189 00:11:11,450 --> 00:11:14,040 190 00:11:14,040 --> 00:11:14,706 Groot. 191 00:11:14,706 --> 00:11:15,560 Cool. 192 00:11:15,560 --> 00:11:21,626 Enige vrae oor migrasie werk, hoe kan ons dit toepas? 193 00:11:21,626 --> 00:11:22,126 Nee? 194 00:11:22,126 --> 00:11:23,600 Cool. 195 00:11:23,600 --> 00:11:26,630 So nou gaan ons om voort te gaan en eintlik die skep van die model. 196 00:11:26,630 --> 00:11:33,100 So ons wil 'n poste model te skep wat stoor 'n abstraksie van die databasis. 197 00:11:33,100 --> 00:11:41,040 So eerder as om MySQL navrae direk, ons gaan te skep. 198 00:11:41,040 --> 00:11:45,840 So het ons 'n te skep gids hier genoem modelle. 199 00:11:45,840 --> 00:11:48,905 En binnekant hier, gaan ons skep 'n lêer genaamd post.php. 200 00:11:48,905 --> 00:11:52,280 201 00:11:52,280 --> 00:11:54,550 >> Binne hierdie PHP lêer, ons gaan skep 202 00:11:54,550 --> 00:12:00,590 'n klas post wat strek welsprekende. 203 00:12:00,590 --> 00:12:08,950 Welsprekende is die naam van die ORM enjin wat Laravel bied. 204 00:12:08,950 --> 00:12:12,799 En hier is, kan ons verwag dat jy eintlik nodig het 'n paar kode te skryf. 205 00:12:12,799 --> 00:12:14,840 Ons gaan 'n paar te skryf helper funksies later. 206 00:12:14,840 --> 00:12:19,420 Maar uit die boks, dit sal reeds besef wat is in die databasis 207 00:12:19,420 --> 00:12:24,770 en ons kan bekom, sê die teks van ons blog post of die titel, 208 00:12:24,770 --> 00:12:29,230 en die skep van dinge direk met pretty much geen kode hoegenaamd nie. 209 00:12:29,230 --> 00:12:31,110 >> So dit is een van die magiese komponente. 210 00:12:31,110 --> 00:12:34,980 En wind keer hierdie klas meer volwaardige, 211 00:12:34,980 --> 00:12:40,480 ons sal inligting oor insluit wat dit is wat verband hou met, so die kommentaar. 212 00:12:40,480 --> 00:12:42,310 Skep ook 'n funksie sodat ons kan eintlik 213 00:12:42,310 --> 00:12:46,340 die URL direk kry van 'n blog post bladsy. 214 00:12:46,340 --> 00:12:46,840 Cool. 215 00:12:46,840 --> 00:12:47,881 Enige vrae oor wat? 216 00:12:47,881 --> 00:12:51,140 217 00:12:51,140 --> 00:12:51,832 No. 218 00:12:51,832 --> 00:12:54,100 Cool. 219 00:12:54,100 --> 00:12:57,860 >> So nou eenmaal ons ons model, ons wil 'n kontroleerder dit is om te skep 220 00:12:57,860 --> 00:13:02,340 staat om saam met hierdie modelle, en daarna die databasis. 221 00:13:02,340 --> 00:13:05,540 So as ons 'n blik op BlogController, sal jy 222 00:13:05,540 --> 00:13:08,490 sien dat daar nie veel nou hier. 223 00:13:08,490 --> 00:13:13,220 Al wat daar is, is 'n indeks funksie wat verwek die tuisblad, 224 00:13:13,220 --> 00:13:18,220 maar sonder om iets daar nog vertoon. 225 00:13:18,220 --> 00:13:20,560 >> Dus is die eerste funksie dat ons gaan om te skep 226 00:13:20,560 --> 00:13:25,790 is die een wat ons in staat stel 'n blog post te skep. 227 00:13:25,790 --> 00:13:30,540 So gaan ons 'n te verklaar nuwe funksie genoem newPost. 228 00:13:30,540 --> 00:13:36,430 En binnekant hier eenvoudig, ons gaan die uitleg van hierdie bladsy op te stel 229 00:13:36,430 --> 00:13:41,850 te wees om 'n lewer weergawe, As jy onthou van CS50, 230 00:13:41,850 --> 00:13:48,020 van hierdie sjabloon genoem blog.new, wat ons gaan in 'n bietjie te skep. 231 00:13:48,020 --> 00:13:53,170 >> Jy sal hier op die lyn ses agterkom dat ons gespesifiseerde hierdie veranderlike, uitleg. 232 00:13:53,170 --> 00:13:55,820 En as ons neem 'n blik by die Views gids, 233 00:13:55,820 --> 00:14:01,640 daar is 'n Layouts gids, wat sluit 'n baie basiese HTML-lêer. 234 00:14:01,640 --> 00:14:04,680 En van kennis, sal jy sien dat ons hierdie houer 235 00:14:04,680 --> 00:14:06,800 hier dat die inhoud oplewer. 236 00:14:06,800 --> 00:14:09,460 So binnekant van ons sjabloon wat ons gaan doen 237 00:14:09,460 --> 00:14:16,180 is te skep wat gaan wees vervang direk in hierdie uitleg. 238 00:14:16,180 --> 00:14:20,060 >> Daarom het ons gesê dat ons wil lewer 'n sjabloon genoem blog.new. 239 00:14:20,060 --> 00:14:23,790 Maar binnekant van Blog, daar is nog nie die nuwe sjabloon. 240 00:14:23,790 --> 00:14:26,910 So gaan ons 'n te skep lêer genaamd new.blade.php. 241 00:14:26,910 --> 00:14:29,860 Dit vertel Laravel dat hierdie PHP lêer moet 242 00:14:29,860 --> 00:14:31,720 word gelewer met die lem sjabloon enjin. 243 00:14:31,720 --> 00:14:39,510 244 00:14:39,510 --> 00:14:42,630 So, dit is 'n redelik eenvoudige lêer. 245 00:14:42,630 --> 00:14:46,690 Dit gaan die vorm waarop te wees ons eintlik voeg in 'n blog post. 246 00:14:46,690 --> 00:14:49,220 >> So het die magic hier uit die erfenis is dat, hey. 247 00:14:49,220 --> 00:14:52,950 Ons wil om te spesifiseer dat die artikel, die inhoud artikel 248 00:14:52,950 --> 00:14:56,640 hier, wat afgebaken is deursection enstop. 249 00:14:56,640 --> 00:15:02,260 So, wat is in tussen hier gaan vervang word in die meester uitleg. 250 00:15:02,260 --> 00:15:07,000 En hier wat ons wil doen, is baie eenvoudig 'n nuwe HTML-lêer. 251 00:15:07,000 --> 00:15:08,690 Kom ons voeg net 'n vinnige titel. 252 00:15:08,690 --> 00:15:09,600 Voeg 'n blog post. 253 00:15:09,600 --> 00:15:12,110 254 00:15:12,110 --> 00:15:15,390 En daarbinne, ons is gaan 'n vorm te skep. 255 00:15:15,390 --> 00:15:19,197 >> Hierdie vorm gaan 'n aksie te hê. 256 00:15:19,197 --> 00:15:21,780 En dit gaan om iets te wees dat ons later vervang in, 257 00:15:21,780 --> 00:15:24,200 en ons sal sien hoe routing pas in hier. 258 00:15:24,200 --> 00:15:33,600 Maar ons is net gaan om te definieer vir nou dat dit gaan om 'n URL met die roete 259 00:15:33,600 --> 00:15:34,860 van createPost. 260 00:15:34,860 --> 00:15:38,200 261 00:15:38,200 --> 00:15:40,320 En dan is dit gaan metode post te hê. 262 00:15:40,320 --> 00:15:43,940 263 00:15:43,940 --> 00:15:47,590 Binne hier, ons gaan twee velde te hê. 264 00:15:47,590 --> 00:15:49,170 Div class = "vorm-groep". 265 00:15:49,170 --> 00:15:55,806 >> Ons gebruik die Skoenlus CSS biblioteek genade deur Twitter. 266 00:15:55,806 --> 00:15:57,720 So ons gaan twee van hierdie te skep. 267 00:15:57,720 --> 00:16:01,700 268 00:16:01,700 --> 00:16:05,970 So die eerste insette is gaan om die titel te wees. 269 00:16:05,970 --> 00:16:08,437 So insette name = "titel". 270 00:16:08,437 --> 00:16:09,270 Class = "formcontrol". 271 00:16:09,270 --> 00:16:13,540 272 00:16:13,540 --> 00:16:14,425 Type = "text". 273 00:16:14,425 --> 00:16:16,050 Ek gaan 'n tydelike = "Titel" by te voeg. 274 00:16:16,050 --> 00:16:21,570 275 00:16:21,570 --> 00:16:26,140 >> En dan is die tweede een is gaan 'n teks area te wees. 276 00:16:26,140 --> 00:16:27,827 Noem = "inhoud". 277 00:16:27,827 --> 00:16:28,660 Class = "formcontrol". 278 00:16:28,660 --> 00:16:33,402 279 00:16:33,402 --> 00:16:34,610 En plekhouer = "Skryf hier". 280 00:16:34,610 --> 00:16:42,030 281 00:16:42,030 --> 00:16:43,480 Daar gaan ons. 282 00:16:43,480 --> 00:16:46,760 Ten slotte, ons gaan voeg 'n vinnige stuur knoppie. 283 00:16:46,760 --> 00:16:50,370 Type = "submit" class = "BTN btn-primêre". 284 00:16:50,370 --> 00:16:53,370 285 00:16:53,370 --> 00:16:55,340 So dit is al kenmerke van Skoenlus so 286 00:16:55,340 --> 00:16:58,510 dat dit gelê kan word in 'n manier wat 287 00:16:58,510 --> 00:17:03,730 prooi vir die gebruiker, eerder as blote HTML. 288 00:17:03,730 --> 00:17:06,250 >> Dus het ons die beheerder gedefinieer hier. 289 00:17:06,250 --> 00:17:08,930 Ons het gedefinieer 'n baie eenvoudige siening. 290 00:17:08,930 --> 00:17:12,339 Maar wat ontbreek is die bindweefsel. 291 00:17:12,339 --> 00:17:15,420 So op hierdie punt, Laravel het geen idee hoe 292 00:17:15,420 --> 00:17:18,312 ons gaan eintlik toegang tot hierdie kontroleerder. 293 00:17:18,312 --> 00:17:20,270 So is dit in 'n bepaalde lêer genaamd routes.php. 294 00:17:20,270 --> 00:17:22,780 295 00:17:22,780 --> 00:17:24,310 En nou, ons het een roete. 296 00:17:24,310 --> 00:17:29,060 Wat is wanneer ons gaan na die huis pad vir hierdie webwerf 297 00:17:29,060 --> 00:17:33,140 dit gaan lewer die indeks kontroleerder. 298 00:17:33,140 --> 00:17:38,880 So hier wat ons hoef te doen, is implementeer 'n nuwe roete vir ons 'n pos te skep. 299 00:17:38,880 --> 00:17:41,910 >> So ons gebruik hierdie metode kry, wat bepaal 300 00:17:41,910 --> 00:17:48,650 dat wanneer 'n gebruiker probeer om kry dit page-- spesifiek 301 00:17:48,650 --> 00:17:52,850 die post streep nuwe page-- wat ons gaan doen 302 00:17:52,850 --> 00:18:02,060 word gebruik om die kontroleerder genoem BlogController nuwe pos. 303 00:18:02,060 --> 00:18:03,460 Die een wat ons nou net gemaak. 304 00:18:03,460 --> 00:18:08,090 En dan gaan ons om dit te alias as newPost. 305 00:18:08,090 --> 00:18:17,460 306 00:18:17,460 --> 00:18:19,850 Ons gaan 'n ander te skep funksie in 'n bietjie. 307 00:18:19,850 --> 00:18:23,520 Maar wat is hier onder die sleutel "as" is wat 308 00:18:23,520 --> 00:18:28,195 ons kan binne vervang ons Blade templates. 309 00:18:28,195 --> 00:18:32,390 310 00:18:32,390 --> 00:18:36,230 So vir nou, laat ons eintlik ook sê roete. 311 00:18:36,230 --> 00:18:38,380 So ons gaan ook 'n kontroleerder te skep 312 00:18:38,380 --> 00:18:41,020 sodat ons hierdie poste kan skep. 313 00:18:41,020 --> 00:18:46,940 So as 'n gebruiker poste aan die bladsy post streep nuwe, wat ons gaan doen 314 00:18:46,940 --> 00:18:51,350 is gebruik 'n kontroleerder wat ons gaan binnekort skep 315 00:18:51,350 --> 00:18:56,160 genoem BlogController by createPost. 316 00:18:56,160 --> 00:19:01,929 En ons gaan alias dit met as createPost. 317 00:19:01,929 --> 00:19:03,380 Cool. 318 00:19:03,380 --> 00:19:05,811 >> Enige vrae? 319 00:19:05,811 --> 00:19:06,310 Cool. 320 00:19:06,310 --> 00:19:09,790 So laat loop wat ons tot dusver. 321 00:19:09,790 --> 00:19:16,930 So as ons dit doen php vakman dien, ons sal sien baie van die foute. 322 00:19:16,930 --> 00:19:20,385 So dit lyk soos ons 'n syntax error op roetes in lyn 27. 323 00:19:20,385 --> 00:19:20,885 Ag. 324 00:19:20,885 --> 00:19:21,718 Ontbreek 'n kommapunt. 325 00:19:21,718 --> 00:19:24,900 326 00:19:24,900 --> 00:19:32,870 So as ons na 8000, jy sal sien nog niks hier. 327 00:19:32,870 --> 00:19:34,740 So dit is die standaard tuisblad. 328 00:19:34,740 --> 00:19:37,730 >> Maar as ons gaan om te post streep nuwe, hey. 329 00:19:37,730 --> 00:19:40,425 Dit sal die vorm wat ons het net 'wees. 330 00:19:40,425 --> 00:19:42,550 Nou, ons het nie die funksie geïmplementeer 331 00:19:42,550 --> 00:19:44,060 wanneer ons op die Submit knoppie. 332 00:19:44,060 --> 00:19:47,110 So as ons kliek op die Submit knoppie, gaan dit 'n fout om te hardloop. 333 00:19:47,110 --> 00:19:49,840 Maar ons gaan kode wat nou, presies wat ons 334 00:19:49,840 --> 00:19:54,840 wil wanneer 'n gebruiker te doen dien hierdie vorm. 335 00:19:54,840 --> 00:19:55,770 >> So laat ons dit doen. 336 00:19:55,770 --> 00:19:57,380 Gaan terug na die Controllers lêer. 337 00:19:57,380 --> 00:20:00,180 Wat ons gaan doen, is om hierdie nuwe funksie implementeer 338 00:20:00,180 --> 00:20:04,360 wat ons toelaat om 'n pos te skep. 339 00:20:04,360 --> 00:20:07,370 340 00:20:07,370 --> 00:20:08,990 Verklaar nuwe funksie. 341 00:20:08,990 --> 00:20:11,527 Openbare funksie createPost. 342 00:20:11,527 --> 00:20:14,610 En om hierdie funksie gaan 'n te wees bietjie meer gesofistikeerd as wat 343 00:20:14,610 --> 00:20:15,559 ons het tevore. 344 00:20:15,559 --> 00:20:18,350 Maar jy sal hier te sien dat ons nie gaan eintlik enige SQL skryf. 345 00:20:18,350 --> 00:20:20,980 Die ORM, die ervare ORM, gaan toelaat 346 00:20:20,980 --> 00:20:26,400 ons om dit te doen in 'n paar maniere om 'n meer elegante manier. 347 00:20:26,400 --> 00:20:29,140 >> So ons gaan 'n nuwe pos te skep. 348 00:20:29,140 --> 00:20:34,120 En hier is ons instantiëren 'n nuwe voorwerp 349 00:20:34,120 --> 00:20:38,080 van die model wat ons het net geskep, die post-model. 350 00:20:38,080 --> 00:20:44,450 En wat ons gaan doen is ingestel op die titel kenmerk van hierdie gebruik van iets 351 00:20:44,450 --> 00:20:47,380 wat ons kry van die bediener. 352 00:20:47,380 --> 00:20:52,060 So, dit is soortgelyk aan wat ons het voor in CS50 Finansies 353 00:20:52,060 --> 00:20:57,750 waar ons sal doen, met behulp van die Super Global Post soek vir die titel. 354 00:20:57,750 --> 00:21:01,600 >> So Laravel bied 'n paar sanitasie en noem maar op die gebruik van hierdie helper funksie. 355 00:21:01,600 --> 00:21:07,610 So ons sou verkies om dit te gebruik in plaas van hierdie baie basiese rou vorm van PHP. 356 00:21:07,610 --> 00:21:17,430 En dan wat ons gaan doen is stel die inhoud daarvan te Input kry inhoud. 357 00:21:17,430 --> 00:21:20,429 358 00:21:20,429 --> 00:21:22,720 Ons is eintlik gaan om te draai dit in 'n nuttige funksie 359 00:21:22,720 --> 00:21:31,820 dat PHP verskaf genoem nl2br, wat draai nuwe lyne, NTD, in BRS, breek, 360 00:21:31,820 --> 00:21:35,822 sodat ons kan eintlik het verskillende paragrawe in dit. 361 00:21:35,822 --> 00:21:38,030 En uiteindelik wat ons gaan te doen, is om te red van hierdie post. 362 00:21:38,030 --> 00:21:41,686 So ons noem die funksie bespaar op hierdie model. 363 00:21:41,686 --> 00:21:43,800 Ons gaan die post te red. 364 00:21:43,800 --> 00:21:49,970 En uiteindelik wat ons gaan doen word herlei die gebruiker spesifiek 365 00:21:49,970 --> 00:21:55,060 die roete wat ons gaan skep kort, alias deur viewPost. 366 00:21:55,060 --> 00:22:00,435 En ons gaan in die argumente te slaag id, synde die id van die nuwe pos. 367 00:22:00,435 --> 00:22:04,280 368 00:22:04,280 --> 00:22:05,640 >> Groot. 369 00:22:05,640 --> 00:22:09,090 So nou as ons eintlik gaan en hardloop hierdie. 370 00:22:09,090 --> 00:22:11,370 Ons gaan 'n nuwe pos te voeg. 371 00:22:11,370 --> 00:22:15,930 Kom ons sê dit is seminaar 50. 372 00:22:15,930 --> 00:22:17,620 En sê, seker nie. 373 00:22:17,620 --> 00:22:18,240 ADSL. 374 00:22:18,240 --> 00:22:18,740 Wat ook al. 375 00:22:18,740 --> 00:22:20,320 'N soort van die inhoud. 376 00:22:20,320 --> 00:22:21,180 En stuur dit. 377 00:22:21,180 --> 00:22:23,850 En ons sal sien dat, hey. roetes nie gedefinieer nie. 378 00:22:23,850 --> 00:22:32,340 Maar as ons 'n blik op phpMyAdmin en kyk vir of ons funksie 379 00:22:32,340 --> 00:22:34,370 het nie. 380 00:22:34,370 --> 00:22:36,670 Kyk na Blog50 poste. 381 00:22:36,670 --> 00:22:37,720 Ons sal sien dat, hey. 382 00:22:37,720 --> 00:22:43,530 Trouens, ons het net 'dat die blog plaas met die tyd tempel soos gespesifiseer. 383 00:22:43,530 --> 00:22:46,600 384 00:22:46,600 --> 00:22:51,630 >> So nou, laat ons teruggaan en eintlik skep hierdie ander funksie in ons kontroleerder, 385 00:22:51,630 --> 00:22:54,790 spesifiek die viewPost kontroleerder. 386 00:22:54,790 --> 00:23:00,290 So openbare funksie viewPost. 387 00:23:00,290 --> 00:23:04,070 So hier wat ons sal doen, in plaas van 'n leë hakies, 388 00:23:04,070 --> 00:23:08,800 ons sal wil hê in die ID van te slaag die boodskap wat ons skep. 389 00:23:08,800 --> 00:23:12,800 En van hier wat ons gaan doen is eintlik navraag die databasis vir dit. 390 00:23:12,800 --> 00:23:15,140 >> So as ons nie post, daar is 'n funksie genoem 391 00:23:15,140 --> 00:23:18,860 Vind wat ons toelaat om dit te bevraagteken deur ID. 392 00:23:18,860 --> 00:23:22,110 Spesifiek, eintlik, ons gaan gebruik 'n alternatiewe weergawe van hierdie sogenaamde 393 00:23:22,110 --> 00:23:27,880 Vind of versuim, wat ons in staat stel om op te hou om uit van hierdie funksie, 394 00:23:27,880 --> 00:23:34,700 gooi 'n uitsondering as die ID ons verby in bestaan ​​nie. 395 00:23:34,700 --> 00:23:37,500 En dan gaan ons om iets te doen soortgelyk aan wat ons gedoen het vroeër 396 00:23:37,500 --> 00:23:41,100 waar ons die inhoud van hierdie bladsy te wees 397 00:23:41,100 --> 00:23:47,950 die gelewer weergawe van hierdie nuwe siening wat ons gaan skep, blog.view. 398 00:23:47,950 --> 00:23:51,030 >> En ons gaan om te slaag in it-- net soos in die CS50 lewer 399 00:23:51,030 --> 00:23:56,645 function-- 'n woordeboek van veranderlikes. 400 00:23:56,645 --> 00:23:59,860 401 00:23:59,860 --> 00:24:04,620 Die sleutels van hierdie assosiatiewe skikking geword veranderlikes binne die sjabloon. 402 00:24:04,620 --> 00:24:06,830 So ons gaan post post te doen. 403 00:24:06,830 --> 00:24:12,474 So slaag indirek die pos wat ons bevraagteken het van die databasis. . 404 00:24:12,474 --> 00:24:14,390 Nou wat ons gaan doen is om hierdie siening 405 00:24:14,390 --> 00:24:17,560 sodat ons kan eintlik sien die blog poste wat ons gebou het. 406 00:24:17,560 --> 00:24:20,280 >> So gaan ons 'n te skep lêer genaamd view.blade.php. 407 00:24:20,280 --> 00:24:25,870 408 00:24:25,870 --> 00:24:29,640 So binnekant van hierdie sjabloon, wat ons gaan doen 409 00:24:29,640 --> 00:24:39,700 is saam 'n eenvoudige bladsy kan ons die inhoud te vertoon. 410 00:24:39,700 --> 00:24:44,280 Sodat ons artikel doen, dit is voordat inhoud. 411 00:24:44,280 --> 00:24:46,800 Stop. 412 00:24:46,800 --> 00:24:53,920 En wat ons gaan om hier te doen binne is 413 00:24:53,920 --> 00:24:56,930 skryf 'n paar HTML hierdie bladsy te vertoon. 414 00:24:56,930 --> 00:25:03,590 >> So ons gaan om dit te draai met 'n spoggerige nuwe HTML5 element genoem artikel. 415 00:25:03,590 --> 00:25:05,790 En hier gaan ons 'n kop waar te hê 416 00:25:05,790 --> 00:25:12,190 ons gaan net 'n h1, Dit sluit die post titel. 417 00:25:12,190 --> 00:25:17,120 So hier, as ons kyk na hierdie dubbel krullerige brace notasie, 418 00:25:17,120 --> 00:25:21,690 hierdie sal hoofsaaklik doen PHP eggo post titel. 419 00:25:21,690 --> 00:25:25,630 So dit is 'n nuttige snelskrif dat Laravel bied ons. 420 00:25:25,630 --> 00:25:31,070 So ons gaan gebruik hierdie notasie plaas. 421 00:25:31,070 --> 00:25:40,220 >> En hier, gaan ons ook druk die inhoud van dit. 422 00:25:40,220 --> 00:25:43,480 En hier gaan ons post-inhoud te doen nie. 423 00:25:43,480 --> 00:25:46,514 424 00:25:46,514 --> 00:25:50,660 En af aan die onderkant wat ons is gaan doen, is die skep van 'n voet. 425 00:25:50,660 --> 00:25:57,690 En in die voet, gaan ons eerste vertoning wanneer dit was gepos. 426 00:25:57,690 --> 00:26:01,320 So dit was gepos op, geskep op. 427 00:26:01,320 --> 00:26:07,996 >> En Laravel gebruik 'n baie mooi datum biblioteek genoem koolstof. 428 00:26:07,996 --> 00:26:11,120 Sodat ons kan eintlik iets genoem doen difforHumans, wat jy vroeër gesien het. 429 00:26:11,120 --> 00:26:14,360 Wanneer ons gepos word. dit sal sê, soos, vyf sekondes gelede. 430 00:26:14,360 --> 00:26:16,860 So, dit is 'n baie mooi funksionaliteit van Laravel. 431 00:26:16,860 --> 00:26:19,469 432 00:26:19,469 --> 00:26:21,385 En uiteindelik, ons gaan hierdie footer te sluit. 433 00:26:21,385 --> 00:26:24,900 434 00:26:24,900 --> 00:26:31,450 >> So nou as ons gaan terug na Tuisblad ons gaan 435 00:26:31,450 --> 00:26:34,490 niks om te sien hier nog omdat ons het nie gekodeer die tuisblad. 436 00:26:34,490 --> 00:26:40,962 Maar as ons gaan slash een te plaas, ons gaan 'n uitsondering te sien. 437 00:26:40,962 --> 00:26:42,670 Is daar iemand wat weet hoekom sien ons 'n uitsondering? 438 00:26:42,670 --> 00:26:44,516 Wat is ons ontbreek? 439 00:26:44,516 --> 00:26:45,290 Enige idees? 440 00:26:45,290 --> 00:26:48,050 441 00:26:48,050 --> 00:26:49,790 So, wat het ons doen vroeër vir ons eintlik 442 00:26:49,790 --> 00:26:52,285 te bepaal hoe ons by veral beheerders? 443 00:26:52,285 --> 00:26:54,895 444 00:26:54,895 --> 00:26:55,770 >> Spreker 1: Die roete? 445 00:26:55,770 --> 00:26:56,519 ERIC OUYANG: Ja. 446 00:26:56,519 --> 00:26:58,070 So het ons nog die roete te definieer. 447 00:26:58,070 --> 00:26:59,794 So gaan ons terug hier om routes.php. 448 00:26:59,794 --> 00:27:01,710 Jy sal dat ons agterkom het nie eintlik gedefinieer 449 00:27:01,710 --> 00:27:05,010 hoe ons gaan kry hierdie kontroleerder. 450 00:27:05,010 --> 00:27:06,780 So nou gaan ons hierdie roete te definieer. 451 00:27:06,780 --> 00:27:09,280 Dit is redelik eenvoudig, soortgelyk aan wat ons gedoen het vroeër. 452 00:27:09,280 --> 00:27:13,910 Maar wat gaan ons hier sien, is dat ons gaan 'n plekhouer te hê. 453 00:27:13,910 --> 00:27:18,730 >> So as ons dit doen route.get streep post ID. 454 00:27:18,730 --> 00:27:24,290 So ID is nou wat gaan word nie in die beheerder geslaag. 455 00:27:24,290 --> 00:27:27,820 Dit gaan die gebruik kontroleerder dat ons net 456 00:27:27,820 --> 00:27:33,560 geskep, BlogController by viewPost. 457 00:27:33,560 --> 00:27:36,420 En ons gaan alias dit as viewPost. 458 00:27:36,420 --> 00:27:46,544 459 00:27:46,544 --> 00:27:47,490 Groot. 460 00:27:47,490 --> 00:27:49,470 So nou gaan ons hierdie roete te skep. 461 00:27:49,470 --> 00:27:52,100 >> So nou as ons hier gaan en die bladsy herstel, 462 00:27:52,100 --> 00:27:54,410 ons in werklikheid nie het ons nuwe blog post. 463 00:27:54,410 --> 00:27:57,710 So dit is wat ons vroeër geskep het. 464 00:27:57,710 --> 00:28:01,320 Baie eenvoudige bladsy, maar vertoon die blog post dat ons net geskep word. 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 En as ons eintlik gaan deur die hele proses van die skep van 'n nuwe blog post, 468 00:28:08,880 --> 00:28:11,700 ons sal alles sien aansture behoorlik. 469 00:28:11,700 --> 00:28:12,950 As ek sê: "Hi. 470 00:28:12,950 --> 00:28:15,710 Ek is Jonathan Tan. " 471 00:28:15,710 --> 00:28:18,550 Sê, "Dit is my blog post." 472 00:28:18,550 --> 00:28:22,830 En stuur dit, dit sal skep hierdie nuwe blog post met ID 2, 473 00:28:22,830 --> 00:28:28,920 wat inkremente van wat ons gehad het voorheen en vertoon dit behoorlik. 474 00:28:28,920 --> 00:28:30,760 Awesome. 475 00:28:30,760 --> 00:28:32,930 >> Enige vrae? 476 00:28:32,930 --> 00:28:33,430 Ja? 477 00:28:33,430 --> 00:28:36,537 >> Spreker 2: Is Laravel handvatsel sanitization en alles vir jou? 478 00:28:36,537 --> 00:28:37,245 ERIC OUYANG: Ja. 479 00:28:37,245 --> 00:28:42,990 So wanneer ons vroeër gesien het toe ons het insette kolon kolon kry, 480 00:28:42,990 --> 00:28:47,720 dat sanitates enige SQL inspuitings en noem maar op 481 00:28:47,720 --> 00:28:51,660 dat ons dalk wil presteer as ons is 'n kwaadwillige gebruiker van die webwerf. 482 00:28:51,660 --> 00:28:54,115 So Laravel hanteer 'n baie van daardie agter die skerms. 483 00:28:54,115 --> 00:28:57,030 Goeie vraag. 484 00:28:57,030 --> 00:29:00,390 >> So kom ons neem 'n blik op die tuisblad. 485 00:29:00,390 --> 00:29:03,220 486 00:29:03,220 --> 00:29:06,790 So as ons eerste terug te gaan na die beheerder vir die tuisblad, 487 00:29:06,790 --> 00:29:08,740 jy sal sien dat dit dit nie doen nie veel hier. 488 00:29:08,740 --> 00:29:11,620 Jy sal sien dat ons nie verby in hierdie kontroleerder 489 00:29:11,620 --> 00:29:13,830 enigiets veral nuttig. 490 00:29:13,830 --> 00:29:16,660 Dis net hierdie indeks lêer. 491 00:29:16,660 --> 00:29:18,770 >> So laat slaag in dit iets nuttig. 492 00:29:18,770 --> 00:29:21,450 En spesifiek, ons is gaan in poste te slaag. 493 00:29:21,450 --> 00:29:28,740 En Laravel ons toelaat pos aan al doen, wat 494 00:29:28,740 --> 00:29:30,625 sal ons toelaat om al die poste te kry. 495 00:29:30,625 --> 00:29:33,160 496 00:29:33,160 --> 00:29:35,730 Nou as ons gaan terug na index.php, sal jy sien, hey. 497 00:29:35,730 --> 00:29:37,060 Nog niks hier. 498 00:29:37,060 --> 00:29:41,290 Maar wat ons hier wil doen is eintlik Itereer deur, 499 00:29:41,290 --> 00:29:46,420 doen 'n foreach lus oor die poste wat laat ons uit te druk die poste. 500 00:29:46,420 --> 00:29:53,180 >> So foreach poste as pos, wat ons wil doen, 501 00:29:53,180 --> 00:29:57,252 is die druk van die inhoud van die blog post. 502 00:29:57,252 --> 00:30:00,210 Maar een ding wat jy sal sien, is dat ons eintlik die meeste van daardie kode geskryf 503 00:30:00,210 --> 00:30:01,370 reeds in view.blade.php. 504 00:30:01,370 --> 00:30:04,070 505 00:30:04,070 --> 00:30:08,640 So, wat gaan ons eintlik doen, is om gebruik om 'n mooi nuttige funksie van Blade 506 00:30:08,640 --> 00:30:11,300 en faktor uit hierdie algemene kode. 507 00:30:11,300 --> 00:30:12,570 So het ons hier gaan. 508 00:30:12,570 --> 00:30:16,210 >> Ons gaan hierdie inhoud te neem reg hier, en wat ons gaan doen 509 00:30:16,210 --> 00:30:18,170 is 'n nuwe gids. 510 00:30:18,170 --> 00:30:20,364 Kom ons noem dit net alen. 511 00:30:20,364 --> 00:30:22,530 En hier gaan ons 'n post.blade.php te skep. 512 00:30:22,530 --> 00:30:26,570 513 00:30:26,570 --> 00:30:33,100 So hier het ons gefaktoriseer uit die pad in wat ons wil hê dat hierdie poste te vertoon. 514 00:30:33,100 --> 00:30:38,690 En hier wat ons sal doen in plaas van eintlik gesien dat HTML direk, 515 00:30:38,690 --> 00:30:41,530 Ons gaan hierdie richtlijn te gebruik genoem sluit blog.partials.post. 516 00:30:41,530 --> 00:30:45,210 517 00:30:45,210 --> 00:30:50,635 >> En wat ons gaan om hier te doen is verby in die pos van die bladsy. 518 00:30:50,635 --> 00:30:57,076 519 00:30:57,076 --> 00:31:01,050 So nou as ons gaan terug hier, ons sal sien dat die funksie is nog steeds 520 00:31:01,050 --> 00:31:01,550 dieselfde. 521 00:31:01,550 --> 00:31:05,140 Maar nou het ons hierdie ingereken uit kode, hierdie HTML. 522 00:31:05,140 --> 00:31:07,070 Sodat ons dit kan gebruik in indeks. 523 00:31:07,070 --> 00:31:09,090 So hier, dit is baie eenvoudig. 524 00:31:09,090 --> 00:31:17,870 Al wat ons doen is, sluit blog.partials.post en skikking. 525 00:31:17,870 --> 00:31:20,845 En iewers te voor, doen ons post post. 526 00:31:20,845 --> 00:31:23,830 527 00:31:23,830 --> 00:31:28,182 >> So nou as ons gaan terug na die tuisblad, sal ons sien dat hey. 528 00:31:28,182 --> 00:31:30,515 Ons het 'n lys van al die blog boodskappe wat ons gehad het voordat. 529 00:31:30,515 --> 00:31:34,640 530 00:31:34,640 --> 00:31:37,700 Ons wil dalk 'n bietjie "as" voorwaardes en "anders" voorwaardes 531 00:31:37,700 --> 00:31:39,979 sodat as ons nie enigiets op die blog, 532 00:31:39,979 --> 00:31:41,520 ons wil iets nuttig te vertoon. 533 00:31:41,520 --> 00:31:42,570 Soos, hey. 534 00:31:42,570 --> 00:31:44,340 Daar is geen inhoud nog nie op die blog. 535 00:31:44,340 --> 00:31:47,670 En as jy ouens eintlik kyk na die verspreiding kode op GitHub, 536 00:31:47,670 --> 00:31:50,100 jy sal 'n voorbeeld van hoe ons dit doen sien. 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 Enige vrae? 540 00:31:54,890 --> 00:31:55,510 Ja. 541 00:31:55,510 --> 00:31:57,468 >> Spreker 2: Ek dink net 'n fundamentele vraag. 542 00:31:57,468 --> 00:31:59,480 Terug by die roete. 543 00:31:59,480 --> 00:32:00,230 ERIC OUYANG: Ja. 544 00:32:00,230 --> 00:32:01,935 As ons 'n blik op roetes. 545 00:32:01,935 --> 00:32:06,018 >> Spreker 2: Waar kom die uses.blogcontroller skep by post, 546 00:32:06,018 --> 00:32:07,560 wat beteken dat die direkte ons? 547 00:32:07,560 --> 00:32:08,310 ERIC OUYANG: Ja. 548 00:32:08,310 --> 00:32:08,550 Ja. 549 00:32:08,550 --> 00:32:09,716 >> Spreker 2: Of wat is that-- 550 00:32:09,716 --> 00:32:12,620 ERIC OUYANG: So, neem 'n blik, sê byvoorbeeld, hierdie roete reg hier. 551 00:32:12,620 --> 00:32:17,190 Die eerste deel is die werklike URL dat die gebruiker gaan na. 552 00:32:17,190 --> 00:32:19,930 En dit array hier, assosiatiewe skikking, definieer 553 00:32:19,930 --> 00:32:24,520 hoe ons wil hê dat die te hê aansoek te tree in reaksie daarop. 554 00:32:24,520 --> 00:32:29,090 So gebruik die kontroles, die funksie wat ons 555 00:32:29,090 --> 00:32:31,610 wil wanneer 'n te roep gebruiker gaan na hierdie URL. 556 00:32:31,610 --> 00:32:35,190 So viewPost hier was 'n funksie wat ons gedefinieer binnekant 557 00:32:35,190 --> 00:32:36,100 van BlogController-- 558 00:32:36,100 --> 00:32:37,160 >> Spreker 2: Ek sien. 559 00:32:37,160 --> 00:32:39,368 >> ERIC OUYANG: --so dat ons kan eintlik maak 'n oog, 560 00:32:39,368 --> 00:32:42,590 het 'n paar berekeninge, interaksie met die SQL databasis. 561 00:32:42,590 --> 00:32:43,560 >> Spreker 2: OK. 562 00:32:43,560 --> 00:32:46,960 >> ERIC OUYANG: En dan die ander deel, "as" is 'n alias wat ons gebruik. 563 00:32:46,960 --> 00:32:50,714 So as ons sien wanneer ons geskep om die vorm, 564 00:32:50,714 --> 00:32:52,380 jy dat URL sien :: routecreatePost. 565 00:32:52,380 --> 00:32:55,000 566 00:32:55,000 --> 00:32:58,330 So is dit vervang in die werklike URL sodat ons nie hard 567 00:32:58,330 --> 00:33:02,940 kodering hierdie in so kan ons dit verander een keer, sê as ons wou verander. 568 00:33:02,940 --> 00:33:06,055 In plaas van na slash nuwe, ons wil te doen soos, p 569 00:33:06,055 --> 00:33:09,490 streep nuwe net om skoon te maak up ons URLs 'n bietjie. 570 00:33:09,490 --> 00:33:14,740 Ons sal dit verander in een plek eerder as oor al die verskillende lêers. 571 00:33:14,740 --> 00:33:15,451 >> Cool. 572 00:33:15,451 --> 00:33:15,950 Dit is goed. 573 00:33:15,950 --> 00:33:20,070 So nou het ons 'n baie basiese blog platform. 574 00:33:20,070 --> 00:33:24,260 Ons wil seker te voeg in 'n knoppie so dat ons eintlik kan skep nuwe poste. 575 00:33:24,260 --> 00:33:27,850 So as ons neem 'n blik by die uitleg Meester, 576 00:33:27,850 --> 00:33:31,280 ons het 'n artikel genoem Selected Right dat ons het net gedefinieer by die top. 577 00:33:31,280 --> 00:33:34,820 So kan ons knoppies by te voeg die top van die kop. 578 00:33:34,820 --> 00:33:43,950 >> So as ons na index.blade.php, eintlik doen is definieer wat gaan binne-in hier. 579 00:33:43,950 --> 00:33:46,970 So hierdie Selected Right artikel, wat ons gaan doen 580 00:33:46,970 --> 00:33:55,240 is voeg in 'n knoppie om te gaan na die URL gedefinieer deur die roete nuwe pos. 581 00:33:55,240 --> 00:33:58,270 582 00:33:58,270 --> 00:34:01,660 Net om dit skoon te maak en maak dit mooi en al Skoenlus, 583 00:34:01,660 --> 00:34:04,630 ons gaan maak dit 'n standaard-knoppie. 584 00:34:04,630 --> 00:34:07,794 Kom ons maak dit net groot vir die pret. 585 00:34:07,794 --> 00:34:09,969 >> En binne-in, kan ons 'n paar teks sit. 586 00:34:09,969 --> 00:34:14,030 Maar wat Skoenlus bied is glyphicons. 587 00:34:14,030 --> 00:34:17,840 So kan ons eintlik voeg in daardie mooi potlood wat ons vroeër gesien het. 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-potlood. 591 00:34:22,489 --> 00:34:25,449 592 00:34:25,449 --> 00:34:35,340 So dit sal toelaat om ons te sit in 'n ikoon in plaas van die teks. 593 00:34:35,340 --> 00:34:38,960 Nou as ons nie ophou nie, dit sal hierdie afdeling definieer. 594 00:34:38,960 --> 00:34:39,460 En, hey. 595 00:34:39,460 --> 00:34:45,000 Ons het 'n mooi knoppie wat ons skakels direk aan die voeg 'n blog post bladsy. 596 00:34:45,000 --> 00:34:46,659 >> So ons het 'n redelik eenvoudige blog. 597 00:34:46,659 --> 00:34:49,710 Ons kan dinge toe te voeg. 598 00:34:49,710 --> 00:34:53,650 Maar wat ons in die algemeen verwag van blogs is kommentaar. 599 00:34:53,650 --> 00:34:57,340 So dit is baie belangrik vir ons te hê, sê, as iemand anders besoek 'n webwerf 600 00:34:57,340 --> 00:35:00,620 en regtig hou van die boodskap wat hulle kan betrokke raak in gesprek 601 00:35:00,620 --> 00:35:03,100 met ander mense wat die bladsy besoek. 602 00:35:03,100 --> 00:35:07,050 So ons gaan om te gaan en die skep van 'n nuwe databasis tafel en 'n nuwe model 603 00:35:07,050 --> 00:35:12,220 sodat ons kan assosieer kommentaar met poste. 604 00:35:12,220 --> 00:35:17,370 >> Dus is die eerste stap, net soos voorheen, is dat ons 'n migrasie uit te voer. 605 00:35:17,370 --> 00:35:21,982 Dus, net soos voorheen, ons doen php vakman migreer: maak. 606 00:35:21,982 --> 00:35:24,440 En ons gaan een te skep genoem create_comments_table. 607 00:35:24,440 --> 00:35:29,520 608 00:35:29,520 --> 00:35:36,080 Dit sal 'n lêer te skep wat ons nuwe migrasie. 609 00:35:36,080 --> 00:35:40,170 En ons gaan, soos voor, definieer 'n nuwe tabel. 610 00:35:40,170 --> 00:35:42,773 So skedule :: 'n tabel genaamd kommentaar. 611 00:35:42,773 --> 00:35:47,410 612 00:35:47,410 --> 00:35:48,430 Hierdie funksie hier. 613 00:35:48,430 --> 00:35:51,620 En binne hierdie tabel wat ons gaan doen, is die eerste, 614 00:35:51,620 --> 00:35:54,260 soos voorheen, toewys 'n ID. 615 00:35:54,260 --> 00:35:56,552 Inkremente ID. 616 00:35:56,552 --> 00:36:05,440 >> Ons gaan toelaat om te assosieer hul naam met 'n spesifieke kommentaar. 617 00:36:05,440 --> 00:36:10,080 Ons gaan 'n paar inhoud te hê wat gaan saam met hierdie, teks inhoud. 618 00:36:10,080 --> 00:36:13,580 619 00:36:13,580 --> 00:36:15,910 En hier wat ons gaan doen, is iets anders. 620 00:36:15,910 --> 00:36:23,620 Ons gaan 'n heelgetal te skep Dit is genoem post_id wat 621 00:36:23,620 --> 00:36:32,100 gaan om aan te dui watter post 'n bepaalde kommentaar gaan met. 622 00:36:32,100 --> 00:36:35,410 >> Daarbenewens het ons eintlik gaan om stel 'n vreemde sleutel beperking op hierdie. 623 00:36:35,410 --> 00:36:37,750 So MySQL sal dwing nie. 624 00:36:37,750 --> 00:36:39,840 Ons is nie probeer om te toewys kommentaar aantal 625 00:36:39,840 --> 00:36:44,440 5 te plaas 5000 as ons nie het 5000 poste op dit. 626 00:36:44,440 --> 00:36:50,240 So wat ons hier doen, ons doen buitelandse post_id 627 00:36:50,240 --> 00:37:02,046 gaan geassosieer word met die ID-veld van die tafel poste. 628 00:37:02,046 --> 00:37:05,900 En ons sal eintlik iets te doen anders nuttig, is onDelete. 629 00:37:05,900 --> 00:37:11,180 >> So as ons verwyder sommige plaas van die databasis, 630 00:37:11,180 --> 00:37:15,507 dat ons wil hê dat die te wentel verwyder vir kommentaar as well. 631 00:37:15,507 --> 00:37:18,090 Want dit is nie baie nuttig vir ons kommentaar op poste te hê 632 00:37:18,090 --> 00:37:19,900 wat nie bestaan ​​nie. 633 00:37:19,900 --> 00:37:23,764 En uiteindelik, soos voorheen, ons is gaan tyd seëls te stel op hierdie. 634 00:37:23,764 --> 00:37:28,690 635 00:37:28,690 --> 00:37:33,510 En soos voorheen, gaan ons die omgekeerde migrasie wees 636 00:37:33,510 --> 00:37:37,920 weglating van die kommentaar tafel. 637 00:37:37,920 --> 00:37:40,070 >> So nou as ons gaan terug hier gaan ons 638 00:37:40,070 --> 00:37:43,110 hierdie migrasie, vakman migreer om te hardloop. 639 00:37:43,110 --> 00:37:46,400 En nou is dit toegepas hierdie migrasie dat ons net gemaak. 640 00:37:46,400 --> 00:37:50,080 So as ons 'n blik op phpMyAdmin, ons doen, in werklikheid, nou 641 00:37:50,080 --> 00:37:53,210 'n kommentaar tabel met die struktuur wat ons het net gespesifiseerde. 642 00:37:53,210 --> 00:37:56,900 643 00:37:56,900 --> 00:37:59,610 Dus, net soos voor, ons is gaan 'n nuwe model te skep 644 00:37:59,610 --> 00:38:04,450 abstrakte die SQL tafel dat ons nou net gemaak het. 645 00:38:04,450 --> 00:38:05,450 >> So laat Voeg 'n nuwe lêer. 646 00:38:05,450 --> 00:38:06,908 Ons gaan om dit te noem comment.php. 647 00:38:06,908 --> 00:38:10,160 648 00:38:10,160 --> 00:38:15,490 En dit is eintlik gaan redelik wees eenvoudig met 'n effense verandering 649 00:38:15,490 --> 00:38:17,520 van wat ons voorheen gehad het. 650 00:38:17,520 --> 00:38:22,790 So klas Kommentaar strek Eloquent. 651 00:38:22,790 --> 00:38:25,930 En wat ons gaan om hier te doen is definieer 652 00:38:25,930 --> 00:38:31,360 'n funksie wat is die verhouding met ander modelle. 653 00:38:31,360 --> 00:38:39,250 So ons gaan 'n post-funksie te hê hier dat die opbrengste van hierdie verhouding. 654 00:38:39,250 --> 00:38:43,330 So ons spesifiseer dat dit behoort te plaas, 655 00:38:43,330 --> 00:38:49,200 sê dat daar 'n boodskap dat hierdie kommentaar behoort. 656 00:38:49,200 --> 00:38:53,917 >> Dit het eintlik te wees kapitaal P vir die model. 657 00:38:53,917 --> 00:38:56,500 En nou net op die ander flip kant, ons het om te sê dat, hey. 658 00:38:56,500 --> 00:38:58,160 Poste kommentaar. 659 00:38:58,160 --> 00:39:03,030 So wat ons gaan doen, is om openbare funksie kommentaar definieer. 660 00:39:03,030 --> 00:39:07,100 661 00:39:07,100 --> 00:39:13,620 En hier is terug dit het baie Kommentaar. 662 00:39:13,620 --> 00:39:16,630 663 00:39:16,630 --> 00:39:22,010 So nou mettertyd wanneer ons 'n pos, ons kan kry die kenmerk kommentaar 664 00:39:22,010 --> 00:39:25,615 en dit sal dit vul met die inligting uit die databasis. 665 00:39:25,615 --> 00:39:32,950 666 00:39:32,950 --> 00:39:38,220 >> So laat ons eintlik gaan deur en voeg 'n nuwe funksie aan ons siening lêer 667 00:39:38,220 --> 00:39:43,600 sodat ons kan beide vertoning en die skep van kommentaar. 668 00:39:43,600 --> 00:39:54,010 669 00:39:54,010 --> 00:39:56,865 So ons gaan 'n nuwe artikel te definieer. 670 00:39:56,865 --> 00:39:59,890 Laat ons net skei dit met 'n horisontale reël. 671 00:39:59,890 --> 00:40:04,065 Artikel id = "kommentaar". 672 00:40:04,065 --> 00:40:06,990 Wat ons gaan doen Hier is, soos tevore, 673 00:40:06,990 --> 00:40:09,880 Itereer deur al die kommentaar. 674 00:40:09,880 --> 00:40:12,960 So eintlik hoe ons dit doen, is, soos ek genoem het, redelik magies. 675 00:40:12,960 --> 00:40:14,440 >> Ons doen post kommentaar. 676 00:40:14,440 --> 00:40:17,410 677 00:40:17,410 --> 00:40:22,710 En dan kan ons dit vir elkeen van ons lus oor elk van die kommentaar. 678 00:40:22,710 --> 00:40:25,740 En wat ons gaan doen is div class kommentaar, 679 00:40:25,740 --> 00:40:29,240 en ons gaan eintlik druk hierdie kommentaar. 680 00:40:29,240 --> 00:40:34,150 So toon dat hey, kommentaar name-- die persoon 681 00:40:34,150 --> 00:40:38,080 wat gepos hierdie comment-- sê dot dot dot. 682 00:40:38,080 --> 00:40:41,240 Ons gaan dit in 'n blok te sit quote, net om te maak dat dit lyk nice. 683 00:40:41,240 --> 00:40:46,470 En dan kommentaar lewer inhoud blok aanhaling. 684 00:40:46,470 --> 00:40:49,790 685 00:40:49,790 --> 00:40:50,892 En foreach. 686 00:40:50,892 --> 00:40:53,100 So nou is dit gaan lus deur al die kommentaar 687 00:40:53,100 --> 00:40:56,500 wat geassosieer word met elk van die poste 688 00:40:56,500 --> 00:41:00,960 en vertoon elk van die kommentaar. 689 00:41:00,960 --> 00:41:05,120 Ek gaan 'n ander artikel af te voeg hier, wat ons toelaat om 'n kommentaar by te voeg. 690 00:41:05,120 --> 00:41:07,400 So h3 klas. 691 00:41:07,400 --> 00:41:09,580 Sit 'n titel hier. 692 00:41:09,580 --> 00:41:10,934 Voeg 'n kommentaar. 693 00:41:10,934 --> 00:41:13,886 694 00:41:13,886 --> 00:41:15,700 En ons gaan 'n nuwe vorm te definieer. 695 00:41:15,700 --> 00:41:18,730 >> Dus, net soos voor, ons is gaan vorm om aksie te doen. 696 00:41:18,730 --> 00:41:22,740 En hier is die nuwe aksie is ons gaan 'n nuwe kontroleerder te definieer wat 697 00:41:22,740 --> 00:41:26,770 ons toelaat om te reageer op plaas versoeke vir die skep van kommentaar. 698 00:41:26,770 --> 00:41:33,365 So URL :: roete createComment. 699 00:41:33,365 --> 00:41:37,730 Ek gaan om te slaag in die parameter hier. 700 00:41:37,730 --> 00:41:40,380 Die ID van die pos wat ons is die skep kommentaar op. 701 00:41:40,380 --> 00:41:45,340 702 00:41:45,340 --> 00:41:50,280 En dan is die metode van hierdie vorm gaan pos wees. 703 00:41:50,280 --> 00:41:57,240 >> Nou gaan ons by te voeg in 'n twee velde, vorm groep. 704 00:41:57,240 --> 00:42:04,670 Dit gaan 'n inset aan die wees noem "naam" en class = "vorm-beheer", 705 00:42:04,670 --> 00:42:14,250 type = "text", en met die plekhouer = "Jou naam." 706 00:42:14,250 --> 00:42:19,380 Ons gaan ook te definieer 'n ander vorm veld, wat 707 00:42:19,380 --> 00:42:22,970 gaan 'n teks te wees gebied soos ons voorheen gehad het. 708 00:42:22,970 --> 00:42:25,480 Net soos voorheen, noem dit inhoud. 709 00:42:25,480 --> 00:42:31,160 Class = "vorm-beheer." 710 00:42:31,160 --> 00:42:41,660 Plekhouer = "Skryf hier." 711 00:42:41,660 --> 00:42:44,100 >> En net so dat ons kan eintlik stuur dit, 712 00:42:44,100 --> 00:42:55,740 dien tipe en klas = "BTN btn-primêre." 713 00:42:55,740 --> 00:42:57,005 Maak die vorm. 714 00:42:57,005 --> 00:42:59,010 Sluit hierdie aksie. 715 00:42:59,010 --> 00:43:06,580 So nou as ons die bladsy herstel, waar ons het, sê, 'n bepaalde pos. 716 00:43:06,580 --> 00:43:10,310 Ons het die bediener te herlaai. 717 00:43:10,310 --> 00:43:12,340 PHP vakman dien. 718 00:43:12,340 --> 00:43:15,630 719 00:43:15,630 --> 00:43:18,334 Herlaai hierdie. 720 00:43:18,334 --> 00:43:19,500 Ons het die roete te definieer. 721 00:43:19,500 --> 00:43:25,090 Maar vir nou, laat ons net neem hierdie uit sodat ons kan jy eintlik wys 722 00:43:25,090 --> 00:43:28,750 wat die bladsy lyk, en dan ons sal eintlik skep dat die roete. 723 00:43:28,750 --> 00:43:29,250 So, hey. 724 00:43:29,250 --> 00:43:37,080 Ons het hierdie nuwe vorm hier sodat ons kan kommentaar skep. 725 00:43:37,080 --> 00:43:39,950 So laat ons eintlik definieer 'n funksie binne die beheerder 726 00:43:39,950 --> 00:43:43,020 sodat ons kommentaar kan byvoeg. 727 00:43:43,020 --> 00:43:43,650 Kom ons gaan terug. 728 00:43:43,650 --> 00:43:48,420 En binne blogcontroller.php, wat ons gaan doen 729 00:43:48,420 --> 00:43:51,620 is 'n nuwe funksie genoem skep kommentaar. 730 00:43:51,620 --> 00:43:54,220 731 00:43:54,220 --> 00:43:57,040 >> Openbare funksie createComment. 732 00:43:57,040 --> 00:44:00,130 Dit gaan 'n enkele te hê parameter, die ID van die poste 733 00:44:00,130 --> 00:44:02,280 dat ons kommentaar op. 734 00:44:02,280 --> 00:44:04,790 En soos voorheen, ons is gaan eers die post. 735 00:44:04,790 --> 00:44:10,790 So plaas, findOrfail id. 736 00:44:10,790 --> 00:44:15,020 Daarna gaan ons 'n nuwe kommentaar te skep. 737 00:44:15,020 --> 00:44:18,880 So kommentaar = kommentaar. 738 00:44:18,880 --> 00:44:26,820 Kommentaar name = Input :: kry naam. 739 00:44:26,820 --> 00:44:39,420 Kommentaar inhoud = dieselfde nuwe lyn in breek van die insette :: kry inhoud. 740 00:44:39,420 --> 00:44:43,460 >> En ten slotte, ons gaan te hê assosieer hierdie kommentaar met die post. 741 00:44:43,460 --> 00:44:47,230 So ons gaan gebruik hierdie funksie, kommentaar, 742 00:44:47,230 --> 00:44:50,260 wat dit moontlik maak om ons te red hierdie verhouding. 743 00:44:50,260 --> 00:44:54,780 So nou hierdie kommentaar sal outomaties die post ID. 744 00:44:54,780 --> 00:44:57,640 Ons kan ook dit hand, maar dit is 745 00:44:57,640 --> 00:45:02,490 meer maklik om so ver gelees as die funksie gaan. 746 00:45:02,490 --> 00:45:05,860 En nadat ons voer hierdie, wat ons wil doen, 747 00:45:05,860 --> 00:45:10,840 is herlei die gebruiker na die roete wat deur viewPost 748 00:45:10,840 --> 00:45:16,010 met die skikking met die parameter van die post ID. 749 00:45:16,010 --> 00:45:20,360 750 00:45:20,360 --> 00:45:24,660 >> En nou so dat dit eintlik funksies, wat ons nodig het om hierdie roete te definieer. 751 00:45:24,660 --> 00:45:27,126 Route :: post. 752 00:45:27,126 --> 00:45:32,800 En nou is ons gaan om dit te noem post streep ID slash kommentaar. 753 00:45:32,800 --> 00:45:36,725 Array gebruik die nuwe funksie dat ons nou net gemaak het. 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 as createComment. 757 00:45:44,770 --> 00:45:47,430 758 00:45:47,430 --> 00:45:50,120 Groot. 759 00:45:50,120 --> 00:45:56,150 >> So nou hopelik as ons hierdie bladsy te verfris en voeg in 'n kommentaar, sê, David Malan. 760 00:45:56,150 --> 00:46:00,630 761 00:46:00,630 --> 00:46:03,920 "Hopelik sal dit werk." 762 00:46:03,920 --> 00:46:05,216 Dien. 763 00:46:05,216 --> 00:46:09,050 Ons, in werklikheid, het nie 'n kommentaar te lewer op hierdie blog post. 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 So nou het ons 'n redelik funksionele blog post. 768 00:46:21,430 --> 00:46:23,180 Ons is net gaan om te voeg 'n paar tweaks so 769 00:46:23,180 --> 00:46:29,090 dat ons het 'n paar meer nuttig inligting oor hierdie poste. 770 00:46:29,090 --> 00:46:32,780 >> So as ons gaan terug na die voorblad, ons het geen sin 771 00:46:32,780 --> 00:46:38,790 hoeveel kommentaar op elk van hierdie poste. 772 00:46:38,790 --> 00:46:41,340 So, wat ons eintlik gaan te doen, is om in ons model, 773 00:46:41,340 --> 00:46:51,250 'n helper funksie wat toelaat definieer ons die aantal kommentaar te spesifiseer 774 00:46:51,250 --> 00:46:53,020 wat saam met 'n spesifieke pos. 775 00:46:53,020 --> 00:46:56,050 So ons gaan skep 'n helper funksie. 776 00:46:56,050 --> 00:46:58,020 >> Openbare funksie. 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 So 'n string wat spesifiseer die aantal van kommentaar wat saam met dit gaan. 780 00:47:07,180 --> 00:47:12,850 En wat ons gaan doen, is om te sê dat num = dit kommentaar tel. 781 00:47:12,850 --> 00:47:15,150 So ons gaan om te tel die aantal kommentaar. 782 00:47:15,150 --> 00:47:22,900 En as hierdie nommer gelyk 1, ons is net gaan 1 kommentaar om terug te keer. 783 00:47:22,900 --> 00:47:28,890 En dan anders, ons wil om terug te keer die aaneenskakeling van NUM en kommentaar, 784 00:47:28,890 --> 00:47:31,890 so kry ons die pluralisering korrek is. 785 00:47:31,890 --> 00:47:33,380 Maak net hierdie 'n enkele aanhaling. 786 00:47:33,380 --> 00:47:36,040 787 00:47:36,040 --> 00:47:37,640 Een kommentaar. 788 00:47:37,640 --> 00:47:41,140 >> En nou kan ons hierdie funksie gebruik direk binnekant van ons siening. 789 00:47:41,140 --> 00:47:44,510 So as ons gaan terug na die gedeeltelike poste wat ons geskep het, 790 00:47:44,510 --> 00:47:49,370 Nou wil ons eintlik vertoon die aantal kommentaar. 791 00:47:49,370 --> 00:47:52,660 So wat ons kan doen is om post, gebruik hierdie funksie 792 00:47:52,660 --> 00:47:57,230 dat ons net geskep om vertoon die aantal kommentaar. 793 00:47:57,230 --> 00:48:00,440 So as ons nou verfris, dit nie, in werklikheid, vertoon 794 00:48:00,440 --> 00:48:02,240 die aantal kommentaar wat saam met dit gaan. 795 00:48:02,240 --> 00:48:05,320 >> As ons wou fancy as jy wees eintlik kyk na die verspreiding kode, 796 00:48:05,320 --> 00:48:07,800 ons kan eintlik skakel dit aan die kommentaar. 797 00:48:07,800 --> 00:48:17,040 As jy onthou, het ons gedefinieer binne die sien dat dit het artikel ID kommentaar. 798 00:48:17,040 --> 00:48:22,460 So as ons wou eintlik om te skakel direk aan die kommentaar afdeling, wat 799 00:48:22,460 --> 00:48:36,000 sou ons hier doen, is om 'n href URL van die roete viewPost. 800 00:48:36,000 --> 00:48:40,550 Slaag in die skikking ID van post ID. 801 00:48:40,550 --> 00:48:46,140 En dan wil ons om te gaan na spesifiek die kommentaar afdeling. 802 00:48:46,140 --> 00:48:49,900 >> Hier laat ons sluit die A tag. 803 00:48:49,900 --> 00:48:52,950 So nou as ons verfris hierdie bladsy, ons kliek op hierdie. 804 00:48:52,950 --> 00:48:54,700 Ons sal direk na die kommentaar afdeling. 805 00:48:54,700 --> 00:48:57,580 As ons 'n langer post, kan jy eintlik sien hierdie weiering af. 806 00:48:57,580 --> 00:49:02,668 Maar jy sal sien dat dit nie aan die bokant van die bladsy. 807 00:49:02,668 --> 00:49:04,090 Cool. 808 00:49:04,090 --> 00:49:04,600 Groot. 809 00:49:04,600 --> 00:49:08,582 So dit is 'n redelik eenvoudige voorbeeld van iets eenvoudig 810 00:49:08,582 --> 00:49:09,790 wat jy kan doen met Laravel. 811 00:49:09,790 --> 00:49:13,230 >> Maar jy kan hier agterkom dat ons het 'n baie van die dinge wat gedoen 812 00:49:13,230 --> 00:49:16,200 met redelik min bedrag van die kode. 813 00:49:16,200 --> 00:49:19,420 Laravel ons toelaat om die te doen SQL navrae agter die skerms. 814 00:49:19,420 --> 00:49:21,960 Dit doen die sanitasie vir ons agter die skerms. 815 00:49:21,960 --> 00:49:25,940 Laat ons hierdie verhoudings te doen baie maklik sonder dat ons nodig 816 00:49:25,940 --> 00:49:33,350 enige SQL te doen sluit state kombineer kommentaar met wat die poste. 817 00:49:33,350 --> 00:49:36,480 Laat ons dit te doen erfenis van templates 818 00:49:36,480 --> 00:49:43,780 sodat ons kan hierdie nes definieer lêers sodat ons nie ons te herhaal, 819 00:49:43,780 --> 00:49:47,020 net soos wanneer ons gehad het dat vertoning van die blog 820 00:49:47,020 --> 00:49:50,770 dat ons nie hoef te kopieer en plak die kode. 821 00:49:50,770 --> 00:49:55,450 >> En van hier af kan bou toenemend ingewikkelde programme. 822 00:49:55,450 --> 00:49:58,370 Jy kan dink as ons wou implementeer log-in, 823 00:49:58,370 --> 00:50:05,532 ons kon sê, bring in 'n derde party raamwerk wat ons in staat stel om dit te doen. 824 00:50:05,532 --> 00:50:07,490 Daar is 'n klomp van hulle wat regtig, regtig 825 00:50:07,490 --> 00:50:09,970 groot dat kan doen soos, wagwoord herstel. 826 00:50:09,970 --> 00:50:14,450 En dit sal jy 'n stuur Herstel wagwoord e-pos. 827 00:50:14,450 --> 00:50:18,260 Ons kan toestemming implementeer sodat ek kan 'n post skep, 828 00:50:18,260 --> 00:50:20,350 maar iemand anders kan dit nie redigeer nie. 829 00:50:20,350 --> 00:50:24,610 Ons kan implementeer funksionaliteit poste te verwyder. 830 00:50:24,610 --> 00:50:28,160 >> Maar jy kan hier sien dat ons mooi much al die basiese komponente 831 00:50:28,160 --> 00:50:31,640 sommige te bou regtig, regtig, dinamiese en opwindende web apps. 832 00:50:31,640 --> 00:50:34,035 So met dit, ek dink ons ​​is goed. 833 00:50:34,035 --> 00:50:35,720 Moenie julle enige vrae? 834 00:50:35,720 --> 00:50:36,220 Ja? 835 00:50:36,220 --> 00:50:38,090 >> SPREKER 3: Hoe doen jy kry statiese inhoud? 836 00:50:38,090 --> 00:50:39,256 >> ERIC OUYANG: Statiese inhoud. 837 00:50:39,256 --> 00:50:45,520 So jy sien voordat dat wanneer ons moes hierdie reg hier, hierdie uitleg inhoud, 838 00:50:45,520 --> 00:50:49,625 oog make, ons het hierdie Sonder hierdie verskeidenheid daarna. 839 00:50:49,625 --> 00:50:56,440 840 00:50:56,440 --> 00:50:59,152 Blog.index, ons het hierdie as net 'n statiese lêer. 841 00:50:59,152 --> 00:51:00,860 So as ons nie slaag nie enigiets saam aan dit, 842 00:51:00,860 --> 00:51:03,340 dit sal net maak die HTML direk. 843 00:51:03,340 --> 00:51:09,240 Maar as ons slaag in hierdie assosiatiewe verskeidenheid van poste, wat is dinamies 844 00:51:09,240 --> 00:51:12,950 getrek uit die databasis, ons kan die bladsy dinamies. 845 00:51:12,950 --> 00:51:13,450 Cool. 846 00:51:13,450 --> 00:51:14,830 Enige ander vrae? 847 00:51:14,830 --> 00:51:16,786 848 00:51:16,786 --> 00:51:19,720 SPREKER 3: Hoe sou jy vergelyk Laravel om dalk 'n paar ander opsies? 849 00:51:19,720 --> 00:51:20,525 ERIC OUYANG: Natuurlik. 850 00:51:20,525 --> 00:51:21,025 Ja. 851 00:51:21,025 --> 00:51:23,430 So Laravel is-- dit is 'n groot question-- 852 00:51:23,430 --> 00:51:26,190 een van baie opsies vir die web raamwerke. 853 00:51:26,190 --> 00:51:31,160 So Ruby on Rails is een wat gewild is. 854 00:51:31,160 --> 00:51:34,590 Ek glo Twitter gebruik om te wees geïmplementeer met Ruby on Rails. 855 00:51:34,590 --> 00:51:37,600 Ek dink hulle het sedert aangeskakel. 856 00:51:37,600 --> 00:51:40,780 Daar is 'n ander een wat geroep is FuelPHP. 857 00:51:40,780 --> 00:51:46,120 >> So Ruby on Rails gebruik die Ruby taal en implementeer 'n groot deel van die MVC dinge 858 00:51:46,120 --> 00:51:48,200 dat ons hier te sien. 859 00:51:48,200 --> 00:51:52,320 FuelPHP is 'n ander PHP raamwerk. 860 00:51:52,320 --> 00:51:54,490 Django is een van my gunstelinge. 861 00:51:54,490 --> 00:51:57,010 Dit is 'n web raamwerk vir Python. 862 00:51:57,010 --> 00:52:01,270 So kan jy jou web app in Python skryf. 863 00:52:01,270 --> 00:52:03,760 So is daar 'n ton van die opsies. 864 00:52:03,760 --> 00:52:06,170 >> Laravel, dink ek, deur en groot is my gunsteling reg 865 00:52:06,170 --> 00:52:08,232 nou vir PHP net omdat van die komponente 866 00:52:08,232 --> 00:52:09,440 dat ons gepraat oor vroeër. 867 00:52:09,440 --> 00:52:11,910 Dit se Komponis aangeskakel. 868 00:52:11,910 --> 00:52:15,750 Dit sluit in 'n baie, baie ekspressiewe ORM stelsel. 869 00:52:15,750 --> 00:52:18,800 Ook het 'n awesome template taal wat sommige van die ander 870 00:52:18,800 --> 00:52:20,630 net voorsien nie. 871 00:52:20,630 --> 00:52:21,400 En migrasies. 872 00:52:21,400 --> 00:52:23,432 Migrasies is awesome so goed. 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 Wel, dankie vir kyk na hierdie seminaar, 876 00:52:27,560 --> 00:52:30,650 en voorspoed op jou finale projekte. 877 00:52:30,650 --> 00:52:31,616