1 00:00:00,000 --> 00:00:02,538 >> [MUZIKO Ludante] 2 00:00:02,538 --> 00:00:10,800 3 00:00:10,800 --> 00:00:12,390 >> ERIC Ouyang: Hej, ĉiuj. 4 00:00:12,390 --> 00:00:13,580 Bonvenon. 5 00:00:13,580 --> 00:00:16,860 Jen Konstruaĵo Dinamika Retejo Apps kun Laravel. 6 00:00:16,860 --> 00:00:18,290 Mia nomo estas Eric Ouyang. 7 00:00:18,290 --> 00:00:23,860 Mi estas sophomore studanta socian studoj kun malĉefa en komputiko, 8 00:00:23,860 --> 00:00:27,290 kaj mi loĝas en Adams Domo tie en Harvard. 9 00:00:27,290 --> 00:00:33,340 >> Do Laravel, ĉe ĝia plej kerna, Estas MVC ttt app kadro. 10 00:00:33,340 --> 00:00:38,265 Do ŝatas kion vi uloj havas estis farante kun CS50 Financoj, 11 00:00:38,265 --> 00:00:42,480 Laravel estas kadro kiu permesas vi konstrui dinamikajn retejo apps. 12 00:00:42,480 --> 00:00:47,710 Do vi povas pensi pri ĝi en iuj sensoj kiel etendo de la tipo de ŝtofo 13 00:00:47,710 --> 00:00:50,470 vi estis faranta en CS50 Financoj, sed sistemo kiu estas 14 00:00:50,470 --> 00:00:55,890 multe pli fortikaj, multon pli elegantaj en iuj sensoj, 15 00:00:55,890 --> 00:00:57,870 kaj havigas multan funcionalidad por vi 16 00:00:57,870 --> 00:01:03,060 konstrui sufiĉe kompleksa aplikoj retejo. 17 00:01:03,060 --> 00:01:05,010 Do ni iru tra iu el la ŝlosilaj karakterizaĵoj, 18 00:01:05,010 --> 00:01:09,550 kaj tiam ni plonĝi enen ekzemple konstrui blogo 19 00:01:09,550 --> 00:01:12,500 apliko kun Laravel. 20 00:01:12,500 --> 00:01:16,700 >> Do unu el la unuaj aĵoj kiujn diferencigas ĝin de MVC tipo de laboro 21 00:01:16,700 --> 00:01:22,100 ke vi estis faranta kun CS50 Estas ĝi inkludas ORM motoro. 22 00:01:22,100 --> 00:01:27,410 Do ORM staras por objekto rilata surĵeto. 23 00:01:27,410 --> 00:01:31,080 Do tiu permesas konstrui tavolon de abstraktado 24 00:01:31,080 --> 00:01:35,230 inter la datumbazo kaj via controladores. 25 00:01:35,230 --> 00:01:39,150 Do kontraste en CS50 Financoj kie vi rekte fari konsultojn, 26 00:01:39,150 --> 00:01:44,790 la ORM mantelo permesas abstrakta ke for kaj krei 27 00:01:44,790 --> 00:01:48,085 modelojn, kiuj estas pli potencaj ol vi povas rekte kun SQL pridemandojn. 28 00:01:48,085 --> 00:01:50,590 29 00:01:50,590 --> 00:01:53,510 >> Alia aĵo kiu vere helpema estas inheritable ŝablonoj. 30 00:01:53,510 --> 00:01:58,990 Do vi rimarkos en CS50 Financoj, vi finas reescribir multon, 31 00:01:58,990 --> 00:02:03,150 kie lokigas vi povus potenciale reutilizar aĵoj, vi ne povas. 32 00:02:03,150 --> 00:02:08,539 Do jen en Laravel, vi povas uzi kio estas konata kiel la folio ŝablono motoro 33 00:02:08,539 --> 00:02:10,530 krei mastron aranĝo. 34 00:02:10,530 --> 00:02:15,840 Kaj de tie, vi povas heredi tiel ke la sub-ŝablonoj povas reale 35 00:02:15,840 --> 00:02:21,210 inkluzivas elementojn ene ke granda bazo ŝablono. 36 00:02:21,210 --> 00:02:21,810 >> Migrado. 37 00:02:21,810 --> 00:02:29,010 Do ĉi tiu estas sufiĉe normo karakterizaĵoj sur plej moderna apliko retejo kadrojn. 38 00:02:29,010 --> 00:02:32,710 Do tiu permesas reprezenti datumbaza skemo ŝanĝoj en kodo. 39 00:02:32,710 --> 00:02:39,200 Do sen intencis diri, phpMyAdmin, vi povas fakte krei tiujn migradojn 40 00:02:39,200 --> 00:02:44,660 kie reprezentas la datumbazo skemo ŝanĝas en kodo rekte. 41 00:02:44,660 --> 00:02:48,070 Kaj tiu permesas to-- speciale se vi havas plurajn homoj laboras 42 00:02:48,070 --> 00:02:52,650 en la sama retejo application-- spuri tiujn ŝanĝojn, 43 00:02:52,650 --> 00:02:55,380 diri en GitHub, aŭ alian deponejon. 44 00:02:55,380 --> 00:03:00,880 >> Do tio vere helpema kaj mildigas la bezonon 45 00:03:00,880 --> 00:03:04,580 al, ni diru, pasas ĉirkaŭ multan SQL renversas. 46 00:03:04,580 --> 00:03:07,140 Kaj fine, Komponisto estas iu vere, vere utila 47 00:03:07,140 --> 00:03:09,840 kiu permesas uzi aliajn popola kodo fari awesome aferojn. 48 00:03:09,840 --> 00:03:14,020 Do Laravel la strukturitaj kiel pluraj komponisto pakoj. 49 00:03:14,020 --> 00:03:17,870 Do diru, se vi volis alporti en aŭtentikigado pako 50 00:03:17,870 --> 00:03:23,440 aŭ se vi volis alporti en iuj ia generatoro skripto aŭ administranto 51 00:03:23,440 --> 00:03:26,910 interfaco, vi povas ŝtopi kaj ludi tiuj komponantoj kun komponisto. 52 00:03:26,910 --> 00:03:30,470 53 00:03:30,470 --> 00:03:31,570 >> Do ni komencu. 54 00:03:31,570 --> 00:03:35,185 Demandojn de vi infanoj antaŭ ni komencu? 55 00:03:35,185 --> 00:03:36,500 Neniu demandojn? 56 00:03:36,500 --> 00:03:37,490 Cool. 57 00:03:37,490 --> 00:03:39,990 Do la unua paŝo estas instalanta Komponisto. 58 00:03:39,990 --> 00:03:43,590 Do Komponisto vi permesas administri tiujn dependecojn, 59 00:03:43,590 --> 00:03:47,770 ĉu ĝi estas la Laravel kadro aŭ alian tria etendo. 60 00:03:47,770 --> 00:03:50,400 La unua komando permesas elŝuti Komponisto, 61 00:03:50,400 --> 00:03:55,890 kaj la dua komando permesas movi ĝin en via loka bin dosierujon 62 00:03:55,890 --> 00:04:01,340 por ke vi povu kuri Komponisto rekte tra la terminalo. 63 00:04:01,340 --> 00:04:05,405 >> Post tio, bonvolu krei novajn Laravel projekto. 64 00:04:05,405 --> 00:04:07,280 Ni efektive tuj uzi iun ekzemplon kodo 65 00:04:07,280 --> 00:04:10,760 ke mi kunmetis krei ĉi blogo. 66 00:04:10,760 --> 00:04:14,420 Sed se vi ekde nulo, vi devus uzi ĉi komando 67 00:04:14,420 --> 00:04:18,160 ĝis tie, komponisto krei-projekto, laravel slash laravel, kaj tiam 68 00:04:18,160 --> 00:04:19,940 la nomo de via projekto. 69 00:04:19,940 --> 00:04:22,275 Kaj kiu inkludos ĉiuj dissendo kodo 70 00:04:22,275 --> 00:04:23,733 por komenci novan Laravel projekto. 71 00:04:23,733 --> 00:04:28,870 Do por via CS50 fina projektoj, vi probable volas uzi tiun komandon. 72 00:04:28,870 --> 00:04:31,210 >> Sed ni tuj komencu per tiu. 73 00:04:31,210 --> 00:04:34,630 Do iam vi faris ke, vi estas iranta akiri 74 00:04:34,630 --> 00:04:40,190 sufiĉe vasta nombro de dosieroj en blog50. 75 00:04:40,190 --> 00:04:43,840 Do ni nur iri tra iuj de ĉi tiuj komponantoj. 76 00:04:43,840 --> 00:04:49,060 Vi rimarkos ĉe tiu itinero dosierujo, tie estas app dosierujo. 77 00:04:49,060 --> 00:04:52,960 Interne la app dosierujo, ekzistas paro helpema dosierujoj. 78 00:04:52,960 --> 00:04:56,330 De noto komenci kun Estas ĉi config dosierujo. 79 00:04:56,330 --> 00:04:59,210 Do tiu establas kiom via apliko retejo estas 80 00:04:59,210 --> 00:05:04,350 tuj, diru, autenticar homoj aŭ kontanta aĵoj aŭ konektiĝi al la datumbazo. 81 00:05:04,350 --> 00:05:06,400 >> Kaj kio estas vere helpema estas ke Laravel 82 00:05:06,400 --> 00:05:09,130 ebligas al vi agordi malsamajn disvolviĝo medioj. 83 00:05:09,130 --> 00:05:12,090 Do kion ni faris ĉi tie estas se ni iru sub la lokan dosierujon, 84 00:05:12,090 --> 00:05:14,720 tie estas database.php dosiero. 85 00:05:14,720 --> 00:05:18,320 Kaj vi rimarkos tie ke ni starigi MySQL ligo kiu 86 00:05:18,320 --> 00:05:22,230 permesas individuoj konekti al la MySQL servilo tio 87 00:05:22,230 --> 00:05:24,310 rekte sur la CS50 aparaton. 88 00:05:24,310 --> 00:05:26,980 Kaj ni konektante al datumbazo ke mi starigis nomita Blog50. 89 00:05:26,980 --> 00:05:31,390 90 00:05:31,390 --> 00:05:37,085 >> Do ni vere iru antaŭen kaj kuri la laborista versio de tiu, 91 00:05:37,085 --> 00:05:39,710 nur por akiri senton de kio la apliko kiu ni konstruado 92 00:05:39,710 --> 00:05:41,390 aspektas. 93 00:05:41,390 --> 00:05:46,150 Do mi havas ekzempleron de ĉi Blog50 kompletigita. 94 00:05:46,150 --> 00:05:51,910 Do Laravel reale konstruigis en servilo 95 00:05:51,910 --> 00:05:53,910 ke vi povas kuri rekte el la komandlinio. 96 00:05:53,910 --> 00:05:56,900 Do ĉi tiu estas simila al la PSet antaŭ kiam vi vere 97 00:05:56,900 --> 00:06:00,580 konstrui vian propran servilon en C. Do ili oni konstruis en tiel 98 00:06:00,580 --> 00:06:04,010 ke vi povas kuri vian Laravel apps rekte de la komandlinio. 99 00:06:04,010 --> 00:06:11,650 >> Do se ni faros php metiista servi, tiu ĵetos disvolviĝo servilo 100 00:06:11,650 --> 00:06:13,880 sur haveno 8000. 101 00:06:13,880 --> 00:06:18,250 Do se ni iros al loka gastiganto 8.000, vi rimarkos ke, hey. 102 00:06:18,250 --> 00:06:20,800 Ni havas nian blogon supren kaj kurante. 103 00:06:20,800 --> 00:06:25,090 Do Laravel tie iras generante la frontpaĝo de nia blogo. 104 00:06:25,090 --> 00:06:26,350 Tre simpla apliko. 105 00:06:26,350 --> 00:06:28,610 Sed estas paro vere nifty karakterizaĵoj 106 00:06:28,610 --> 00:06:31,346 kiu havigas sub la kapuĉo. 107 00:06:31,346 --> 00:06:33,680 >> Do la blogo aplikaĵo simpla. 108 00:06:33,680 --> 00:06:36,430 Se ni volis krei post, ni povas klaki sur tiu butono. 109 00:06:36,430 --> 00:06:40,470 Ni povas diri, "Hey, ĉiuj. 110 00:06:40,470 --> 00:06:44,530 Tiu estas vere amuza seminario, "ekzemple. 111 00:06:44,530 --> 00:06:46,560 Kaj skribu ion malsupren tie. 112 00:06:46,560 --> 00:06:48,180 Teksto ĉi tie. 113 00:06:48,180 --> 00:06:51,327 Se ni alklaku Submit, vi rimarki ke nia nova blogo 114 00:06:51,327 --> 00:06:53,410 poŝto aldoniĝis al la frontpaĝo de la blogo. 115 00:06:53,410 --> 00:06:56,532 116 00:06:56,532 --> 00:06:59,970 Se ni superas ĉi tie, vi rimarkos, ke estis iuj komentoj jam 117 00:06:59,970 --> 00:07:01,160 en la blog. 118 00:07:01,160 --> 00:07:03,630 Do se ni rulumu malsupren, vi rimarkos ke Jonatan Tan diras 119 00:07:03,630 --> 00:07:08,020 ke li estis tre interesita pri tiu post. 120 00:07:08,020 --> 00:07:11,570 >> Do ni iru en kiom objekto rilata surĵeto permesas 121 00:07:11,570 --> 00:07:16,668 vi fari ĉi tiujn rilatojn en sufiĉe senjunta maniero ankaŭ. 122 00:07:16,668 --> 00:07:17,660 Cool. 123 00:07:17,660 --> 00:07:20,290 Demandojn pri funcionalidad de kion ni iras konstrui? 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 Do ni komencu evi reale kreante la datumbazo tabloj. 127 00:07:28,170 --> 00:07:33,190 >> Do memoru, ke en CS50 Financoj, vi kunmeti tablon por la uzantoj 128 00:07:33,190 --> 00:07:37,100 tiel kiel por la akcioj en via biletujo. 129 00:07:37,100 --> 00:07:41,040 Do kiel ni menciis antaŭe, kion ni uzas en Laravel 130 00:07:41,040 --> 00:07:43,090 Estas io konata kiel migradoj. 131 00:07:43,090 --> 00:07:48,570 Do se ni reiros al la dissendo kodo tie, 132 00:07:48,570 --> 00:07:51,790 la unua comando kiu estas helpema ke Laravel provizas vin 133 00:07:51,790 --> 00:07:54,240 Estas ĉi enmigri komando. 134 00:07:54,240 --> 00:07:59,220 Do ni povas fari php metiista enmigri: fari. 135 00:07:59,220 --> 00:08:01,760 Do ĉi tio nin permesas krei migrado. 136 00:08:01,760 --> 00:08:03,710 >> Kaj poste ni volas krei migrado 137 00:08:03,710 --> 00:08:07,050 nomata create_posts_table, kiu iras 138 00:08:07,050 --> 00:08:11,521 esti kie ni tuj esti stokante niaj posts. 139 00:08:11,521 --> 00:08:14,690 Kaj vi rimarkos tie rulas tra iu kodo kiu vere 140 00:08:14,690 --> 00:08:17,580 generas arkivon kun tempo poŝtmarkon sur ĝi. 141 00:08:17,580 --> 00:08:22,260 Do se ni iros rigardi Database, ni rimarkos sub Migradoj 142 00:08:22,260 --> 00:08:24,830 ke ĝi estas kreinta malplenan dosieron por ni kiuj 143 00:08:24,830 --> 00:08:30,100 havas kutimaĵo kodo kun la nomo ke ni specifita, krei afiŝojn tablo. 144 00:08:30,100 --> 00:08:31,670 >> Kaj ĝi havas du funkciojn en ĝi. 145 00:08:31,670 --> 00:08:40,539 Supren estas kion ni volas kuri kiam la migrado estas aplikita al la datumaro. 146 00:08:40,539 --> 00:08:46,380 Kaj malsupren estas kion ni tuj faros kiam ni volas inversigi migradon. 147 00:08:46,380 --> 00:08:49,890 Do jen ni komencu eliri kun skribado tiun migradon. 148 00:08:49,890 --> 00:08:55,480 Do tie estas helpema klaso en Laravel nomita skemo. 149 00:08:55,480 --> 00:08:57,910 >> Do ni tuj kuri skemo :: krei. 150 00:08:57,910 --> 00:09:01,080 Kaj ni iras al krei tablo nomita afiŝojn. 151 00:09:01,080 --> 00:09:05,980 Kaj tie ni aplikas ĉi uzante funkcio. 152 00:09:05,980 --> 00:09:11,010 Kaj ene tie, ni iras al reale specifi la enhavon de nia tablo. 153 00:09:11,010 --> 00:09:14,860 Ni intencas krei IRU, kio estas auto-pliigante. 154 00:09:14,860 --> 00:09:19,850 155 00:09:19,850 --> 00:09:24,350 >> Krome, ni iras krei kampon kiu 156 00:09:24,350 --> 00:09:27,060 reprezentas la titolo de nia blog. 157 00:09:27,060 --> 00:09:29,880 158 00:09:29,880 --> 00:09:36,950 Ni ankaŭ iras por krei kampo por stoki la teksto de nia blog. 159 00:09:36,950 --> 00:09:40,600 Kaj fine, ni iras stoki iujn timestamps 160 00:09:40,600 --> 00:09:44,690 cxar kiam nia poŝto estis kreita kaj kiam estis ĝisdatigita. 161 00:09:44,690 --> 00:09:46,240 Kaj por sube, estas sufiĉe simpla. 162 00:09:46,240 --> 00:09:53,974 Ĉiuj ni volas fari estas guto la tablon, ke ni kreis. 163 00:09:53,974 --> 00:09:54,930 >> Granda. 164 00:09:54,930 --> 00:09:55,850 Ajna demandoj? 165 00:09:55,850 --> 00:09:59,730 166 00:09:59,730 --> 00:10:07,110 Do nun, se ni sekvas antaŭeniras kaj- fakte, lokaj gastiganto, 167 00:10:07,110 --> 00:10:09,640 lasu min forigi kion ni havis antaŭe. 168 00:10:09,640 --> 00:10:14,330 169 00:10:14,330 --> 00:10:15,190 Iru al datumbazoj. 170 00:10:15,190 --> 00:10:17,640 Mi iras al viŝi kion ni havis antaŭe. 171 00:10:17,640 --> 00:10:22,870 Drop tiu kaj krei nova datumbazo Blog50. 172 00:10:22,870 --> 00:10:24,930 Do nun kion la magia parto estas tie ke ni 173 00:10:24,930 --> 00:10:28,760 povas apliki tiujn migradojn rekte al la datumbazo uzante la komandlinio 174 00:10:28,760 --> 00:10:29,290 ilo. 175 00:10:29,290 --> 00:10:35,100 Do se ni faros php metiista migras, vi rimarkos ke, hey. 176 00:10:35,100 --> 00:10:38,320 Ĝi estas kreita la migrado tablo kiun ni prenos rigardi en iom, 177 00:10:38,320 --> 00:10:40,540 kaj ĝi estas aplikita tiu unua migrado. 178 00:10:40,540 --> 00:10:43,860 179 00:10:43,860 --> 00:10:48,920 >> Do ni rigardu Blog50, vi rimarkos ke ĝi estas kreita du tabloj por ni. 180 00:10:48,920 --> 00:10:50,300 Unue estas tiu migradojn tablo. 181 00:10:50,300 --> 00:10:54,130 Do se ni foliumi tiu, vi rimarkos ke ĉi tablo estas sufiĉe simpla. 182 00:10:54,130 --> 00:10:55,490 Ĝi simple diras ke, hey. 183 00:10:55,490 --> 00:10:58,960 Ni aplikis tiun migradon. 184 00:10:58,960 --> 00:11:01,470 Ni reiru kaj rigardu afiŝojn. 185 00:11:01,470 --> 00:11:05,720 Vi rimarkos ke la strukturo Estas ĝuste kion ni demandis ŝin. 186 00:11:05,720 --> 00:11:07,350 Ni havas aŭtomatan pliigante ID. 187 00:11:07,350 --> 00:11:10,450 Ni havas ĉenon por stokante la titolo, kaj teksto kampo 188 00:11:10,450 --> 00:11:11,450 por stoki la enhavo. 189 00:11:11,450 --> 00:11:14,040 190 00:11:14,040 --> 00:11:14,706 Granda. 191 00:11:14,706 --> 00:11:15,560 Cool. 192 00:11:15,560 --> 00:11:21,626 Demandojn pri migradoj laboro, kiel ni povas utiligi ilin? 193 00:11:21,626 --> 00:11:22,126 Neniu? 194 00:11:22,126 --> 00:11:23,600 Cool. 195 00:11:23,600 --> 00:11:26,630 Do nun ni tuj iros antaŭen kaj fakte krei la modelon. 196 00:11:26,630 --> 00:11:33,100 Do ni volas krei afiŝojn modelo kiu stokas abstraktaĵo de la datumbazo. 197 00:11:33,100 --> 00:11:41,040 Do anstataŭ faranta MySQL pridemandojn rekte, ni iras al krei. 198 00:11:41,040 --> 00:11:45,840 Do ni devas krei dosierujo en tie nomitaj modeloj. 199 00:11:45,840 --> 00:11:48,905 Kaj ene tie, ni iras al krei dosieron nomita post.php. 200 00:11:48,905 --> 00:11:52,280 201 00:11:52,280 --> 00:11:54,550 >> Ene tiu PHP-dosiero, ni iras al krei 202 00:11:54,550 --> 00:12:00,590 klaso post kiu etendas elokventa. 203 00:12:00,590 --> 00:12:08,950 Elokventa estas la nomo de la ORM motoro kiu Laravel havigas. 204 00:12:08,950 --> 00:12:12,799 Kaj en tie, ni povus atendi ke vi vere bezonas skribi iom da kodo. 205 00:12:12,799 --> 00:12:14,840 Ni intencas skribi kelkajn helpanto funkcioj poste. 206 00:12:14,840 --> 00:12:19,420 Sed ekstere de la skatolo, tio jam rekoni kio estas en la datumbazo 207 00:12:19,420 --> 00:12:24,770 kaj ni povas konsenti, te la teksto de nia blog aŭ la titolo, 208 00:12:24,770 --> 00:12:29,230 kaj krei stuff rekte kun preskaux neniu kodo ajn. 209 00:12:29,230 --> 00:12:31,110 >> Do jen unu el la magiaj komponantoj. 210 00:12:31,110 --> 00:12:34,980 Kaj vento fojo tiu klaso estas pli plene disvolviĝinta, 211 00:12:34,980 --> 00:12:40,480 ni devos inkluzivi informojn pri kio ĝi estas rilataj al, do la komentoj. 212 00:12:40,480 --> 00:12:42,310 Ankaŭ krei funkcio do ni povas reale 213 00:12:42,310 --> 00:12:46,340 rekte ricevi la adreson de la blog paĝo. 214 00:12:46,340 --> 00:12:46,840 Cool. 215 00:12:46,840 --> 00:12:47,881 Demandojn pri tio? 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 >> Do nun unufoje ni havas nia modelo, ni deziras krei controlador tio 220 00:12:57,860 --> 00:13:02,340 povis interfaco kun tiuj modeloj, kaj poste la datumbazo. 221 00:13:02,340 --> 00:13:05,540 Do se ni rigardu BlogController, vi 222 00:13:05,540 --> 00:13:08,490 rimarkos ke estas ne multe tie ĝuste nun. 223 00:13:08,490 --> 00:13:13,220 Ĉio estas estas indico funkcio kiu generas la ĉefpaĝon, 224 00:13:13,220 --> 00:13:18,220 sed sen nenio tie por montri ankoraŭ. 225 00:13:18,220 --> 00:13:20,560 >> Do la unua funkcio ke ni iras al krei 226 00:13:20,560 --> 00:13:25,790 estas unu kiu permesas al ni krei bloga poŝto. 227 00:13:25,790 --> 00:13:30,540 Do ni iras por deklari nova funkcio nomita newPost. 228 00:13:30,540 --> 00:13:36,430 Kaj ene tie simple, ni iras agordi la aranĝon de la paĝo 229 00:13:36,430 --> 00:13:41,850 esti redonu versio, se vi memoras el CS50, 230 00:13:41,850 --> 00:13:48,020 de tiu ŝablono nomita blog.new, kiu ni iras al krei en iomete. 231 00:13:48,020 --> 00:13:53,170 >> Vi rimarkos ĉi tie sur linio ses kiu ni specifita tiu variablo, aranĝo. 232 00:13:53,170 --> 00:13:55,820 Kaj se ni tuj iri ĉe la Vidoj dosierujon, 233 00:13:55,820 --> 00:14:01,640 estas layouts dosierujo, kiuj inkluzivas tre bazan HTML dosiero. 234 00:14:01,640 --> 00:14:04,680 Kaj de noto, vi rimarkos ke ni havas ĉi ujo 235 00:14:04,680 --> 00:14:06,800 tie ke rendimenta enhavo. 236 00:14:06,800 --> 00:14:09,460 Do ene de nia ŝablono kion ni faros 237 00:14:09,460 --> 00:14:16,180 estas krei kio tuj estos anstataŭigita rekte ene ĉi aranĝo. 238 00:14:16,180 --> 00:14:20,060 >> Do ni diris ke ni volas repagi ŝablono nomita blog.new. 239 00:14:20,060 --> 00:14:23,790 Sed ene de Blogo, estas ankoraŭ ne ĉi tiu nova ŝablono. 240 00:14:23,790 --> 00:14:26,910 Do ni iras por krei dosiero nomata new.blade.php. 241 00:14:26,910 --> 00:14:29,860 Ĉi tiu diras Laravel ke ĉi PHP dosiero devus 242 00:14:29,860 --> 00:14:31,720 reproduktebla kun la klingo ŝablono motoro. 243 00:14:31,720 --> 00:14:39,510 244 00:14:39,510 --> 00:14:42,630 Do ĉi tiu estas sufiĉe simpla dosiero. 245 00:14:42,630 --> 00:14:46,690 Ĝi tuj estos la formo por kiu ni efektive aldonu en la blog. 246 00:14:46,690 --> 00:14:49,220 >> Do la magio tien el la heredaĵo estas kiu, hej. 247 00:14:49,220 --> 00:14:52,950 Ni volas specifi ke la sekcio, la enhavo sekcio 248 00:14:52,950 --> 00:14:56,640 tie, kio estas delineado persection kajstop. 249 00:14:56,640 --> 00:15:02,260 Do kio estas en inter tien tuj esti anstataŭigita en la mastra aranĝo. 250 00:15:02,260 --> 00:15:07,000 Kaj tie kion ni volas fari estas tre simple krei novan HTML dosiero. 251 00:15:07,000 --> 00:15:08,690 Ni nur aldonu rapidan titolon. 252 00:15:08,690 --> 00:15:09,600 Aldoni bloga poŝto. 253 00:15:09,600 --> 00:15:12,110 254 00:15:12,110 --> 00:15:15,390 Kaj en ĝi, ni estas tuj kreos formo. 255 00:15:15,390 --> 00:15:19,197 >> Tiu formo tuj havos agon. 256 00:15:19,197 --> 00:15:21,780 Kaj tiu tuj estos io ke ni anstataŭigi en postaj, 257 00:15:21,780 --> 00:15:24,200 kaj ni vidos kiel enrutamiento persvadas en ĉi tie. 258 00:15:24,200 --> 00:15:33,600 Sed ni ĵus tuj difinos por nun ke tio iras al URL kun la itinero 259 00:15:33,600 --> 00:15:34,860 el createPost. 260 00:15:34,860 --> 00:15:38,200 261 00:15:38,200 --> 00:15:40,320 Kaj tiam tiu tuj havi metodo post. 262 00:15:40,320 --> 00:15:43,940 263 00:15:43,940 --> 00:15:47,590 Ene tie, ni iras havi du kampoj. 264 00:15:47,590 --> 00:15:49,170 Div class = "formo-grupo". 265 00:15:49,170 --> 00:15:55,806 >> Ni uzas la Bootstrap CSS biblioteko afable havigita de Twitter. 266 00:15:55,806 --> 00:15:57,720 Do ni iras por krei du el tiuj. 267 00:15:57,720 --> 00:16:01,700 268 00:16:01,700 --> 00:16:05,970 Do tiu unua eniro estas tuj estos la titolo. 269 00:16:05,970 --> 00:16:08,437 Do input nomo = "titolo". 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 Tipo = "teksto". 273 00:16:14,425 --> 00:16:16,050 Mi tuj aldonos lokokupilon = "Titolo". 274 00:16:16,050 --> 00:16:21,570 275 00:16:21,570 --> 00:16:26,140 >> Kaj tiam la dua unu estas tuj estos tekstkampon. 276 00:16:26,140 --> 00:16:27,827 Nomo = "enhavo". 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 Kaj lokokupilon = "Skribu ĉi tie". 280 00:16:34,610 --> 00:16:42,030 281 00:16:42,030 --> 00:16:43,480 Tie ni marŝos. 282 00:16:43,480 --> 00:16:46,760 Fine, ni tuj aldonu rapidan submetiĝi butonon. 283 00:16:46,760 --> 00:16:50,370 Tipo = "submit" class = "BTN BTN-primaria". 284 00:16:50,370 --> 00:16:53,370 285 00:16:53,370 --> 00:16:55,340 Do tiuj estas ĉiuj karakterizaĵoj de Bootstrap tiel 286 00:16:55,340 --> 00:16:58,510 ke tiu povas esti metata en maniero kiu estas 287 00:16:58,510 --> 00:17:03,730 prirabataj de la uzanto, anstataŭ nuda HTML. 288 00:17:03,730 --> 00:17:06,250 >> Do ni difinis la controlador tie. 289 00:17:06,250 --> 00:17:08,930 Ni difinis tre simpla vido. 290 00:17:08,930 --> 00:17:12,339 Sed kio mankas estas la ligilo histo. 291 00:17:12,339 --> 00:17:15,420 Do je ĉi tiu punkto, Laravel havas neniun ideon kiel 292 00:17:15,420 --> 00:17:18,312 ni iras al reale aliri ĉi adaptilo. 293 00:17:18,312 --> 00:17:20,270 Do tiu estas difinita en dosiero nomata routes.php. 294 00:17:20,270 --> 00:17:22,780 295 00:17:22,780 --> 00:17:24,310 Kaj nun, ni havas unu vojo. 296 00:17:24,310 --> 00:17:29,060 Kiu estas kiam ni iras al la hejmo vojo por ĉi tiu retejo, 297 00:17:29,060 --> 00:17:33,140 ĝi tuj redonu la indico controlador. 298 00:17:33,140 --> 00:17:38,880 Do jen kion ni bezonas fari estas apliki nova vojo por ni krei post. 299 00:17:38,880 --> 00:17:41,910 >> Do ni uzos ĉi tiun metodon akiri, kiu precizigas 300 00:17:41,910 --> 00:17:48,650 ke kiam uzanto provas ricevas tiun page-- specife 301 00:17:48,650 --> 00:17:52,850 la fosto slash nova page-- kion ni faros 302 00:17:52,850 --> 00:18:02,060 estas uzi la controlador nomita BlogController nova posteno. 303 00:18:02,060 --> 00:18:03,460 Kiu ni ĵus kreita. 304 00:18:03,460 --> 00:18:08,090 Kaj tiam ni iras al alias ĝin kiel newPost. 305 00:18:08,090 --> 00:18:17,460 306 00:18:17,460 --> 00:18:19,850 Ni intencas krei alian funkcio en iomete. 307 00:18:19,850 --> 00:18:23,520 Sed kio estas tie sub la klavo "kiel" estas kio 308 00:18:23,520 --> 00:18:28,195 ni povas anstataŭigi ene nia Blade ŝablonoj. 309 00:18:28,195 --> 00:18:32,390 310 00:18:32,390 --> 00:18:36,230 Do nun, ni fakte ankaŭ diri itinero. 311 00:18:36,230 --> 00:18:38,380 Do ni ankaŭ iri krei controlador 312 00:18:38,380 --> 00:18:41,020 tiel ke ni povas krei tiujn afiŝojn. 313 00:18:41,020 --> 00:18:46,940 Do se uzanto afiŝojn al la paĝo post slash novan, kion ni faros 314 00:18:46,940 --> 00:18:51,350 Estas uzas adaptilo ke ni iras al krei malmulta 315 00:18:51,350 --> 00:18:56,160 nomata BlogController ĉe createPost. 316 00:18:56,160 --> 00:19:01,929 Kaj ni iras al alias tiu kun kiel createPost. 317 00:19:01,929 --> 00:19:03,380 Cool. 318 00:19:03,380 --> 00:19:05,811 >> Ajna demandoj? 319 00:19:05,811 --> 00:19:06,310 Cool. 320 00:19:06,310 --> 00:19:09,790 Do ni kuras kion ni havas ĝis nun. 321 00:19:09,790 --> 00:19:16,930 Do se ni faros php metiista servas, ni vidos multajn erarojn. 322 00:19:16,930 --> 00:19:20,385 Do ĝi aspektas kiel ni havas Sintakseraro sur itineroj linio 27. 323 00:19:20,385 --> 00:19:20,885 Ah. 324 00:19:20,885 --> 00:19:21,718 Mankantaj punktokomo. 325 00:19:21,718 --> 00:19:24,900 326 00:19:24,900 --> 00:19:32,870 Do se ni iros al 8.000, vi vidos nenion ĉi tie ankoraŭ. 327 00:19:32,870 --> 00:19:34,740 Do tiu estas la defaŭlta hejmpaĝo. 328 00:19:34,740 --> 00:19:37,730 >> Sed se ni iros sendi slash nova, hej. 329 00:19:37,730 --> 00:19:40,425 Ĝi estos la formo kiun ni ĵus kreita. 330 00:19:40,425 --> 00:19:42,550 Nun, ni havas ne implementado la funcionalidad 331 00:19:42,550 --> 00:19:44,060 de kiam ni premas la Submetu butonon. 332 00:19:44,060 --> 00:19:47,110 Do se ni Alklaku la submeto butono, ĝi tuj kuri eraro. 333 00:19:47,110 --> 00:19:49,840 Sed ni tuj kodo ke ĝuste nun, ĝuste kio ni 334 00:19:49,840 --> 00:19:54,840 volas fari kiam uzanto submetas ĉi formularo. 335 00:19:54,840 --> 00:19:55,770 >> Do ni faru tion. 336 00:19:55,770 --> 00:19:57,380 Reiru al la Controladores dosiero. 337 00:19:57,380 --> 00:20:00,180 Kion ni tuj faros estas implementar ĉi tiu nova funkcio 338 00:20:00,180 --> 00:20:04,360 kiu permesas krei al ni fosto. 339 00:20:04,360 --> 00:20:07,370 340 00:20:07,370 --> 00:20:08,990 Klarigu nova funkcio. 341 00:20:08,990 --> 00:20:11,527 Publika Funkcio createPost. 342 00:20:11,527 --> 00:20:14,610 Kaj ĉi tiu funkcio estas tuj estos Iomete pli kompleksa ol kion 343 00:20:14,610 --> 00:20:15,559 ni havis antaŭe. 344 00:20:15,559 --> 00:20:18,350 Sed vi vidos ĉi tie ke ni ne estas tuj efektive skribi ajnan SQL. 345 00:20:18,350 --> 00:20:20,980 La ORM, la elokventa ORM, tuj permesos 346 00:20:20,980 --> 00:20:26,400 ni tion fari en iuj manieroj pli eleganta maniero. 347 00:20:26,400 --> 00:20:29,140 >> Do ni iras por krei novan postenon. 348 00:20:29,140 --> 00:20:34,120 Kaj tie ni estas instantiating nova objekto 349 00:20:34,120 --> 00:20:38,080 de la modelo kiun ni ĵus kreita, la post modelo. 350 00:20:38,080 --> 00:20:44,450 Kaj kion ni faros estas metita la titolo atributo de ĉi uzante ion 351 00:20:44,450 --> 00:20:47,380 ke ni preni de la servilo. 352 00:20:47,380 --> 00:20:52,060 Do ĉi tiu estas simila al kio ni havis antaŭe en CS50 Financoj 353 00:20:52,060 --> 00:20:57,750 kie ni devus fari, uzante la Super Tutmonda Afiŝo serĉas titolo. 354 00:20:57,750 --> 00:21:01,600 >> Do Laravel havigas iujn salubrigo kaj whatnot uzante tiu helpanto funkcio. 355 00:21:01,600 --> 00:21:07,610 Do ni preferos uzi tiun anstataŭe de tiu tre baza krudan formon de PHP. 356 00:21:07,610 --> 00:21:17,430 Kaj tiam kion ni volas fari estas metita la enhavo de ĝi al Input akiri enhavon. 357 00:21:17,430 --> 00:21:20,429 358 00:21:20,429 --> 00:21:22,720 Ni efektive tuj envolver tio en helpema funkcio 359 00:21:22,720 --> 00:21:31,820 ke PHP provizas nomita nl2br, kiu rezultas novaj linioj, NLS, en BRS, paŭzoj, 360 00:21:31,820 --> 00:21:35,822 tiel ke ni povas reale havas malsamaj paragrafoj ene ĝi. 361 00:21:35,822 --> 00:21:38,030 Kaj fine kio ni iras fari estas savi ĉi tiu post. 362 00:21:38,030 --> 00:21:41,686 Do ni nomas la funkcio ŝpari en tiu modelo. 363 00:21:41,686 --> 00:21:43,800 Ni tuj savu la post. 364 00:21:43,800 --> 00:21:49,970 Kaj fine, kion ni faros estas alidirekto la uzanto specife 365 00:21:49,970 --> 00:21:55,060 al la itinero kiun ni tuj Krei baldaux, alias per viewPost. 366 00:21:55,060 --> 00:22:00,435 Kaj ni tuj pasos en la argumentojn identigilo, estante la identigilo de tiu nova posteno. 367 00:22:00,435 --> 00:22:04,280 368 00:22:04,280 --> 00:22:05,640 >> Granda. 369 00:22:05,640 --> 00:22:09,090 Do nun, se ni efektive iri kaj kuri ĉi. 370 00:22:09,090 --> 00:22:11,370 Ni intencas aldoni novan postenon. 371 00:22:11,370 --> 00:22:15,930 Diru ĉi estas seminario 50. 372 00:22:15,930 --> 00:22:17,620 Kaj diri, sekura. 373 00:22:17,620 --> 00:22:18,240 Asdl. 374 00:22:18,240 --> 00:22:18,740 Kion ajn. 375 00:22:18,740 --> 00:22:20,320 Iuspeca enhavo. 376 00:22:20,320 --> 00:22:21,180 Kaj enigu ĝin. 377 00:22:21,180 --> 00:22:23,850 Kaj ni rimarkos ke, hey. itineroj ne difinita. 378 00:22:23,850 --> 00:22:32,340 Sed se ni rigardu phpMyAdmin kaj serĉi ĉu ĉu ne nia funkcio 379 00:22:32,340 --> 00:22:34,370 faris nenion. 380 00:22:34,370 --> 00:22:36,670 Rigardu Blog50 afiŝojn. 381 00:22:36,670 --> 00:22:37,720 Ni rimarkos ke, hey. 382 00:22:37,720 --> 00:22:43,530 Fakte, ni ne nur kreas ke blogo sendi per la timestamps kiel specifis. 383 00:22:43,530 --> 00:22:46,600 384 00:22:46,600 --> 00:22:51,630 >> Do nun ni reiros kaj reale krei tiun alian funkcion en niaj controlador, 385 00:22:51,630 --> 00:22:54,790 specife la viewPost controlador. 386 00:22:54,790 --> 00:23:00,290 Do publika funkcio viewPost. 387 00:23:00,290 --> 00:23:04,070 Do jen kion ni faros, anstataŭ havi malplena krampoj, 388 00:23:04,070 --> 00:23:08,800 ni volas pasi en la ID de la fosto kiu ni kreis. 389 00:23:08,800 --> 00:23:12,800 Kaj de tie, kion ni faros Efektive konsulti la datumbazon por ĝi. 390 00:23:12,800 --> 00:23:15,140 >> Do se ni sendi, tie estas funkcio nomita 391 00:23:15,140 --> 00:23:18,860 Trovu kiu nin permesas konsulti ĝin per ID. 392 00:23:18,860 --> 00:23:22,110 Specife, efektive, ni tuj uzu alternativan version de tiu nomita 393 00:23:22,110 --> 00:23:27,880 Trovu aŭ Fail, kiu permesas nin rezigni el tiu funkcio, 394 00:23:27,880 --> 00:23:34,700 ĵeti escepton se la ID ni pasas en ne ekzistanta. 395 00:23:34,700 --> 00:23:37,500 Kaj tiam ni tuj fari ion simila al kion ni faris antaŭe 396 00:23:37,500 --> 00:23:41,100 kie ni starigis la enhavo de tiu paĝo esti 397 00:23:41,100 --> 00:23:47,950 la sendadis versio de ĉi tiu nova vido kiun ni iras al krei, blog.view. 398 00:23:47,950 --> 00:23:51,030 >> Kaj ni tuj pasos en it-- ĵus ŝatas en la CS50 redonu 399 00:23:51,030 --> 00:23:56,645 function-- vortaro de variabloj. 400 00:23:56,645 --> 00:23:59,860 401 00:23:59,860 --> 00:24:04,620 La klavoj de ĉi asociaj tabelo fariĝi variabloj ene de la ŝablono. 402 00:24:04,620 --> 00:24:06,830 Do ni tuj faros postenon post. 403 00:24:06,830 --> 00:24:12,474 Do pasas nerekte la fosto kiu ni informpeti el la datumaro. . 404 00:24:12,474 --> 00:24:14,390 Nun kion ni volas iri al fari estas krei tiu vido 405 00:24:14,390 --> 00:24:17,560 tiel ke ni povas fakte vidi la blogs kiu ni konstruis. 406 00:24:17,560 --> 00:24:20,280 >> Do ni iras por krei dosiero nomata view.blade.php. 407 00:24:20,280 --> 00:24:25,870 408 00:24:25,870 --> 00:24:29,640 Do ene de la ŝablono, kion ni faros 409 00:24:29,640 --> 00:24:39,700 estas kunmetita simplan paĝo ke nin permesas visualizar la enhavo. 410 00:24:39,700 --> 00:24:44,280 Do ni faru sekcio, tio estas antaŭ enhavo. 411 00:24:44,280 --> 00:24:46,800 Ĉesu. 412 00:24:46,800 --> 00:24:53,920 Kaj kion ni iras fari ene tie estas 413 00:24:53,920 --> 00:24:56,930 skribi kelkajn HTML por montri ĉi paĝo. 414 00:24:56,930 --> 00:25:03,590 >> Do ni tuj envolver ĝin per fantazio nova HTML5 elemento nomata artikolo. 415 00:25:03,590 --> 00:25:05,790 Kaj en tie, ni iras havi kaplinio kie 416 00:25:05,790 --> 00:25:12,190 ni tuj simple havi h1, kiu inkludas la fosto titolo. 417 00:25:12,190 --> 00:25:17,120 Do jen, se ni rigardas tiun duobla frizita krampoj skribmaniero, 418 00:25:17,120 --> 00:25:21,690 tiu faros esence PHP eĥon post titolo. 419 00:25:21,690 --> 00:25:25,630 Do ĝi estas helpema stenografio ke Laravel provizas nin. 420 00:25:25,630 --> 00:25:31,070 Do ni tuj uzi tiu notacio anstataŭe. 421 00:25:31,070 --> 00:25:40,220 >> Kaj tie, ni iras al ankaŭ presi la enhavo de tio. 422 00:25:40,220 --> 00:25:43,480 Kaj en tie, ni iras fari postenon enhavo. 423 00:25:43,480 --> 00:25:46,514 424 00:25:46,514 --> 00:25:50,660 Kaj malsupren al la fundo kio ni estas tuj fari estas krei footer. 425 00:25:50,660 --> 00:25:57,690 Kaj en la footer, ni tuj unua ekrano kiam tiu estis poŝtita. 426 00:25:57,690 --> 00:26:01,320 Do tiu estis afiŝita je, kreita ĉe. 427 00:26:01,320 --> 00:26:07,996 >> Kaj Laravel uzas vere bela Dato biblioteko nomita Karbono. 428 00:26:07,996 --> 00:26:11,120 Do ni povas reale fari iu nomita difforHumans, kiun vi vidis antaŭe. 429 00:26:11,120 --> 00:26:14,360 Kiam ni eldonis. ĝi diros, kiel, kvin duaj malantaŭen. 430 00:26:14,360 --> 00:26:16,860 Do ĉi tiu estas vere bela funcionalidad de Laravel. 431 00:26:16,860 --> 00:26:19,469 432 00:26:19,469 --> 00:26:21,385 Kaj fine, ni iras fermi ĉi footer. 433 00:26:21,385 --> 00:26:24,900 434 00:26:24,900 --> 00:26:31,450 >> Do nun, se ni reiros al Ĉefpaĝo ni iras 435 00:26:31,450 --> 00:26:34,490 vidi nenion tie ankoraŭ ĉar ni ne coded supren la ĉefpaĝon. 436 00:26:34,490 --> 00:26:40,962 Sed se ni iros sendi oblikvo unu, Ni tuj vidos escepton. 437 00:26:40,962 --> 00:26:42,670 Ĉu iu scias kial ni vidas escepton? 438 00:26:42,670 --> 00:26:44,516 Kion ni mankas? 439 00:26:44,516 --> 00:26:45,290 Ajna ideoj? 440 00:26:45,290 --> 00:26:48,050 441 00:26:48,050 --> 00:26:49,790 Do kion faris ni faru antaŭe por ni reale 442 00:26:49,790 --> 00:26:52,285 difini kiel ni atingos aparta controladores? 443 00:26:52,285 --> 00:26:54,895 444 00:26:54,895 --> 00:26:55,770 >> SPEAKER 1: La itinero? 445 00:26:55,770 --> 00:26:56,519 ERIC Ouyang: Yeah. 446 00:26:56,519 --> 00:26:58,070 Do ni ankoraŭ devus difini la itinero. 447 00:26:58,070 --> 00:26:59,794 Do ni revenu ĉi tien al routes.php. 448 00:26:59,794 --> 00:27:01,710 Vi rimarkos ke ni ne vere difinita 449 00:27:01,710 --> 00:27:05,010 kiel ni tuj ricevas por ĉi adaptilo. 450 00:27:05,010 --> 00:27:06,780 Do nun ni iras por difini tiun itineron. 451 00:27:06,780 --> 00:27:09,280 Estas sufiĉe simpla, simila al kion ni faris antaŭe. 452 00:27:09,280 --> 00:27:13,910 Sed kion ni tuj rimarki tie estas ke ni tuj havos lokokupilon. 453 00:27:13,910 --> 00:27:18,730 >> Do se ni faros route.get oblikvo post ID. 454 00:27:18,730 --> 00:27:24,290 Do ID nun estas kio tuj esti pasinta al la regilo. 455 00:27:24,290 --> 00:27:27,820 Ĉi tuj uzos la controlador ke ni simple 456 00:27:27,820 --> 00:27:33,560 kreita, BlogController ĉe viewPost. 457 00:27:33,560 --> 00:27:36,420 Kaj ni tuj alias ĉi kiel viewPost. 458 00:27:36,420 --> 00:27:46,544 459 00:27:46,544 --> 00:27:47,490 Granda. 460 00:27:47,490 --> 00:27:49,470 Do nun ni iras al krei tiu itinero. 461 00:27:49,470 --> 00:27:52,100 >> Do nun, se ni iros tien kaj refreŝigi la paĝon, 462 00:27:52,100 --> 00:27:54,410 ni fakte ne havas nia nova blog. 463 00:27:54,410 --> 00:27:57,710 Do jen kion ni kreis antaŭe. 464 00:27:57,710 --> 00:28:01,320 Tre simpla paĝo, sed montras la bloga poŝto ke ni ĵus kreita. 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 Kaj se ni vere iru tra la tuta procezo de kreado de nova blog, 468 00:28:08,880 --> 00:28:11,700 ni rimarkos, ke ĉiu alidirektilojn konvene. 469 00:28:11,700 --> 00:28:12,950 Se mi diras, "Hi. 470 00:28:12,950 --> 00:28:15,710 Mi estas Jonatan Tan. " 471 00:28:15,710 --> 00:28:18,550 Diru, "Ĉi tiu estas mia blogo post." 472 00:28:18,550 --> 00:28:22,830 Kaj enigu ĝin, tiu kreos tiu nova blog kun ID 2, 473 00:28:22,830 --> 00:28:28,920 kiun pliigoj de kion ni devis antaŭe kaj vidigas ĝin konvene. 474 00:28:28,920 --> 00:28:30,760 Imponega. 475 00:28:30,760 --> 00:28:32,930 >> Ajna demandoj? 476 00:28:32,930 --> 00:28:33,430 Jes? 477 00:28:33,430 --> 00:28:36,537 >> SPEAKER 2: Ĉu Laravel tenilo sanitization kaj ĉion por vi? 478 00:28:36,537 --> 00:28:37,245 ERIC Ouyang: Jes. 479 00:28:37,245 --> 00:28:42,990 Do kiam ni vidis antaŭe, kiam ni faris input dupunkto colon akiri, 480 00:28:42,990 --> 00:28:47,720 ke sanitates ajna SQL injektojn kaj whatnot 481 00:28:47,720 --> 00:28:51,660 ke ni volas realigi se ni estas malica uzanto de la paĝaro. 482 00:28:51,660 --> 00:28:54,115 Do Laravel manipulas amason de tiu malantaŭ la scenoj. 483 00:28:54,115 --> 00:28:57,030 Bona demando. 484 00:28:57,030 --> 00:29:00,390 >> Do ni rigardu la ĉefpaĝon. 485 00:29:00,390 --> 00:29:03,220 486 00:29:03,220 --> 00:29:06,790 Do se ni unue reiru al la controlador por la hejmpaĝo, 487 00:29:06,790 --> 00:29:08,740 vi rimarkos ke ĝi Ne faras multan tie. 488 00:29:08,740 --> 00:29:11,620 Vi rimarkos ke ni estas ne pasante en tiu controlador 489 00:29:11,620 --> 00:29:13,830 io aparte helpema. 490 00:29:13,830 --> 00:29:16,660 Estas nur tiu indeksdosiero. 491 00:29:16,660 --> 00:29:18,770 >> Do ni transiri en ĉi ion helpema. 492 00:29:18,770 --> 00:29:21,450 Kaj specife, ni estas preterpasonta en afiŝojn. 493 00:29:21,450 --> 00:29:28,740 Kaj Laravel permesas ni fari post ĉiuj, kiuj 494 00:29:28,740 --> 00:29:30,625 ni permesos akiri ĉiujn afiŝojn. 495 00:29:30,625 --> 00:29:33,160 496 00:29:33,160 --> 00:29:35,730 Nun se ni reiru al index.php, vi vidos, hej. 497 00:29:35,730 --> 00:29:37,060 Nenio ĉi tie ankoraŭ. 498 00:29:37,060 --> 00:29:41,290 Sed kion ni volas fari ĉi tie Efektive persisti tra, 499 00:29:41,290 --> 00:29:46,420 fari foreach buklo super la posts kiu nin permesas presi la afiŝojn. 500 00:29:46,420 --> 00:29:53,180 >> Do foreach afiŝojn kiel post, kion ni volas fari 501 00:29:53,180 --> 00:29:57,252 estas presi la enhavon el la bloga poŝto. 502 00:29:57,252 --> 00:30:00,210 Sed unu afero vi rimarkos estas ke ni fakte skribis la plimulton de tiu kodo 503 00:30:00,210 --> 00:30:01,370 Jam, en view.blade.php. 504 00:30:01,370 --> 00:30:04,070 505 00:30:04,070 --> 00:30:08,640 Do kion ni iras al reale fari estas uzi belan helpema trajto de Blade 506 00:30:08,640 --> 00:30:11,300 kaj faktoro ekster tiu komuna kodo. 507 00:30:11,300 --> 00:30:12,570 Do ni iru tien. 508 00:30:12,570 --> 00:30:16,210 >> Nin tuj prenos ĉi enhavo dekstra tie, kaj kion ni tuj faros 509 00:30:16,210 --> 00:30:18,170 estas krei novan dosierujon. 510 00:30:18,170 --> 00:30:20,364 Ni simple nomas ĝin _partials_. 511 00:30:20,364 --> 00:30:22,530 Kaj en tie, ni iras krei post.blade.php. 512 00:30:22,530 --> 00:30:26,570 513 00:30:26,570 --> 00:30:33,100 Do jen, ni faktorita el la maniero en kion ni volas montri tiujn afiŝojn. 514 00:30:33,100 --> 00:30:38,690 Kaj tie kion ni faros anstataŭ efektive havi tiun HTML rekte, 515 00:30:38,690 --> 00:30:41,530 ni tuj uzi ĉi direktivo nomata inkluzivas blog.partials.post. 516 00:30:41,530 --> 00:30:45,210 517 00:30:45,210 --> 00:30:50,635 >> Kaj kion ni faros ĉi tie estas pasi en la post de la paĝo. 518 00:30:50,635 --> 00:30:57,076 519 00:30:57,076 --> 00:31:01,050 Do nun, se ni reiros tien, ni devos rimarkos ke la funcionalidad estas ankoraŭ 520 00:31:01,050 --> 00:31:01,550 la sama. 521 00:31:01,550 --> 00:31:05,140 Sed nun ni havas ĉi faktorita ekster kodo, ĉi HTML. 522 00:31:05,140 --> 00:31:07,070 Do ni povas uzi ĝin en indekso. 523 00:31:07,070 --> 00:31:09,090 Do jen, ĉi tiu estas tre simpla. 524 00:31:09,090 --> 00:31:17,870 Ĉiuj ni faras estas inkluzivi blog.partials.post kaj tabelo. 525 00:31:17,870 --> 00:31:20,845 Kaj ie antaŭe, ni faru post poŝto. 526 00:31:20,845 --> 00:31:23,830 527 00:31:23,830 --> 00:31:28,182 >> Do nun, se ni reiros al la Hejmpaĝo, ni vidos ke, hey. 528 00:31:28,182 --> 00:31:30,515 Ni havas liston de ĉiuj blogo afiŝojn kiujn ni havis antaŭe. 529 00:31:30,515 --> 00:31:34,640 530 00:31:34,640 --> 00:31:37,700 Ni eble volas aldoni kelkajn "se" kondiĉoj kaj "alie" kondiĉoj 531 00:31:37,700 --> 00:31:39,979 tiel ke se ni ne havas ion sur la blogo, 532 00:31:39,979 --> 00:31:41,520 ni volas montri ion helpema. 533 00:31:41,520 --> 00:31:42,570 Kiel, hej. 534 00:31:42,570 --> 00:31:44,340 Mankas enhavo ankoraŭ sur la blogo. 535 00:31:44,340 --> 00:31:47,670 Kaj se vi uloj efektive rigardi la dissendo kodo en GitHub, 536 00:31:47,670 --> 00:31:50,100 vi vidos ekzemplon de kiel ni faru tion. 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 Ajna demandoj? 540 00:31:54,890 --> 00:31:55,510 Jes. 541 00:31:55,510 --> 00:31:57,468 >> SPEAKER 2: mi supozas ĝuste fundamentan demandon. 542 00:31:57,468 --> 00:31:59,480 Reen al la itinero. 543 00:31:59,480 --> 00:32:00,230 ERIC Ouyang: Yeah. 544 00:32:00,230 --> 00:32:01,935 Se ni rigardu itineroj. 545 00:32:01,935 --> 00:32:06,018 >> SPEAKER 2: Kie faras la uses.blogcontroller ĉe krei postenon, 546 00:32:06,018 --> 00:32:07,560 Kion tio direkti nin? 547 00:32:07,560 --> 00:32:08,310 ERIC Ouyang: Yeah. 548 00:32:08,310 --> 00:32:08,550 Yeah. 549 00:32:08,550 --> 00:32:09,716 >> SPEAKER 2: Aŭ kio estas that-- 550 00:32:09,716 --> 00:32:12,620 ERIC Ouyang: Do, rigardu, diri ekzemple, tiu itinero dekstra tie. 551 00:32:12,620 --> 00:32:17,190 La unua parto estas la efektiva URL ke la uzanto iros. 552 00:32:17,190 --> 00:32:19,930 Kaj tiu tabelo tie, asocieca tabelo, difinas 553 00:32:19,930 --> 00:32:24,520 kiom ni volas havi la apliko akto en respondo al ĝi. 554 00:32:24,520 --> 00:32:29,090 Do uzu estas la controlador, la funkcio kiu ni 555 00:32:29,090 --> 00:32:31,610 volas nomi kiam uzanto iras al ĉi tiu URL. 556 00:32:31,610 --> 00:32:35,190 Do viewPost dekstra tie estis funkcio kiu ni difinis ene 557 00:32:35,190 --> 00:32:36,100 de BlogController-- 558 00:32:36,100 --> 00:32:37,160 >> SPEAKER 2: Mi vidas. 559 00:32:37,160 --> 00:32:39,368 >> ERIC Ouyang: --so ke ni povas reale Redonu la vidon, 560 00:32:39,368 --> 00:32:42,590 realigi iuj kalkuloj, interagi kun la SQL datumbazo. 561 00:32:42,590 --> 00:32:43,560 >> SPEAKER 2: OK. 562 00:32:43,560 --> 00:32:46,960 >> ERIC Ouyang: Kaj tiam la aliaj parto, "kiel" estas alias ke ni uzas. 563 00:32:46,960 --> 00:32:50,714 Do se ni rimarkos kiam ni kreis la formon, 564 00:32:50,714 --> 00:32:52,380 vi rimarkos ke URL :: routecreatePost. 565 00:32:52,380 --> 00:32:55,000 566 00:32:55,000 --> 00:32:58,330 Do ĝi anstataŭas en la fakta URL por ke ni ne estas malfacila 567 00:32:58,330 --> 00:33:02,940 kodigo tiuj en tiel ni povas ŝanĝi ĝin fojon, diru se ni volis renomi. 568 00:33:02,940 --> 00:33:06,055 Anstataŭ post oblikvo nova, ni volas fari kiel, p 569 00:33:06,055 --> 00:33:09,490 slash nova ĝuste purigi niajn URLoj iom. 570 00:33:09,490 --> 00:33:14,740 Ni devus ŝanĝi ĝin en unu loko anstataŭ ol tra ĉiuj la malsamaj dosieroj. 571 00:33:14,740 --> 00:33:15,451 >> Cool. 572 00:33:15,451 --> 00:33:15,950 Tio estas bona. 573 00:33:15,950 --> 00:33:20,070 Do nun ni havas tre bazaj blogo platformo. 574 00:33:20,070 --> 00:33:24,260 Ni probable volas aldoni en butono tiel ke ni povas reale krei novajn afiŝojn. 575 00:33:24,260 --> 00:33:27,850 Do se ni tuj iri ĉe la Aranĝo Majstro, 576 00:33:27,850 --> 00:33:31,280 ni havas sekcion nomita Header Dekstra ke ni jhus difinita ĉe la supro. 577 00:33:31,280 --> 00:33:34,820 Do ni povas aldoni butonojn al la supro de la kaplinio. 578 00:33:34,820 --> 00:33:43,950 >> Do se ni iros al index.blade.php, reale fari estas difini kio iras ene de ĉi tie. 579 00:33:43,950 --> 00:33:46,970 Do ĉi Header Rajto sekcio, kion ni faros 580 00:33:46,970 --> 00:33:55,240 estas aldoni en butono por iri al la URL difinita de la vojo nova posteno. 581 00:33:55,240 --> 00:33:58,270 582 00:33:58,270 --> 00:34:01,660 Nur por purigi ĝin kaj fari ĝi bela kaj ĉiuj Bootstrap, 583 00:34:01,660 --> 00:34:04,630 ni tuj faros ĉi defaŭlta butonon. 584 00:34:04,630 --> 00:34:07,794 Ni simple fari ĝin granda por amuzo. 585 00:34:07,794 --> 00:34:09,969 >> Kaj en ĝi, oni povus meti tekston. 586 00:34:09,969 --> 00:34:14,030 Sed kion Bootstrap provizas estas glyphicons. 587 00:34:14,030 --> 00:34:17,840 Do ni povas reale aldoni en tiu nice krajono, kiun ni vidis antaŭe. 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-krajono. 591 00:34:22,489 --> 00:34:25,449 592 00:34:25,449 --> 00:34:35,340 Do tiu al ni permesos meti en ikono anstataŭ teksto. 593 00:34:35,340 --> 00:34:38,960 Nun se ni haltas, tiu difinos tiun sekcion. 594 00:34:38,960 --> 00:34:39,460 Kaj, he. 595 00:34:39,460 --> 00:34:45,000 Ni havas belan butonon kiu ligas ni rekte al la aldoni la blog paĝo. 596 00:34:45,000 --> 00:34:46,659 >> Do ni havas sufiĉe simplan blogo. 597 00:34:46,659 --> 00:34:49,710 Ni povas aldoni stuff al ĝi. 598 00:34:49,710 --> 00:34:53,650 Sed kio ni ĝenerale atendas el blogoj estas komentoj. 599 00:34:53,650 --> 00:34:57,340 Do estas vere grava por ni havi, diru, se iu alia vizitas retejon 600 00:34:57,340 --> 00:35:00,620 kaj vere ŝatas la fosto kiu ili povas engaĝiĝi en diskuto 601 00:35:00,620 --> 00:35:03,100 kun aliaj homoj kiuj vizitas la paĝon. 602 00:35:03,100 --> 00:35:07,050 Do ni tuj iru kaj krei nova datumbaza tabelo kaj nova modelo 603 00:35:07,050 --> 00:35:12,220 tiel ke ni povas asocii komentas kun fostoj. 604 00:35:12,220 --> 00:35:17,370 >> Do la unua paŝo, samkiel antaŭe, estas ke ni bezonas kuri migradon. 605 00:35:17,370 --> 00:35:21,982 Do kiel antaŭe, ni faru php metiista enmigri: fari. 606 00:35:21,982 --> 00:35:24,440 Kaj ni iras al krei unu nomata create_comments_table. 607 00:35:24,440 --> 00:35:29,520 608 00:35:29,520 --> 00:35:36,080 Tio kreos dosieron kiu havas nia nova migrado. 609 00:35:36,080 --> 00:35:40,170 Kaj ni iras al, kiel antaŭe, difini nova tablo. 610 00:35:40,170 --> 00:35:42,773 Do skemo :: krei tablo nomita komentojn. 611 00:35:42,773 --> 00:35:47,410 612 00:35:47,410 --> 00:35:48,430 Tiu funkcio tie. 613 00:35:48,430 --> 00:35:51,620 Kaj interne tiu tablo kion Ni tuj fari estas unua, 614 00:35:51,620 --> 00:35:54,260 kiel antaŭe, atribui ID. 615 00:35:54,260 --> 00:35:56,552 Pliigoj ID. 616 00:35:56,552 --> 00:36:05,440 >> Ni tuj permesos uzantoj asociigi ilian nomon kun aparta komento. 617 00:36:05,440 --> 00:36:10,080 Ni intencas havi iun enhavon iras kune kun tiu, teksto enhavo. 618 00:36:10,080 --> 00:36:13,580 619 00:36:13,580 --> 00:36:15,910 Kaj tie kion ni volas iri al do estas io malsama. 620 00:36:15,910 --> 00:36:23,620 Ni intencas krei entjero ke nomas post_id kiu 621 00:36:23,620 --> 00:36:32,100 tuj signifi kion poŝto aparta komento iras kun. 622 00:36:32,100 --> 00:36:35,410 >> Krome, ni fakte tuj starigis fremdan ŝlosilon limigo por ĉi tio. 623 00:36:35,410 --> 00:36:37,750 Do MySQL estos observigi tion. 624 00:36:37,750 --> 00:36:39,840 Ni ne provas asigni komento nombro 625 00:36:39,840 --> 00:36:44,440 5 sendi 5.000 se ni havas ne havis 5.000 posts sur ĝi. 626 00:36:44,440 --> 00:36:50,240 Do kion ni faru ĉi tie, ni faru fremdaj post_id 627 00:36:50,240 --> 00:37:02,046 tuj estos asociita kun la ID kampo de la tablo afiŝojn. 628 00:37:02,046 --> 00:37:05,900 Kaj ni vere faru ion alie helpema, estas onDelete. 629 00:37:05,900 --> 00:37:11,180 >> Do se ni forigas iun post de la datumbazo, 630 00:37:11,180 --> 00:37:15,507 ke ni volas Akvofalo la forigas por komentoj ankaŭ. 631 00:37:15,507 --> 00:37:18,090 Ĉar ne tre helpema por ni havi komentojn sur afiŝojn 632 00:37:18,090 --> 00:37:19,900 kiuj ne ekzistas. 633 00:37:19,900 --> 00:37:23,764 Kaj fine, kiel antaŭe, ni estas tuj templimon stampas sur ĉi. 634 00:37:23,764 --> 00:37:28,690 635 00:37:28,690 --> 00:37:33,510 Kaj kiel antaŭe, ni tuj havi la inversa migrado estos 636 00:37:33,510 --> 00:37:37,920 faliginte la komentojn tablo. 637 00:37:37,920 --> 00:37:40,070 >> Do nun, se ni reiros tie, ni iras 638 00:37:40,070 --> 00:37:43,110 kuri tiun migradon, metiista migras. 639 00:37:43,110 --> 00:37:46,400 Kaj nun ĝi estas aplikita ĉi migrado kiu ni ĵus kreita. 640 00:37:46,400 --> 00:37:50,080 Do se ni ĵetas ekrigardon al phpMyAdmin, ni faras, fakte, nun 641 00:37:50,080 --> 00:37:53,210 havas komentojn tabelo kiu havas la strukturo kiu ni ĵus precizigis. 642 00:37:53,210 --> 00:37:56,900 643 00:37:56,900 --> 00:37:59,610 Do kiel antaŭe, ni estas tuj krei novan modelon 644 00:37:59,610 --> 00:38:04,450 al abstrakta la SQL tablo ke ni ĵus kreita. 645 00:38:04,450 --> 00:38:05,450 >> Do ni Aldoni novan dosieron. 646 00:38:05,450 --> 00:38:06,908 Ni tuj nomas ĝin comment.php. 647 00:38:06,908 --> 00:38:10,160 648 00:38:10,160 --> 00:38:15,490 Kaj tiu estas vere tuj esti honeste simpla kun malpeza ŝanĝo 649 00:38:15,490 --> 00:38:17,520 de kio ni havis antaŭe. 650 00:38:17,520 --> 00:38:22,790 Do klaso Komento etendas elokventaj. 651 00:38:22,790 --> 00:38:25,930 Kaj kion ni iras fari ĉi tie estas difini 652 00:38:25,930 --> 00:38:31,360 funkcio kiu estas la interrilato kun aliaj modeloj. 653 00:38:31,360 --> 00:38:39,250 Do ni tuj havas postenon funkcio tie ke revenas ĉi rilato. 654 00:38:39,250 --> 00:38:43,330 Do ni specifante ke tiu apartenas sendi, 655 00:38:43,330 --> 00:38:49,200 dirante, ke estas unu post ke tiu komento apartenas al. 656 00:38:49,200 --> 00:38:53,917 >> Ĉi reale devas esti ĉefurbo P por la modelo. 657 00:38:53,917 --> 00:38:56,500 Kaj nun ĝuste aliflanke flip flanko, ni devas diri ke, hey. 658 00:38:56,500 --> 00:38:58,160 Afiŝoj havas komentojn. 659 00:38:58,160 --> 00:39:03,030 Do kion ni volas fari estas difini publika funkcio komentoj. 660 00:39:03,030 --> 00:39:07,100 661 00:39:07,100 --> 00:39:13,620 Kaj tie estas redonita tiu havas multajn Komento. 662 00:39:13,620 --> 00:39:16,630 663 00:39:16,630 --> 00:39:22,010 Do nun magie kiam ni havas la post, ni povos atingi la atributo komentoj 664 00:39:22,010 --> 00:39:25,615 kaj ĝi malebligos popoli ĝin per la informoj el la datumbazo. 665 00:39:25,615 --> 00:39:32,950 666 00:39:32,950 --> 00:39:38,220 >> Do ni vere iru tra kaj aldoni novan karakterizaĵon al nia vido dosieron 667 00:39:38,220 --> 00:39:43,600 tiel ke ni povas kaj visualización kaj krei komentojn. 668 00:39:43,600 --> 00:39:54,010 669 00:39:54,010 --> 00:39:56,865 Do ni tuj difini nova sekcio. 670 00:39:56,865 --> 00:39:59,890 Ni simple disigi ĝin kun horizontala regulo. 671 00:39:59,890 --> 00:40:04,065 Sekcio id = "komentoj". 672 00:40:04,065 --> 00:40:06,990 Kion ni faros Jen, kiel antaŭe, 673 00:40:06,990 --> 00:40:09,880 persisti tra ĉiuj komentoj. 674 00:40:09,880 --> 00:40:12,960 Do fakte, kiel ni faras ĉi estas, kiel mi menciis, sufiĉe magia. 675 00:40:12,960 --> 00:40:14,440 >> Ni faru afiŝi komentojn. 676 00:40:14,440 --> 00:40:17,410 677 00:40:17,410 --> 00:40:22,710 Kaj tiam ni povas fari tion por ĉiu buklo super ĉiu de la komentoj. 678 00:40:22,710 --> 00:40:25,740 Kaj kion ni tuj fari estas div class komentu, 679 00:40:25,740 --> 00:40:29,240 kaj ni iras al reale presi ĉi komento. 680 00:40:29,240 --> 00:40:34,150 Do montri ke bona, komenti name-- la persono 681 00:40:34,150 --> 00:40:38,080 kiu posteó ĉi comment-- diras dot dot dot. 682 00:40:38,080 --> 00:40:41,240 Ni tuj metos tion en blokon citaĵo, nur por igi ĝin rigardi bela. 683 00:40:41,240 --> 00:40:46,470 Kaj tiam komenti enhavo bloko citaĵo. 684 00:40:46,470 --> 00:40:49,790 685 00:40:49,790 --> 00:40:50,892 Kaj foreach. 686 00:40:50,892 --> 00:40:53,100 Do nun tiu tuj maŝo tra ĉiuj komentoj 687 00:40:53,100 --> 00:40:56,500 kiu asocias kun ĉiu de la postenoj 688 00:40:56,500 --> 00:41:00,960 kaj montri ĉiu el tiuj komentoj. 689 00:41:00,960 --> 00:41:05,120 Mi tuj aldonos alian sekcion malsupren tie, kiu nin permesas aldoni komenton. 690 00:41:05,120 --> 00:41:07,400 Do h3 klaso. 691 00:41:07,400 --> 00:41:09,580 Metu titolon tie. 692 00:41:09,580 --> 00:41:10,934 Aldoni komenton. 693 00:41:10,934 --> 00:41:13,886 694 00:41:13,886 --> 00:41:15,700 Kaj ni iras al difini nova formo. 695 00:41:15,700 --> 00:41:18,730 >> Do kiel antaŭe, ni estas faros formo ago. 696 00:41:18,730 --> 00:41:22,740 Kaj tie, la nova ago estas ni tuj difini nova controlador ke 697 00:41:22,740 --> 00:41:26,770 permesas al ni respondi sendi petoj por krei komentojn. 698 00:41:26,770 --> 00:41:33,365 Do URL :: itinero createComment. 699 00:41:33,365 --> 00:41:37,730 Mi tuj pasos en la parametro tie. 700 00:41:37,730 --> 00:41:40,380 La ID de la post tio ni krei komenton pri. 701 00:41:40,380 --> 00:41:45,340 702 00:41:45,340 --> 00:41:50,280 Kaj tiam la metodo de tiu formo tuj estos post. 703 00:41:50,280 --> 00:41:57,240 >> Nun ni iras por aldoni en du kampoj, formo grupo. 704 00:41:57,240 --> 00:42:04,670 Ĉi tuj estos enigaĵoj kun la enoficigos "nomo" kaj klaso = "formo-kontrolo", 705 00:42:04,670 --> 00:42:14,250 type = "text", kaj kun la lokokupilon = "Via nomo." 706 00:42:14,250 --> 00:42:19,380 Ni ankaŭ iras por difini alia formo kampo, kiun 707 00:42:19,380 --> 00:42:22,970 tuj estos tekston spaco kiel ni havis antaŭe. 708 00:42:22,970 --> 00:42:25,480 Ĝuste kiel antaŭe, nomi ŝin enhavo. 709 00:42:25,480 --> 00:42:31,160 Class = "formo-kontrolo." 710 00:42:31,160 --> 00:42:41,660 Lokokupilon = "Skribu ĉi tie." 711 00:42:41,660 --> 00:42:44,100 >> Kaj nur por ke ni povas reale enigu ĝin, 712 00:42:44,100 --> 00:42:55,740 submit tipo kaj klaso = "BTN BTN-primara." 713 00:42:55,740 --> 00:42:57,005 Fermu la formo. 714 00:42:57,005 --> 00:42:59,010 Fermu ago. 715 00:42:59,010 --> 00:43:06,580 Do nun, se ni refreŝigi la paĝon kie ni havas, diru, aparta poŝto. 716 00:43:06,580 --> 00:43:10,310 Ni devas restartigi la servilo. 717 00:43:10,310 --> 00:43:12,340 PHP metiista servi. 718 00:43:12,340 --> 00:43:15,630 719 00:43:15,630 --> 00:43:18,334 ReBoot ĉi. 720 00:43:18,334 --> 00:43:19,500 Ni devas difini la itinero. 721 00:43:19,500 --> 00:43:25,090 Sed nuntempe, ni nur prenu ĉi el tio, ke ni povas reale montras al vi 722 00:43:25,090 --> 00:43:28,750 kion la paĝo aspektas, kaj tiam ni fakte krei tiun itineron. 723 00:43:28,750 --> 00:43:29,250 Do, hej. 724 00:43:29,250 --> 00:43:37,080 Ni havas ĉi tiu nova formo malsupreniris tien tiel ke ni povas krei komentojn. 725 00:43:37,080 --> 00:43:39,950 Do ni efektive difini funkcio ene la controlador 726 00:43:39,950 --> 00:43:43,020 tiel ke ni povas aldoni komentojn. 727 00:43:43,020 --> 00:43:43,650 Ni iru reen. 728 00:43:43,650 --> 00:43:48,420 Kaj ene blogcontroller.php, kion ni faros 729 00:43:48,420 --> 00:43:51,620 estas krei novan funkcion nomata krei komento. 730 00:43:51,620 --> 00:43:54,220 731 00:43:54,220 --> 00:43:57,040 >> Publika Funkcio createComment. 732 00:43:57,040 --> 00:44:00,130 Ĉi tuj estos sola parametro, la IRU de la posts 733 00:44:00,130 --> 00:44:02,280 ke ni dirante sur. 734 00:44:02,280 --> 00:44:04,790 Kaj kiel antaŭe, ni estas tuj unue akiri la postenon. 735 00:44:04,790 --> 00:44:10,790 Do sendi, findOrfail identigilo. 736 00:44:10,790 --> 00:44:15,020 Poste, ni iras krei novan komenton. 737 00:44:15,020 --> 00:44:18,880 Do komenti = nova komento. 738 00:44:18,880 --> 00:44:26,820 Komento nomo = Input :: akiri nomon. 739 00:44:26,820 --> 00:44:39,420 Komento enhavo = la sama nova linio en paŭzoj de Input :: akiri enhavon. 740 00:44:39,420 --> 00:44:43,460 >> Kaj fine, ni tuj devos asocii ĉi tiun komenton kun la post. 741 00:44:43,460 --> 00:44:47,230 Do ni tuj uzi tiu funkcio, komentoj, 742 00:44:47,230 --> 00:44:50,260 kiu nin permesas ŝpari tiu rilato. 743 00:44:50,260 --> 00:44:54,780 Do nun tiu komento havos aŭtomate la fosto ID. 744 00:44:54,780 --> 00:44:57,640 Ni povus ankaŭ starigis ĝin permane, sed tiu estas 745 00:44:57,640 --> 00:45:02,490 pli facile legi tiel for kiel la funkcion iras. 746 00:45:02,490 --> 00:45:05,860 Kaj post ni plenumos tiu, kion ni volas fari 747 00:45:05,860 --> 00:45:10,840 estas alidirekto al la uzanto la itinero specifita de viewPost 748 00:45:10,840 --> 00:45:16,010 kun la tabelo kun la parametro de la post ID. 749 00:45:16,010 --> 00:45:20,360 750 00:45:20,360 --> 00:45:24,660 >> Kaj nun por ke ĉi reale funkcioj, ni bezonas difini ĉi itinero. 751 00:45:24,660 --> 00:45:27,126 Itinero :: post. 752 00:45:27,126 --> 00:45:32,800 Kaj nun ni iras por voki ĉi post oblikvo ID oblikvo komento. 753 00:45:32,800 --> 00:45:36,725 Array uzas la nova funkcio ke ni ĵus kreita. 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 kiel createComment. 757 00:45:44,770 --> 00:45:47,430 758 00:45:47,430 --> 00:45:50,120 Granda. 759 00:45:50,120 --> 00:45:56,150 >> Do nun espereble se ni refreŝigi la paĝon kaj aldoni en komento, diru: David Malan. 760 00:45:56,150 --> 00:46:00,630 761 00:46:00,630 --> 00:46:03,920 "Espereble tio funkcias." 762 00:46:03,920 --> 00:46:05,216 Proponu. 763 00:46:05,216 --> 00:46:09,050 Ni, fakte, havas komenti ĉi blog. 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 Do nun ni havas sufiĉe funkcia bloga poŝto. 768 00:46:21,430 --> 00:46:23,180 Ni nur tuj aldonu kelkajn retuŝojn tiel 769 00:46:23,180 --> 00:46:29,090 ke ni havas iun pli utila informoj pri tiuj postenoj. 770 00:46:29,090 --> 00:46:32,780 >> Do se ni reiros al la frontpaĝo, ni ne havas senson 771 00:46:32,780 --> 00:46:38,790 de kiom da komentoj estas sur ĉiu de tiuj postenoj. 772 00:46:38,790 --> 00:46:41,340 Do kion ni reale irante fari estas, enen nia modelo, 773 00:46:41,340 --> 00:46:51,250 difini helpantino funkcio kiu permesas ni specifi la numeron de komentoj 774 00:46:51,250 --> 00:46:53,020 kiuj iras kun aparta poŝto. 775 00:46:53,020 --> 00:46:56,050 Do ni iras por krei helpanto funkcio. 776 00:46:56,050 --> 00:46:58,020 >> Publika funkcio. 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 Do ĉeno kiu specifas la numeron de komentoj kiuj iras kune kun ĝi. 780 00:47:07,180 --> 00:47:12,850 Kaj kion ni faros estas diri ke num = tiu komentoj rakonti. 781 00:47:12,850 --> 00:47:15,150 Do ni iras por rakonti la nombro de komentoj. 782 00:47:15,150 --> 00:47:22,900 Kaj se tiu nombro egalas 1, ni estas nur tuj revenos 1 komento. 783 00:47:22,900 --> 00:47:28,890 Kaj tiam alie, ni volas redoni la kunmeto de num, komentoj 784 00:47:28,890 --> 00:47:31,890 tiel ni atingos la pluralization korekta. 785 00:47:31,890 --> 00:47:33,380 Nur fari ĉi sola citaĵo. 786 00:47:33,380 --> 00:47:36,040 787 00:47:36,040 --> 00:47:37,640 Unu komento. 788 00:47:37,640 --> 00:47:41,140 >> Kaj nun ni povas uzi tiun funkcion rekte ene de nia vido. 789 00:47:41,140 --> 00:47:44,510 Do se ni reiros al la parta posts kiu ni kreis, 790 00:47:44,510 --> 00:47:49,370 nun ni volas reale montri la nombron de komentoj. 791 00:47:49,370 --> 00:47:52,660 Do kion ni povas fari estas post, uzu tiun funkcion 792 00:47:52,660 --> 00:47:57,230 ke ni ĵus kreita por montri la nombron de komentoj. 793 00:47:57,230 --> 00:48:00,440 Do se ni nun fortigu, ĝi faras, fakte, ekrano 794 00:48:00,440 --> 00:48:02,240 la nombro komentoj kiuj iras kune kun ĝi. 795 00:48:02,240 --> 00:48:05,320 >> Se ni volis esti fancy se vi fakte rigardi la dissendo kodo, 796 00:48:05,320 --> 00:48:07,800 ni povas fakte ligi ĉi al la komentoj. 797 00:48:07,800 --> 00:48:17,040 Se vi memoras, ni difinis ene de la vidi ke tiu havas sekcion ID komentoj. 798 00:48:17,040 --> 00:48:22,460 Do se ni vere volis ligi rekte al la sekcio de komentoj, kio 799 00:48:22,460 --> 00:48:36,000 ni farus tie estas href URL de la itinero viewPost. 800 00:48:36,000 --> 00:48:40,550 Iam en la tabelo ID de post ID. 801 00:48:40,550 --> 00:48:46,140 Kaj poste ni volas iri al specife la sekcio de komentoj. 802 00:48:46,140 --> 00:48:49,900 >> Ĉi tie ni fermas la tag. 803 00:48:49,900 --> 00:48:52,950 Do nun, se ni refreŝigi ĉi paĝo, ni alklaku ĉi. 804 00:48:52,950 --> 00:48:54,700 Ni iras rekte al la sekcio de komentoj. 805 00:48:54,700 --> 00:48:57,580 Se ni havis pli longan post, vi povos reale vidi ĉi resalto malsupren. 806 00:48:57,580 --> 00:49:02,668 Sed vi rimarkos ke ĝi estas ne je la supro de la paĝo. 807 00:49:02,668 --> 00:49:04,090 Cool. 808 00:49:04,090 --> 00:49:04,600 Granda. 809 00:49:04,600 --> 00:49:08,582 Do tio estas sufiĉe simpla ekzemplo de iu simpla 810 00:49:08,582 --> 00:49:09,790 ke vi povas fari kun Laravel. 811 00:49:09,790 --> 00:49:13,230 >> Sed vi povas rimarki ĉi tie ke ni faris multon 812 00:49:13,230 --> 00:49:16,200 kun sufiĉe malmulta kvanto de kodo. 813 00:49:16,200 --> 00:49:19,420 Laravel nin permesas fari la SQL pridemandojn malantaŭ la scenoj. 814 00:49:19,420 --> 00:49:21,960 Ĝi faras la salubrigo por ni malantaŭ la scenoj. 815 00:49:21,960 --> 00:49:25,940 Nin permesas fari tiujn rilatojn tre facile sen Ni bezonante 816 00:49:25,940 --> 00:49:33,350 fari ajnan SQL aliĝi deklaroj al kombini komentoj per kio la afiŝojn. 817 00:49:33,350 --> 00:49:36,480 Nin permesas fari ĉi posedajxo de ŝablonoj 818 00:49:36,480 --> 00:49:43,780 tiel ke ni povas difini tiujn nestumado dosierojn tiel ni ne ripeti mem, 819 00:49:43,780 --> 00:49:47,020 ĝuste kiel kiam ni havis tiun montro de la posts 820 00:49:47,020 --> 00:49:50,770 ke ni ne devas kopiu kaj gluu la kodon. 821 00:49:50,770 --> 00:49:55,450 >> Kaj de tie vi povas konstrui pli kaj pli komplikaj aplikaĵoj. 822 00:49:55,450 --> 00:49:58,370 Vi povas imagi, se ni volis implementar log-in, 823 00:49:58,370 --> 00:50:05,532 ni povus diri, enportas tria kadro kiu nin permesas fari tion. 824 00:50:05,532 --> 00:50:07,490 Ekzistas aro da ili ke estas vere, vere 825 00:50:07,490 --> 00:50:09,970 granda kiu povus fari simile, Pasvorto reakiro. 826 00:50:09,970 --> 00:50:14,450 Kaj sendos al vi retrovu pasvorton retpoŝto. 827 00:50:14,450 --> 00:50:18,260 Ni povas implementar permeso por ke mi povu krei postenon, 828 00:50:18,260 --> 00:50:20,350 sed iu alia ne povas redakti ĝin. 829 00:50:20,350 --> 00:50:24,610 Ni povas implementar funcionalidad forviŝi afiŝojn. 830 00:50:24,610 --> 00:50:28,160 >> Sed vi povas vidi ĉi tie ke ni havas belajn multa ĉiuj rudimentaj komponantoj 831 00:50:28,160 --> 00:50:31,640 konstrui iuj vere, vere, dinamika kaj ekscita retejo apps. 832 00:50:31,640 --> 00:50:34,035 Do kun tio, mi kredas ke ni estas bonaj. 833 00:50:34,035 --> 00:50:35,720 Ĉu vi uloj havas demandojn? 834 00:50:35,720 --> 00:50:36,220 Jes? 835 00:50:36,220 --> 00:50:38,090 >> SPEAKER 3: Kiel vi akiri statika enhavo? 836 00:50:38,090 --> 00:50:39,256 >> ERIC Ouyang: Static enhavo. 837 00:50:39,256 --> 00:50:45,520 Do vi vidis antaŭ ke kiam ni havis ĉi tiu rajto ĉi tie, ĉi aranĝo enhavo, 838 00:50:45,520 --> 00:50:49,625 vido konsiston, ni havis tiun sen tiu tabelo poste. 839 00:50:49,625 --> 00:50:56,440 840 00:50:56,440 --> 00:50:59,152 Blog.index, ni havis tiun kiel simplan statika dosiero. 841 00:50:59,152 --> 00:51:00,860 Do se ni ne pasas ion kune por gxi, 842 00:51:00,860 --> 00:51:03,340 ĝi malebligos ĝuste redonu la HTML rekte. 843 00:51:03,340 --> 00:51:09,240 Sed se ni pasas en ĉi asociaj tabelo de posts, kiu estas dinamike 844 00:51:09,240 --> 00:51:12,950 tiris el la datumbazo, ni povas fari la paĝon dinamika. 845 00:51:12,950 --> 00:51:13,450 Cool. 846 00:51:13,450 --> 00:51:14,830 Ajna alia demandojn? 847 00:51:14,830 --> 00:51:16,786 848 00:51:16,786 --> 00:51:19,720 SPEAKER 3: Kiel vi komparu Laravel al eble kelkaj aliaj ebloj? 849 00:51:19,720 --> 00:51:20,525 ERIC Ouyang: Sure. 850 00:51:20,525 --> 00:51:21,025 Yeah. 851 00:51:21,025 --> 00:51:23,430 Do Laravel is-- tio grandan question-- 852 00:51:23,430 --> 00:51:26,190 unu el multaj ebloj por TTT kadrojn. 853 00:51:26,190 --> 00:51:31,160 Do Ruby on Rails estas tiu kiu estas populara. 854 00:51:31,160 --> 00:51:34,590 Mi kredas Twitter kutimis esti implementado kun Ruby on Rails. 855 00:51:34,590 --> 00:51:37,600 Mi pensas ke ili jam ekde conmutación. 856 00:51:37,600 --> 00:51:40,780 Ekzistas alia nomita FuelPHP. 857 00:51:40,780 --> 00:51:46,120 >> Do Ruby on Rails uzas la Ruby lingvo kaj implementa multon de la MVC stuff 858 00:51:46,120 --> 00:51:48,200 ke ni vidas ĉi tie. 859 00:51:48,200 --> 00:51:52,320 FuelPHP estas alia PHP kadro. 860 00:51:52,320 --> 00:51:54,490 Django estas unu el miaj favoritas. 861 00:51:54,490 --> 00:51:57,010 Estas retejo enkadrigi Python. 862 00:51:57,010 --> 00:52:01,270 Do vi povas skribi vian ttt app en Python. 863 00:52:01,270 --> 00:52:03,760 Do tie estas tuno de tiuj opcioj. 864 00:52:03,760 --> 00:52:06,170 >> Laravel, mi kredas, por kaj granda estas mia favorata dekstra 865 00:52:06,170 --> 00:52:08,232 nun por PHP ĝuste ĉar de la komponantoj 866 00:52:08,232 --> 00:52:09,440 ke ni parolis antaŭe. 867 00:52:09,440 --> 00:52:11,910 Estas Komponisto ebligita. 868 00:52:11,910 --> 00:52:15,750 Ĝi inkludas vere, vere esprima ORM sistemo. 869 00:52:15,750 --> 00:52:18,800 Ankaŭ havas vere awesome templating lingvo kiu iuj de la aliaj 870 00:52:18,800 --> 00:52:20,630 simple ne provizas. 871 00:52:20,630 --> 00:52:21,400 Kaj migradoj. 872 00:52:21,400 --> 00:52:23,432 Migradoj estas awesome tiel. 873 00:52:23,432 --> 00:52:24,860 Cool? 874 00:52:24,860 --> 00:52:25,390 Imponega. 875 00:52:25,390 --> 00:52:27,560 Nu, dankon tiel por rigardi tiun seminarion, 876 00:52:27,560 --> 00:52:30,650 kaj bona sorto en via fina projektoj. 877 00:52:30,650 --> 00:52:31,616