1 00:00:00,000 --> 00:00:02,538 >> [MUSIC Playing] 2 00:00:02,538 --> 00:00:10,800 3 00:00:10,800 --> 00:00:12,390 >> Eric Ouyang: Hey, gjithkush. 4 00:00:12,390 --> 00:00:13,580 Mirë se vini. 5 00:00:13,580 --> 00:00:16,860 Kjo është Building Dinamik Web Apps me Laravel. 6 00:00:16,860 --> 00:00:18,290 Emri im është Eric Ouyang. 7 00:00:18,290 --> 00:00:23,860 Unë jam një i paedukuar mjaft studiuar studimet sociale me një dytësor në shkenca kompjuterike, 8 00:00:23,860 --> 00:00:27,290 dhe unë jetoj në Adams Shtëpia këtu në Harvard. 9 00:00:27,290 --> 00:00:33,340 >> Pra Laravel, në thelbin e vet më të madhe, është një kornizë web app MVC. 10 00:00:33,340 --> 00:00:38,265 Pra pëlqen ajo që ju djema keni qenë duke bërë me CS50 Financave, 11 00:00:38,265 --> 00:00:42,480 Laravel është një kornizë që lejon ju për të ndërtuar Apps web dinamike. 12 00:00:42,480 --> 00:00:47,710 Kështu që ju mund të mendoni për atë në disa shqisave si një zgjatje e llojit të gjëra 13 00:00:47,710 --> 00:00:50,470 ju keni qenë duke bërë në CS50 Finance, por një sistem që është 14 00:00:50,470 --> 00:00:55,890 një shumë më të fuqishme, shumë më elegante në disa shqisave, 15 00:00:55,890 --> 00:00:57,870 dhe siguron një shumë të funksionalitetin për ju 16 00:00:57,870 --> 00:01:03,060 për të ndërtuar mjaft kompleks aplikimet web. 17 00:01:03,060 --> 00:01:05,010 Pra, le të shkojë nëpër disa nga karakteristikat kryesore, 18 00:01:05,010 --> 00:01:09,550 dhe pastaj ne do të zhyten në një shembull i ndërtimit të një blog 19 00:01:09,550 --> 00:01:12,500 Aplikimi me Laravel. 20 00:01:12,500 --> 00:01:16,700 >> Pra, një nga gjërat e para që e dallon atë nga lloji MVC e punës 21 00:01:16,700 --> 00:01:22,100 që ju keni qenë duke bërë me CS50 është ajo përfshin një motor ORM. 22 00:01:22,100 --> 00:01:27,410 Pra ORM qëndron për objekt mapping relacionale. 23 00:01:27,410 --> 00:01:31,080 Pra, kjo ju lejon të ndërtojmë një shtresë e abstraksionit 24 00:01:31,080 --> 00:01:35,230 ndërmjet bazës së të dhënave dhe kontrolluesit tuaj. 25 00:01:35,230 --> 00:01:39,150 Pra, ndryshe nga në CS50 Financave ku ju bëni drejtpërdrejt pyetje, 26 00:01:39,150 --> 00:01:44,790 shtresë ORM ju lejon për të abstrakt që larg dhe për të krijuar 27 00:01:44,790 --> 00:01:48,085 Modelet që janë më të fuqishme se ju mund të drejtpërdrejt me SQL queries. 28 00:01:48,085 --> 00:01:50,590 29 00:01:50,590 --> 00:01:53,510 >> Një tjetër gjë që është me të vërtetë dobishme është templates i trashëgueshëm. 30 00:01:53,510 --> 00:01:58,990 Pra, ju do të vëreni në CS50 Financave, ju deri në fund rishkrimin shumë gjëra, 31 00:01:58,990 --> 00:02:03,150 ku e vendos ju mund potencialisht të ripërdorimin gjëra, ju nuk jeni në gjendje për të. 32 00:02:03,150 --> 00:02:08,539 Kështu që këtu në Laravel, ju mund të përdorni çfarë është i njohur si template motor teh 33 00:02:08,539 --> 00:02:10,530 për të krijuar një plan urbanistik master. 34 00:02:10,530 --> 00:02:15,840 Dhe nga atje, ju mund të trashëgojnë kështu që nën-templates mund të vërtetë 35 00:02:15,840 --> 00:02:21,210 përfshijnë elemente brenda se më të madh template bazë. 36 00:02:21,210 --> 00:02:21,810 >> Migrimi. 37 00:02:21,810 --> 00:02:29,010 Pra, kjo është një veçori mjaft standarde për kornizat më moderne e aplikimit web. 38 00:02:29,010 --> 00:02:32,710 Pra, kjo ju lejon të përfaqësojë Ndryshimet aplikoj bazës së të dhënave në kod. 39 00:02:32,710 --> 00:02:39,200 Pra, pa shkuar për të thënë, phpMyAdmin, ju në fakt mund të krijojë këto migrime 40 00:02:39,200 --> 00:02:44,660 ku ju përfaqësojnë bazën e të dhënave skemë ndryshimet në kodin drejtpërdrejt. 41 00:02:44,660 --> 00:02:48,070 Dhe kjo ju lejon to-- veçanërisht në qoftë se ju keni njerëz të shumta të punës 42 00:02:48,070 --> 00:02:52,650 në të njëjtin web application-- ndjekur këto ndryshime, 43 00:02:52,650 --> 00:02:55,380 thonë në Github, ose disa depo tjetër. 44 00:02:55,380 --> 00:03:00,880 >> Pra, kjo është me të vërtetë e dobishme dhe zbut nevojën 45 00:03:00,880 --> 00:03:04,580 për të, të themi, të kalojë nëpër një shumë të SQL mërzi. 46 00:03:04,580 --> 00:03:07,140 Dhe së fundi, Kompozitor është diçka të vërtetë, të vërtetë të dobishme 47 00:03:07,140 --> 00:03:09,840 që ju lejon të përdorni të tjera Kodi i njerëzve për të bërë gjëra të tmerrshme. 48 00:03:09,840 --> 00:03:14,020 Pra Laravel të strukturuar si disa paketa kompozitor. 49 00:03:14,020 --> 00:03:17,870 Pra thonë se në qoftë se ju të kërkuar për të sjellë në një paketë të legalizuara 50 00:03:17,870 --> 00:03:23,440 ose në qoftë se ju të kërkuar për të sjellë në disa lloj i shkrimit gjenerator ose një admin 51 00:03:23,440 --> 00:03:26,910 interface, ju mund të plug dhe të luajë ato komponentët me Kompozitor. 52 00:03:26,910 --> 00:03:30,470 53 00:03:30,470 --> 00:03:31,570 >> Pra, le të ketë filluar. 54 00:03:31,570 --> 00:03:35,185 Çdo pyetje nga ju djema para se të ketë filluar? 55 00:03:35,185 --> 00:03:36,500 Nuk ka pyetje? 56 00:03:36,500 --> 00:03:37,490 Ftohtë. 57 00:03:37,490 --> 00:03:39,990 Pra, hapi i parë është instalimi Kompozitor. 58 00:03:39,990 --> 00:03:43,590 Pra, Kompozitor ju lejon për të menaxhuar këto varësitë, 59 00:03:43,590 --> 00:03:47,770 nëse kjo është kuadri Laravel ose disa zgjatje tjetër palë e tretë. 60 00:03:47,770 --> 00:03:50,400 Komandës së pari lejon ju për të shkarkuar Kompozitor, 61 00:03:50,400 --> 00:03:55,890 dhe komanda e dytë ju lejon të lëvizin atë në dosjen tuaj lokale bin 62 00:03:55,890 --> 00:04:01,340 kështu që ju mund të kandidojë Kompozitor drejtpërdrejt përmes terminalit. 63 00:04:01,340 --> 00:04:05,405 >> Pas kësaj, të shkojnë përpara dhe krijoni një projekt të ri Laravel. 64 00:04:05,405 --> 00:04:07,280 Ne jemi të vërtetë duke shkuar për të përdorin disa kodin shembull 65 00:04:07,280 --> 00:04:10,760 që unë kam vënë së bashku për të krijuar këtë blog. 66 00:04:10,760 --> 00:04:14,420 Por nëse ju jeni duke filluar nga zeroja, ju do të përdorni këtë komandë 67 00:04:14,420 --> 00:04:18,160 deri këtu, kompozitor krijojë-projekt, laravel çaj laravel, dhe pastaj 68 00:04:18,160 --> 00:04:19,940 Emri i projektit tuaj. 69 00:04:19,940 --> 00:04:22,275 Dhe që do të përfshijë të gjithë kodin e shpërndarjes 70 00:04:22,275 --> 00:04:23,733 për të filluar një projekt të ri Laravel. 71 00:04:23,733 --> 00:04:28,870 Pra, për projektet tuaja CS50 përfundimtare, ju do të ndoshta dëshironi të përdorni këtë komandë. 72 00:04:28,870 --> 00:04:31,210 >> Por ne jemi duke shkuar për të filluar me këtë. 73 00:04:31,210 --> 00:04:34,630 Pra, një herë ju kam bërë se, ju jeni do të merrni 74 00:04:34,630 --> 00:04:40,190 një numër mjaft i gjerë e dosjeve në blog50. 75 00:04:40,190 --> 00:04:43,840 Pra, le të vetëm të shkojnë nëpër disa nga këto komponente. 76 00:04:43,840 --> 00:04:49,060 Ju do të vëreni në këtë rrugë directory, ka një dosje app. 77 00:04:49,060 --> 00:04:52,960 Brenda dosje app, nuk ka një çift dosjet të dobishme. 78 00:04:52,960 --> 00:04:56,330 Nga shënim për të filluar me është kjo dosje config. 79 00:04:56,330 --> 00:04:59,210 Pra, kjo krijon si kërkesa juaj web është 80 00:04:59,210 --> 00:05:04,350 duke shkuar për të, të themi, vërtetoj njerëzit ose gjërat e mjeteve monetare ose të lidheni me bazën e të dhënave. 81 00:05:04,350 --> 00:05:06,400 >> Dhe çfarë është me të vërtetë dobishme është që Laravel 82 00:05:06,400 --> 00:05:09,130 ju lejon për të ngritur ndryshme Mjedise të zhvillimit. 83 00:05:09,130 --> 00:05:12,090 Pra, ajo që ne kemi bërë këtu është nëse ne do të shkojmë në dosje lokale, 84 00:05:12,090 --> 00:05:14,720 ka një skedë database.php. 85 00:05:14,720 --> 00:05:18,320 Dhe ju do të vini re këtu se ne të ngritur një lidhje MySQL atë 86 00:05:18,320 --> 00:05:22,230 lejon individët për të lidhur në server MySQL që është 87 00:05:22,230 --> 00:05:24,310 direkt në aplikim CS50. 88 00:05:24,310 --> 00:05:26,980 Dhe ne jemi lidh me një bazë të dhënash që unë të ngritur quajtur Blog50. 89 00:05:26,980 --> 00:05:31,390 90 00:05:31,390 --> 00:05:37,085 >> Pra, le të vërtetë të shkojnë përpara dhe të drejtuar versionin punues të kësaj, 91 00:05:37,085 --> 00:05:39,710 vetëm për të marrë një kuptim të asaj kërkesë që ne jemi duke ndërtuar 92 00:05:39,710 --> 00:05:41,390 duket si. 93 00:05:41,390 --> 00:05:46,150 Kështu që unë kam një kopje të kjo Blog50 përfunduar. 94 00:05:46,150 --> 00:05:51,910 Pra Laravel në të vërtetë ka ndërtuar në një server 95 00:05:51,910 --> 00:05:53,910 që ju mund të kandidojë direkt nga vija e komandës. 96 00:05:53,910 --> 00:05:56,900 Pra, kjo është e ngjashme me PSet para kur ju në të vërtetë 97 00:05:56,900 --> 00:06:00,580 ndërtuar serverin tuaj në C. Pra ata kanë një të ndërtuar në mënyrë 98 00:06:00,580 --> 00:06:04,010 që ju mund të kandidojë Apps tuaj Laravel direkt nga vija e komandës. 99 00:06:04,010 --> 00:06:11,650 >> Pra, në qoftë se ne bëjmë php artizanal shërbejnë, ky do të nisë një server të zhvillimit 100 00:06:11,650 --> 00:06:13,880 në portin 8000. 101 00:06:13,880 --> 00:06:18,250 Pra, nëse ne do të shkojmë për të presë lokale 8000, ju do të vëreni se, hej. 102 00:06:18,250 --> 00:06:20,800 Ne kemi blog up tonë dhe të rrjedhshëm. 103 00:06:20,800 --> 00:06:25,090 Pra Laravel këtu është gjeneruar faqja e parë e blogun tonë. 104 00:06:25,090 --> 00:06:26,350 Kërkesë shumë të thjeshtë. 105 00:06:26,350 --> 00:06:28,610 Por ka një çift Karakteristika të vërtetë i mrekullueshëm 106 00:06:28,610 --> 00:06:31,346 që ajo ofron nën kapuç. 107 00:06:31,346 --> 00:06:33,680 >> Pra aplikimi blog-së drejtpërdrejtë. 108 00:06:33,680 --> 00:06:36,430 Nëse ne të kërkuar për të krijuar një post, ne mund të klikoni në këtë buton. 109 00:06:36,430 --> 00:06:40,470 Ne mund të themi, "Hej, të gjithë. 110 00:06:40,470 --> 00:06:44,530 Kjo është një të vërtetë zbavitëse seminar ", për shembull. 111 00:06:44,530 --> 00:06:46,560 Dhe shkruani diçka këtu poshtë. 112 00:06:46,560 --> 00:06:48,180 Tekst këtu. 113 00:06:48,180 --> 00:06:51,327 Nëse do të klikoni Submit, ju do të vini re se blogun tonë të ri 114 00:06:51,327 --> 00:06:53,410 pas është shtuar në faqja e parë e blog. 115 00:06:53,410 --> 00:06:56,532 116 00:06:56,532 --> 00:06:59,970 Nëse kthehemi këtu, ju do të vëreni se ka pasur disa komente tashmë 117 00:06:59,970 --> 00:07:01,160 në blog. 118 00:07:01,160 --> 00:07:03,630 Pra, nëse ne lëvizni poshtë, ju do të vëreni se Jonathan Tan thotë 119 00:07:03,630 --> 00:07:08,020 se ai ishte shumë i intriguar nga ky post. 120 00:07:08,020 --> 00:07:11,570 >> Pra, ne do të shkojnë në si objekt mapping relacionale lejon 121 00:07:11,570 --> 00:07:16,668 ju të bëni këto marrëdhënie në një mënyrë mjaft seamless si. 122 00:07:16,668 --> 00:07:17,660 Ftohtë. 123 00:07:17,660 --> 00:07:20,290 Çdo pyetje në lidhje me funksionalitetin e ajo që ne jemi duke shkuar për të ndërtuar? 124 00:07:20,290 --> 00:07:22,850 125 00:07:22,850 --> 00:07:23,840 Ftohtë. 126 00:07:23,840 --> 00:07:28,170 Pra, le të fillojë me të vërtetë duke krijuar tabelat e databazës. 127 00:07:28,170 --> 00:07:33,190 >> Kështu kujtojmë se në CS50 Financave, t'ju vënë së bashku një tryezë për përdoruesit 128 00:07:33,190 --> 00:07:37,100 si dhe për stoqe në portofolin tuaj. 129 00:07:37,100 --> 00:07:41,040 Pra, siç kemi përmendur më herët, ajo që ne përdorim në Laravel 130 00:07:41,040 --> 00:07:43,090 është diçka e njohur si migrimeve. 131 00:07:43,090 --> 00:07:48,570 Pra, në qoftë se ne të kthehemi në Kodi shpërndarje këtu, 132 00:07:48,570 --> 00:07:51,790 komanda e parë që është dobishme që Laravel ju ofron 133 00:07:51,790 --> 00:07:54,240 është kjo komandë migruar. 134 00:07:54,240 --> 00:07:59,220 Pra, ne mund të bëjmë të migrojnë php artizanal: të bëjë. 135 00:07:59,220 --> 00:08:01,760 Pra, kjo na lejon të krijoni një migrim. 136 00:08:01,760 --> 00:08:03,710 >> Dhe pastaj ne do të dëshironi për të krijuar një migrim 137 00:08:03,710 --> 00:08:07,050 i quajtur create_posts_table, cila do 138 00:08:07,050 --> 00:08:11,521 të jetë ku ne jemi duke shkuar për të jetë ruajtjen postimet tonë blog. 139 00:08:11,521 --> 00:08:14,690 Dhe ju do të vini re këtu se ajo shkon përmes një kod që në të vërtetë 140 00:08:14,690 --> 00:08:17,580 gjeneron një skedë me një pullë kohë në të. 141 00:08:17,580 --> 00:08:22,260 Pra, nëse ne do të shkojmë dhe të kërkoni në bazën e të dhënave, ne do të vëreni nën Migrim 142 00:08:22,260 --> 00:08:24,830 se është krijuar një skedar bosh për ne që 143 00:08:24,830 --> 00:08:30,100 ka kodin njëllojtë me emrin që ne të specifikuara, të krijojë i mesazheve tryezë. 144 00:08:30,100 --> 00:08:31,670 >> Dhe ajo ka dy funksione në të. 145 00:08:31,670 --> 00:08:40,539 Up është ajo që ne duam të drejtuar kur migrimi është aplikuar në bazën e të dhënave. 146 00:08:40,539 --> 00:08:46,380 Dhe poshtë është ajo që ne jemi duke shkuar për të bërë kur ne duam të kundërt një migrimi. 147 00:08:46,380 --> 00:08:49,890 Pra, këtu le të fillojë nga me shkrim këtë migrimin. 148 00:08:49,890 --> 00:08:55,480 Pra, ka një klasë të dobishme në Laravel quajtur skema. 149 00:08:55,480 --> 00:08:57,910 >> Pra, ne jemi duke shkuar për të drejtuar Schema :: krijuar. 150 00:08:57,910 --> 00:09:01,080 Dhe ne jemi duke shkuar për të krijuar një tabelë të quajtur mesazhet. 151 00:09:01,080 --> 00:09:05,980 Dhe këtu ne aplikojmë këtë duke përdorur një funksion. 152 00:09:05,980 --> 00:09:11,010 Dhe brenda këtu, ne jemi duke shkuar për të vërtetë specifikojnë përmbajtjen e tryezën tonë. 153 00:09:11,010 --> 00:09:14,860 Ne jemi duke shkuar për të krijuar një ID, cila është auto-bën rritjen. 154 00:09:14,860 --> 00:09:19,850 155 00:09:19,850 --> 00:09:24,350 >> Përveç kësaj, ne jemi duke shkuar për të krijuar një fushë që 156 00:09:24,350 --> 00:09:27,060 përfaqëson titullin e blog post tonë. 157 00:09:27,060 --> 00:09:29,880 158 00:09:29,880 --> 00:09:36,950 Ne gjithashtu jemi duke shkuar për të krijuar një fushë për ruajtjen e tekstit të blog post tonë. 159 00:09:36,950 --> 00:09:40,600 Dhe më në fund, ne jemi duke shkuar për të ruajtur disa timestamps 160 00:09:40,600 --> 00:09:44,690 për kur u krijua pas ynë dhe kur ajo u përditësuar. 161 00:09:44,690 --> 00:09:46,240 Dhe për poshtë, kjo është mjaft e thjeshtë. 162 00:09:46,240 --> 00:09:53,974 Të gjithë ne duam të bëjmë është rënie tabelë që ne kemi krijuar. 163 00:09:53,974 --> 00:09:54,930 >> I madh. 164 00:09:54,930 --> 00:09:55,850 Çdo pyetje? 165 00:09:55,850 --> 00:09:59,730 166 00:09:59,730 --> 00:10:07,110 Pra, tani në qoftë se ne do të shkojmë përpara and-- në të vërtetë, host lokale, 167 00:10:07,110 --> 00:10:09,640 më lejoni të fshini atë që kemi pasur më herët. 168 00:10:09,640 --> 00:10:14,330 169 00:10:14,330 --> 00:10:15,190 Shko në bazat e të dhënave. 170 00:10:15,190 --> 00:10:17,640 Unë jam duke shkuar për të fshirë atë që kemi pasur më herët. 171 00:10:17,640 --> 00:10:22,870 Drop kjo dhe për të krijuar një bazë të dhënash të re Blog50. 172 00:10:22,870 --> 00:10:24,930 Pra, tani çfarë magjike pjesë është këtu se ne 173 00:10:24,930 --> 00:10:28,760 mund të aplikojnë këto migrime të drejtpërdrejt në bazën e të dhënave duke përdorur command line 174 00:10:28,760 --> 00:10:29,290 mjet. 175 00:10:29,290 --> 00:10:35,100 Pra, në qoftë se ne bëjmë migrojnë php artizanale, ju do të vëreni se, hej. 176 00:10:35,100 --> 00:10:38,320 Është krijuar tabelën e migracionit, të cilat ne do të hedhim një vështrim në në një grimë, 177 00:10:38,320 --> 00:10:40,540 dhe ajo e aplikuar këtë migrimin e parë. 178 00:10:40,540 --> 00:10:43,860 179 00:10:43,860 --> 00:10:48,920 >> Kështu që ne shikojmë në Blog50, ju do të vëreni që është krijuar dy pllaka për ne. 180 00:10:48,920 --> 00:10:50,300 Së pari është kjo tabelë migrimet. 181 00:10:50,300 --> 00:10:54,130 Pra, në qoftë se ne të shfletoni këtë, ju do të vëreni se kjo tabelë është mjaft i hapur. 182 00:10:54,130 --> 00:10:55,490 Është vetëm tha se, hej. 183 00:10:55,490 --> 00:10:58,960 Ne e kemi aplikuar këtë migrimin. 184 00:10:58,960 --> 00:11:01,470 Ne të shkojnë prapa dhe të shikojmë në postet. 185 00:11:01,470 --> 00:11:05,720 Ju do të vëreni se të strukturës është pikërisht ajo që ne e kishte kërkuar atë. 186 00:11:05,720 --> 00:11:07,350 Ne kemi një ID të auto-bën rritjen. 187 00:11:07,350 --> 00:11:10,450 Ne kemi një varg për magazinimin titulli, dhe një fushë teksti 188 00:11:10,450 --> 00:11:11,450 për ruajtjen e përmbajtjes. 189 00:11:11,450 --> 00:11:14,040 190 00:11:14,040 --> 00:11:14,706 I madh. 191 00:11:14,706 --> 00:11:15,560 Ftohtë. 192 00:11:15,560 --> 00:11:21,626 Çdo pyetje në lidhje me migrimet punë, se si ne mund të aplikoni ato? 193 00:11:21,626 --> 00:11:22,126 Nuk ka? 194 00:11:22,126 --> 00:11:23,600 Ftohtë. 195 00:11:23,600 --> 00:11:26,630 Pra, tani ne jemi duke shkuar për të shkuar përpara dhe në të vërtetë të krijuar modelin. 196 00:11:26,630 --> 00:11:33,100 Pra, ne duam të krijojmë një model i mesazheve që ruan një abstraksion të bazës së të dhënave. 197 00:11:33,100 --> 00:11:41,040 Pra, në vend se duke bërë pyetje MySQL drejtpërdrejt, ne jemi duke shkuar për të krijuar. 198 00:11:41,040 --> 00:11:45,840 Pra, ne duhet të krijojmë një dosje në të quajtura këtu modele. 199 00:11:45,840 --> 00:11:48,905 Dhe brenda këtu, ne jemi duke shkuar për të krijojë një skedar të quajtur post.php. 200 00:11:48,905 --> 00:11:52,280 201 00:11:52,280 --> 00:11:54,550 >> Brenda këtij file PHP, ne jemi duke shkuar për të krijuar 202 00:11:54,550 --> 00:12:00,590 një post klasë cila shtrihet elokuent. 203 00:12:00,590 --> 00:12:08,950 Elokuent është emri i ORM motor që Laravel ofron. 204 00:12:08,950 --> 00:12:12,799 Dhe në këtu, ne mund të presim që ju në të vërtetë nevojë për të shkruar disa kodin. 205 00:12:12,799 --> 00:12:14,840 Ne jemi duke shkuar për të shkruar disa Funksionet ndihmëse vonë. 206 00:12:14,840 --> 00:12:19,420 Por të dalë nga kutia, kjo tashmë do të njohin atë që është në bazën e të dhënave 207 00:12:19,420 --> 00:12:24,770 dhe ne mund të hyni, të themi, tekstin i blog post tonë apo titullin, 208 00:12:24,770 --> 00:12:29,230 dhe për të krijuar gjëra të drejtpërdrejt me shumë e shumë nuk ka kod whatsoever. 209 00:12:29,230 --> 00:12:31,110 >> Pra, kjo është një nga komponentët magjike. 210 00:12:31,110 --> 00:12:34,980 Dhe era dikur këtë klasë është e barabartë më të plotë, 211 00:12:34,980 --> 00:12:40,480 ne do të përfshijë informacion në lidhje me çfarë ajo është e lidhur me, kështu komenteve. 212 00:12:40,480 --> 00:12:42,310 Gjithashtu krijuar një funksion kështu që ne mund të vërtetë 213 00:12:42,310 --> 00:12:46,340 drejtpërdrejt merrni URL e një faqe blog post. 214 00:12:46,340 --> 00:12:46,840 Ftohtë. 215 00:12:46,840 --> 00:12:47,881 Çdo pyetje në lidhje me atë? 216 00:12:47,881 --> 00:12:51,140 217 00:12:51,140 --> 00:12:51,832 Jo. 218 00:12:51,832 --> 00:12:54,100 Ftohtë. 219 00:12:54,100 --> 00:12:57,860 >> Pra, tani një herë ne kemi modelin tonë, ne duan të krijojnë një kontrollues që është 220 00:12:57,860 --> 00:13:02,340 gjendje te kryesh me këto modele, dhe më pas bazës së të dhënave. 221 00:13:02,340 --> 00:13:05,540 Pra, në qoftë se ne të marrë një vështrim në BlogController, ju do të 222 00:13:05,540 --> 00:13:08,490 vini re se atje nuk është shumë këtu tani. 223 00:13:08,490 --> 00:13:13,220 Të gjitha ka një funksion indeks që gjeneron në faqen kryesore, 224 00:13:13,220 --> 00:13:18,220 por pa ndonjë gjë atje për të shfaqur ende. 225 00:13:18,220 --> 00:13:20,560 >> Kështu funksionin e parë se ne jemi duke shkuar për të krijuar 226 00:13:20,560 --> 00:13:25,790 është ai që na lejon për të krijuar një blog post. 227 00:13:25,790 --> 00:13:30,540 Pra, ne jemi duke shkuar për të deklaruar një Funksioni i ri i quajtur newPost. 228 00:13:30,540 --> 00:13:36,430 Dhe brenda këtu thjesht, ne jemi duke shkuar për të vendosur paraqitjen e kësaj faqeje 229 00:13:36,430 --> 00:13:41,850 të jetë një version të merr, nëse ju kujtohet nga CS50, 230 00:13:41,850 --> 00:13:48,020 i këtij template quajtur blog.new, e cila ne jemi duke shkuar për të krijuar në një pak. 231 00:13:48,020 --> 00:13:53,170 >> Ju do të vini re këtu në linjë gjashtë që ne specifikuar këtë variabël, layout. 232 00:13:53,170 --> 00:13:55,820 Dhe në qoftë se ne të marrë një sy në dosje Views, 233 00:13:55,820 --> 00:14:01,640 ka një dosje Layouts, të cilat përfshin një file shumë themelore HTML. 234 00:14:01,640 --> 00:14:04,680 Dhe e vini re, ju do të vëreni që ne e kemi këtë enë 235 00:14:04,680 --> 00:14:06,800 këtu që jep përmbajtje. 236 00:14:06,800 --> 00:14:09,460 Pra, brenda template tonë ajo që ne jemi duke shkuar për të bërë 237 00:14:09,460 --> 00:14:16,180 është krijuar atë që do të jetë zëvendësua direkt brenda kësaj layout. 238 00:14:16,180 --> 00:14:20,060 >> Pra, ne tha se ne duam që të merr një template quajtur blog.new. 239 00:14:20,060 --> 00:14:23,790 Por brenda Blog, nuk ka jo ende kjo template të ri. 240 00:14:23,790 --> 00:14:26,910 Pra, ne jemi duke shkuar për të krijuar një skedar i quajtur new.blade.php. 241 00:14:26,910 --> 00:14:29,860 Kjo tregon se Laravel kjo PHP skedar duhet 242 00:14:29,860 --> 00:14:31,720 të jetë dhënë me motor teh template. 243 00:14:31,720 --> 00:14:39,510 244 00:14:39,510 --> 00:14:42,630 Pra, kjo është një mënyrë të drejtë skedar i thjeshtë. 245 00:14:42,630 --> 00:14:46,690 Ajo do të jetë forma me të cilën ne në të vërtetë të shtoni në një blog post. 246 00:14:46,690 --> 00:14:49,220 >> Pra magjinë këtu nga trashëgimia është se, hej. 247 00:14:49,220 --> 00:14:52,950 Ne duam të specifikojë se seksioni, seksioni përmbajtja 248 00:14:52,950 --> 00:14:56,640 këtu, e cila është e përcaktuar që ngasection dhestop. 249 00:14:56,640 --> 00:15:02,260 Pra, çfarë është në mes këtu do të të zëvendësohet në master-plan urbanistik. 250 00:15:02,260 --> 00:15:07,000 Dhe këtu ajo që ne duam të bëjmë është shumë thjesht të krijuar një skedë të re HTML. 251 00:15:07,000 --> 00:15:08,690 Le të vetëm të shtoni një titull të shpejtë. 252 00:15:08,690 --> 00:15:09,600 Shto një blog post. 253 00:15:09,600 --> 00:15:12,110 254 00:15:12,110 --> 00:15:15,390 Dhe brenda saj, ne jemi duke shkuar për të krijuar një formë. 255 00:15:15,390 --> 00:15:19,197 >> Kjo formë do të ketë një veprim. 256 00:15:19,197 --> 00:15:21,780 Dhe kjo do të jetë diçka që ne të zëvendësojë në më vonë, 257 00:15:21,780 --> 00:15:24,200 dhe ne do të shohim se si kurs i përshtatet në këtu. 258 00:15:24,200 --> 00:15:33,600 Por ne jemi vetëm do të përcaktojë për tani se kjo shkon në një URL me rrugë 259 00:15:33,600 --> 00:15:34,860 nga createPost. 260 00:15:34,860 --> 00:15:38,200 261 00:15:38,200 --> 00:15:40,320 Dhe pastaj kjo do që të ketë postim metodë. 262 00:15:40,320 --> 00:15:43,940 263 00:15:43,940 --> 00:15:47,590 Brenda këtu, ne jemi duke shkuar të ketë dy fusha. 264 00:15:47,590 --> 00:15:49,170 Klasë div = "formë-grup". 265 00:15:49,170 --> 00:15:55,806 >> Ne jemi duke përdorur bibliotekën bootstrap CSS dhënë me mirësjellje nga Twitter. 266 00:15:55,806 --> 00:15:57,720 Pra, ne jemi duke shkuar për të krijuar dy nga këto. 267 00:15:57,720 --> 00:16:01,700 268 00:16:01,700 --> 00:16:05,970 Pra, kjo input i parë është do të jetë titulli. 269 00:16:05,970 --> 00:16:08,437 Emri Pra input = "title". 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 Unë jam duke shkuar për të shtuar një placeholder = "Titulli". 274 00:16:16,050 --> 00:16:21,570 275 00:16:21,570 --> 00:16:26,140 >> Dhe pastaj e dyta është do të jetë një zonë teksti. 276 00:16:26,140 --> 00:16:27,827 Emri = "përmbajtjen". 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 Dhe placeholder = "Shkruani këtu". 280 00:16:34,610 --> 00:16:42,030 281 00:16:42,030 --> 00:16:43,480 Ka ne do të shkojmë. 282 00:16:43,480 --> 00:16:46,760 Së fundi, ne jemi duke shkuar për të shtoni një buton të shpejtë të paraqitur. 283 00:16:46,760 --> 00:16:50,370 Type = "submit" class = "btn BTN-primar". 284 00:16:50,370 --> 00:16:53,370 285 00:16:53,370 --> 00:16:55,340 Pra, këto janë të gjitha Tiparet e bootstrap kështu 286 00:16:55,340 --> 00:16:58,510 se kjo mund të jetë hedhur në një mënyrë që është e 287 00:16:58,510 --> 00:17:03,730 pre të përdoruesit, në vend se HTML zhveshur. 288 00:17:03,730 --> 00:17:06,250 >> Pra, ne kemi përcaktuar kontrollues këtu. 289 00:17:06,250 --> 00:17:08,930 Ne kemi përcaktuar një pamje shumë të thjeshtë. 290 00:17:08,930 --> 00:17:12,339 Por ajo që mungon është ind lidhës. 291 00:17:12,339 --> 00:17:15,420 Pra, në këtë pikë, Laravel ka asnjë ide se si 292 00:17:15,420 --> 00:17:18,312 ne jemi duke shkuar për të vërtetë hyrë në këtë kontrollues. 293 00:17:18,312 --> 00:17:20,270 Pra, kjo është e përcaktuar në një skedar i quajtur routes.php. 294 00:17:20,270 --> 00:17:22,780 295 00:17:22,780 --> 00:17:24,310 Dhe tani, ne kemi një rrugë. 296 00:17:24,310 --> 00:17:29,060 Cili është kur të shkojmë për të shteg shtëpi për këtë faqe interneti, 297 00:17:29,060 --> 00:17:33,140 ajo do të merr Indeksi kontrollues. 298 00:17:33,140 --> 00:17:38,880 Kështu që këtu ajo që ne duhet të bëjmë është të zbatojë një rrugë e re për ne për të krijuar një post. 299 00:17:38,880 --> 00:17:41,910 >> Pra, ne e përdorim këtë metodë të marrë, e cila specifikon 300 00:17:41,910 --> 00:17:48,650 se kur një përdorues përpiqet të merrni këtë page-- mënyrë specifike 301 00:17:48,650 --> 00:17:52,850 pas çaj page-- të re ajo që ne jemi duke shkuar për të bërë 302 00:17:52,850 --> 00:18:02,060 po përdorin kontrollues të quajtur Pas BlogController i ri. 303 00:18:02,060 --> 00:18:03,460 Ai që ne sapo krijuar. 304 00:18:03,460 --> 00:18:08,090 Dhe atëherë ne jemi duke shkuar për Alias ​​atë si newPost. 305 00:18:08,090 --> 00:18:17,460 306 00:18:17,460 --> 00:18:19,850 Ne jemi duke shkuar për të krijuar një tjetër funksion në një pak. 307 00:18:19,850 --> 00:18:23,520 Por ajo që është këtu nën kyç "si" është çfarë 308 00:18:23,520 --> 00:18:28,195 ne mund të zëvendësojnë brenda Blade templates tona. 309 00:18:28,195 --> 00:18:32,390 310 00:18:32,390 --> 00:18:36,230 Pra, tani për tani, le të në të vërtetë po të them gjithashtu rrugë. 311 00:18:36,230 --> 00:18:38,380 Pra, ne jemi edhe duke shkuar për të krijuar një kontrollues 312 00:18:38,380 --> 00:18:41,020 kështu që ne mund të krijojë këto poste. 313 00:18:41,020 --> 00:18:46,940 Pra, në qoftë se një përdorues posts për postin e faqes çaj i ri, ajo që ne jemi duke shkuar për të bërë 314 00:18:46,940 --> 00:18:51,350 është përdor një kontrollues që ne jemi duke shkuar për të krijuar pak kohë 315 00:18:51,350 --> 00:18:56,160 i quajtur BlogController në createPost. 316 00:18:56,160 --> 00:19:01,929 Dhe ne jemi duke shkuar për alias kjo me sa createPost. 317 00:19:01,929 --> 00:19:03,380 Ftohtë. 318 00:19:03,380 --> 00:19:05,811 >> Çdo pyetje? 319 00:19:05,811 --> 00:19:06,310 Ftohtë. 320 00:19:06,310 --> 00:19:09,790 Pra, le të kandidojë atë që kemi deri tani. 321 00:19:09,790 --> 00:19:16,930 Pra, në qoftë se ne bëjmë php artizanal shërbej, ne do të shohim shumë gabime. 322 00:19:16,930 --> 00:19:20,385 Pra, duket si ne kemi një gabim sintakse në rrugët vijë 27. 323 00:19:20,385 --> 00:19:20,885 Ah. 324 00:19:20,885 --> 00:19:21,718 Missing një pikëpresje. 325 00:19:21,718 --> 00:19:24,900 326 00:19:24,900 --> 00:19:32,870 Pra, nëse ne do të shkojmë në 8000, ju do të shihni asgjë këtu ende. 327 00:19:32,870 --> 00:19:34,740 Pra, kjo është faqe në shtëpi default. 328 00:19:34,740 --> 00:19:37,730 >> Por nëse ne do të shkojmë për të postoj çaj i ri, hej. 329 00:19:37,730 --> 00:19:40,425 Ajo do të jetë në formën që ne sapo krijuar. 330 00:19:40,425 --> 00:19:42,550 Tani për tani, ne nuk kemi zbatuar funksionalitetin 331 00:19:42,550 --> 00:19:44,060 e kur ne shtypni butonin Submit. 332 00:19:44,060 --> 00:19:47,110 Pra, në qoftë se ne të klikoni mbi Submit button, ajo do të kandidojë një gabim. 333 00:19:47,110 --> 00:19:49,840 Por ne jemi duke shkuar për kodin që tani, pikërisht ajo që ne 334 00:19:49,840 --> 00:19:54,840 doni të bëni kur një përdorues paraqet këtë formular. 335 00:19:54,840 --> 00:19:55,770 >> Pra, le ta bëjmë këtë. 336 00:19:55,770 --> 00:19:57,380 Kthehu mbrapa në dosjen e kontrolluesit. 337 00:19:57,380 --> 00:20:00,180 Ajo që ne jemi duke shkuar për të bërë është zbatojë këtë funksion të ri 338 00:20:00,180 --> 00:20:04,360 që na lejon për të krijuar një post. 339 00:20:04,360 --> 00:20:07,370 340 00:20:07,370 --> 00:20:08,990 Deklaroni funksion të ri. 341 00:20:08,990 --> 00:20:11,527 CreatePost funksion publik. 342 00:20:11,527 --> 00:20:14,610 Dhe ky funksion do të jetë një pak më shumë i sofistikuar se çfarë 343 00:20:14,610 --> 00:20:15,559 kemi pasur më parë. 344 00:20:15,559 --> 00:20:18,350 Por ju do të shihni këtu se ne nuk jemi shkuar për të vërtetë shkruaj ndonjë SQL. 345 00:20:18,350 --> 00:20:20,980 ORM, elokuent ORM, do të lejojë 346 00:20:20,980 --> 00:20:26,400 na për të bërë këtë në disa mënyra një mënyrë më elegante. 347 00:20:26,400 --> 00:20:29,140 >> Pra, ne jemi duke shkuar për të krijuar një post të ri. 348 00:20:29,140 --> 00:20:34,120 Dhe këtu ne jemi instantiating një objekt të ri 349 00:20:34,120 --> 00:20:38,080 nga modeli që ne vetëm krijuar, modeli pas. 350 00:20:38,080 --> 00:20:44,450 Dhe ajo që ne jemi duke shkuar për të bëni është vendosur atribut Titulli i këtij diçka duke përdorur 351 00:20:44,450 --> 00:20:47,380 që ne të merrni nga serveri. 352 00:20:47,380 --> 00:20:52,060 Pra, kjo është e ngjashme me atë që kemi pasur më parë në CS50 Financave 353 00:20:52,060 --> 00:20:57,750 ku ne do të bëjmë, duke përdorur Super Global Post kërkuar për titull. 354 00:20:57,750 --> 00:21:01,600 >> Pra Laravel ofron disa kanalizime dhe gjësend duke përdorur këtë funksion të ndihmës. 355 00:21:01,600 --> 00:21:07,610 Pra, ne do të preferojnë të përdorin këtë vend i kësaj forme shumë bazë të para nga PHP. 356 00:21:07,610 --> 00:21:17,430 Dhe pastaj ajo që ne jemi duke shkuar për të bëni është vendosur përmbajtja e saj për të Input marrë përmbajtje. 357 00:21:17,430 --> 00:21:20,429 358 00:21:20,429 --> 00:21:22,720 Ne jemi të vërtetë duke shkuar për të përfunduar kjo në një funksion të dobishëm 359 00:21:22,720 --> 00:21:31,820 që PHP ofron quhet nl2br, e cila kthen të reja linjave, NLS, në BRS, prishet, 360 00:21:31,820 --> 00:21:35,822 kështu që ne në fakt mund të ketë Paragrafët e ndryshme brenda saj. 361 00:21:35,822 --> 00:21:38,030 Dhe më në fund atë që ne jemi duke shkuar të bëni është të ruani këtë post. 362 00:21:38,030 --> 00:21:41,686 Kështu që ne e quajmë funksion të ruajtur në këtë model. 363 00:21:41,686 --> 00:21:43,800 Ne jemi duke shkuar për të ruajtur postin. 364 00:21:43,800 --> 00:21:49,970 Dhe më në fund atë që ne jemi duke shkuar për të bërë po përcjellim përdoruesit në mënyrë specifike 365 00:21:49,970 --> 00:21:55,060 të rrugës që ne jemi duke shkuar për të të krijojë së shpejti, alias nga viewPost. 366 00:21:55,060 --> 00:22:00,435 Dhe ne jemi duke shkuar për të kaluar në argumentet id, duke qenë id e këtë post të ri. 367 00:22:00,435 --> 00:22:04,280 368 00:22:04,280 --> 00:22:05,640 >> I madh. 369 00:22:05,640 --> 00:22:09,090 Pra, tani në qoftë se ne në të vërtetë të shkojnë dhe të drejtuar këtë. 370 00:22:09,090 --> 00:22:11,370 Ne jemi duke shkuar për të shtuar një post të ri. 371 00:22:11,370 --> 00:22:15,930 Le të thonë se kjo është seminar 50. 372 00:22:15,930 --> 00:22:17,620 Dhe thonë, i sigurt. 373 00:22:17,620 --> 00:22:18,240 ASDL. 374 00:22:18,240 --> 00:22:18,740 Çfarëdo. 375 00:22:18,740 --> 00:22:20,320 Një lloj përmbajtje. 376 00:22:20,320 --> 00:22:21,180 Dhe Submit atë. 377 00:22:21,180 --> 00:22:23,850 Dhe ne do të vëreni se, hej. Rrugët nuk definuar. 378 00:22:23,850 --> 00:22:32,340 Por në qoftë se ne bëjmë një vështrim në phpMyAdmin dhe shikoni për nëse ose jo funksionin tonë 379 00:22:32,340 --> 00:22:34,370 bëri asgjë. 380 00:22:34,370 --> 00:22:36,670 Shikoni në postet Blog50. 381 00:22:36,670 --> 00:22:37,720 Ne do të vëreni se, hej. 382 00:22:37,720 --> 00:22:43,530 Në fakt, ne vetëm nuk të krijuar atë blog postoj me timestamps siç specifikohet. 383 00:22:43,530 --> 00:22:46,600 384 00:22:46,600 --> 00:22:51,630 >> Pra, tani le të kthehemi dhe të vërtetë të krijuar ky funksion tjetër në kontrollues tonë, 385 00:22:51,630 --> 00:22:54,790 në mënyrë specifike kontrollues viewPost. 386 00:22:54,790 --> 00:23:00,290 ViewPost funksion kaq publik. 387 00:23:00,290 --> 00:23:04,070 Kështu që këtu ajo që ne do të bëjmë, në vend të paturit e kllapa bosh, 388 00:23:04,070 --> 00:23:08,800 ne do të duan të kalojnë në ID e e pas që ne jemi duke krijuar. 389 00:23:08,800 --> 00:23:12,800 Dhe nga këtu ajo që ne jemi duke shkuar për të bërë është në të vërtetë query bazës së të dhënave për të. 390 00:23:12,800 --> 00:23:15,140 >> Pra, në qoftë se ne bëjmë të postoni, ka një funksion të quajtur 391 00:23:15,140 --> 00:23:18,860 Gjej që na lejon të query atë me ID. 392 00:23:18,860 --> 00:23:22,110 Në mënyrë të veçantë, në të vërtetë, ne jemi duke shkuar për përdorni një version alternativ i kësaj të quajtur 393 00:23:22,110 --> 00:23:27,880 Gjej ose Fail, e cila na lejon për të lënë jashtë këtij funksioni, 394 00:23:27,880 --> 00:23:34,700 hedh një përjashtim nëse ID ne të kalojë në nuk ekziston. 395 00:23:34,700 --> 00:23:37,500 Dhe atëherë ne jemi duke shkuar për të bërë diçka të ngjashme me atë që ne e bëmë më herët 396 00:23:37,500 --> 00:23:41,100 ku ne kemi vendosur në përmbajtjen këtë faqe të jetë 397 00:23:41,100 --> 00:23:47,950 version i dhënë kësaj pikëpamjeje të re që ne jemi duke shkuar për të krijuar, blog.view. 398 00:23:47,950 --> 00:23:51,030 >> Dhe ne jemi duke shkuar për të kaluar në it-- ashtu si në CS50 suvatoj 399 00:23:51,030 --> 00:23:56,645 function-- një fjalor të variablave. 400 00:23:56,645 --> 00:23:59,860 401 00:23:59,860 --> 00:24:04,620 Çelësat e këtij array associative të bëhet variabla brenda template. 402 00:24:04,620 --> 00:24:06,830 Pra, ne jemi duke shkuar për të bërë postim pas. 403 00:24:06,830 --> 00:24:12,474 Pra kalojnë tërthorazi postin që ne kemi kërkohet nga baza e të dhënave. . 404 00:24:12,474 --> 00:24:14,390 Tani ajo që ne jemi duke shkuar për bëni është të krijojë këtë pikëpamje 405 00:24:14,390 --> 00:24:17,560 kështu që ne në fakt mund të shikoni e blog posts që ne kemi ndërtuar. 406 00:24:17,560 --> 00:24:20,280 >> Pra, ne jemi duke shkuar për të krijuar një skedar i quajtur view.blade.php. 407 00:24:20,280 --> 00:24:25,870 408 00:24:25,870 --> 00:24:29,640 Pra, brenda këtij template, ajo që ne jemi duke shkuar për të bërë 409 00:24:29,640 --> 00:24:39,700 është vënë së bashku një faqe të thjeshtë që na lejon për të shfaqur përmbajtjen. 410 00:24:39,700 --> 00:24:44,280 Pra, ne bëjmë pjesë, kjo është e para përmbajtje. 411 00:24:44,280 --> 00:24:46,800 Stop. 412 00:24:46,800 --> 00:24:53,920 Dhe çfarë ne jemi duke shkuar për të bërë brenda këtu është 413 00:24:53,920 --> 00:24:56,930 shkruaj disa HTML për të shfaqur këtë faqe. 414 00:24:56,930 --> 00:25:03,590 >> Pra, ne jemi duke shkuar për të përfunduar atë me një dashuroj element i ri HTML5 quajtur Neni. 415 00:25:03,590 --> 00:25:05,790 Dhe në këtu, ne jemi duke shkuar që të ketë një kokë ku 416 00:25:05,790 --> 00:25:12,190 ne jemi duke shkuar për të thjesht të ketë një H1, që përfshin titullin pas. 417 00:25:12,190 --> 00:25:17,120 Pra këtu, nëse ne shikojmë në këtë double simbol kaçurrel mbajtëse, 418 00:25:17,120 --> 00:25:21,690 kjo do të bëjë në thelb PHP jehonë titullin pas. 419 00:25:21,690 --> 00:25:25,630 Pra, kjo është një stenografi dobishme që Laravel na ofron. 420 00:25:25,630 --> 00:25:31,070 Pra, ne jemi duke shkuar për të përdorur ky simbol në vend. 421 00:25:31,070 --> 00:25:40,220 >> Dhe këtu, ne jemi duke shkuar për të shtypura nga përmbajtja e saj. 422 00:25:40,220 --> 00:25:43,480 Dhe në këtu, ne jemi duke shkuar për të bërë përmbajtje pas. 423 00:25:43,480 --> 00:25:46,514 424 00:25:46,514 --> 00:25:50,660 Dhe poshtë në fund atë që ne jeni do të bëni është të krijojë një futboll. 425 00:25:50,660 --> 00:25:57,690 Dhe në futboll, ne jemi duke shkuar për shfaqje e parë kur ky ishte postuar. 426 00:25:57,690 --> 00:26:01,320 Pra, kjo ishte e postuar në, e krijuar në. 427 00:26:01,320 --> 00:26:07,996 >> Dhe Laravel përdor një të vërtetë e bukur Data bibliotekë quajtur karboni. 428 00:26:07,996 --> 00:26:11,120 Pra, ne në fakt mund të bëjë diçka të quajtur difforHumans, që ke parë më herët. 429 00:26:11,120 --> 00:26:14,360 Kur ne të postuar. ajo do të thonë, si, pesë sekonda më parë. 430 00:26:14,360 --> 00:26:16,860 Pra, kjo është një të vërtetë e bukur funksionalitetin e Laravel. 431 00:26:16,860 --> 00:26:19,469 432 00:26:19,469 --> 00:26:21,385 Dhe më në fund, ne jemi duke shkuar për të mbyllur këtë futboll. 433 00:26:21,385 --> 00:26:24,900 434 00:26:24,900 --> 00:26:31,450 >> Pra, tani në qoftë se ne të kthehemi në Faqja Kryesore ne jemi duke shkuar 435 00:26:31,450 --> 00:26:34,490 për të parë se asgjë këtu ende sepse ne nuk e kemi koduar deri në faqen kryesore. 436 00:26:34,490 --> 00:26:40,962 Por nëse ne do të shkojmë për të postoj një çaj, ne jemi duke shkuar për të parë një përjashtim. 437 00:26:40,962 --> 00:26:42,670 A e di ndokush pse ne shohim një përjashtim? 438 00:26:42,670 --> 00:26:44,516 Çfarë jemi të humbur? 439 00:26:44,516 --> 00:26:45,290 Ndonjë ide? 440 00:26:45,290 --> 00:26:48,050 441 00:26:48,050 --> 00:26:49,790 Pra, çfarë bëri që ne bëjmë më herët për ne në të vërtetë 442 00:26:49,790 --> 00:26:52,285 për të përcaktuar se si ne të merrni për të kontrolluesit të veçanta? 443 00:26:52,285 --> 00:26:54,895 444 00:26:54,895 --> 00:26:55,770 >> Gjuha 1: rrugë? 445 00:26:55,770 --> 00:26:56,519 Eric Ouyang: Po. 446 00:26:56,519 --> 00:26:58,070 Pra, ne ende kemi për të përcaktuar rrugën. 447 00:26:58,070 --> 00:26:59,794 Pra, ne të kthehemi këtu për të routes.php. 448 00:26:59,794 --> 00:27:01,710 Ju do të vini re se ne nuk kanë përcaktuar në të vërtetë 449 00:27:01,710 --> 00:27:05,010 se si ne jemi duke shkuar për të marrë në këtë kontrollues. 450 00:27:05,010 --> 00:27:06,780 Pra, tani ne jemi duke shkuar për të përcaktuar këtë rrugë. 451 00:27:06,780 --> 00:27:09,280 Është mjaft i hapur, të ngjashme me atë që ne e bëmë më herët. 452 00:27:09,280 --> 00:27:13,910 Por ajo që ne jemi duke shkuar për të vini re këtu është se ne do të kemi një placeholder. 453 00:27:13,910 --> 00:27:18,730 >> Pra, në qoftë se ne bëjmë route.get pas slash ID. 454 00:27:18,730 --> 00:27:24,290 Pra ID tani është se çfarë do të të kalojë në kontrollues. 455 00:27:24,290 --> 00:27:27,820 Kjo do të përdorni kontrollues që ne vetëm 456 00:27:27,820 --> 00:27:33,560 krijuar, BlogController në viewPost. 457 00:27:33,560 --> 00:27:36,420 Dhe ne jemi duke shkuar për alias këtë si viewPost. 458 00:27:36,420 --> 00:27:46,544 459 00:27:46,544 --> 00:27:47,490 I madh. 460 00:27:47,490 --> 00:27:49,470 Pra, tani ne jemi duke shkuar për të krijuar këtë rrugë. 461 00:27:49,470 --> 00:27:52,100 >> Pra, tani në qoftë se ne do të shkojmë këtu dhe rifreskoni këtë faqe, 462 00:27:52,100 --> 00:27:54,410 ne në të vërtetë keni blog post tonë të ri. 463 00:27:54,410 --> 00:27:57,710 Pra, kjo është ajo që ne e krijuar më herët. 464 00:27:57,710 --> 00:28:01,320 Very faqe e thjeshtë, por tregon blog post se ne sapo krijuar. 465 00:28:01,320 --> 00:28:04,210 466 00:28:04,210 --> 00:28:04,760 Ftohtë. 467 00:28:04,760 --> 00:28:08,880 Dhe nëse ne në të vërtetë të kalojnë nëpër të gjithë Procesi i krijimit të një blog post të ri, 468 00:28:08,880 --> 00:28:11,700 ne do të vëreni se çdo gjë përcjellëse siç duhet. 469 00:28:11,700 --> 00:28:12,950 Nëse unë them, "Hi. 470 00:28:12,950 --> 00:28:15,710 Unë jam Jonathan Tan. " 471 00:28:15,710 --> 00:28:18,550 Thuaj: "Kjo është blog postimi im." 472 00:28:18,550 --> 00:28:22,830 Dhe Submit atë, kjo do të krijojë ky blog post të ri me ID 2, 473 00:28:22,830 --> 00:28:28,920 që increments nga ajo që kemi pasur më parë dhe tregon atë siç duhet. 474 00:28:28,920 --> 00:28:30,760 Awesome. 475 00:28:30,760 --> 00:28:32,930 >> Çdo pyetje? 476 00:28:32,930 --> 00:28:33,430 Po? 477 00:28:33,430 --> 00:28:36,537 >> Gjuha 2: A Laravel trajtuar sanitization dhe çdo gjë për ju? 478 00:28:36,537 --> 00:28:37,245 Eric Ouyang: Po. 479 00:28:37,245 --> 00:28:42,990 Pra, kur e pamë më herët kur ne e bëmë të dhëna zorrës së trashë të marrë, 480 00:28:42,990 --> 00:28:47,720 që sanitates ndonjë SQL injeksione dhe gjësend 481 00:28:47,720 --> 00:28:51,660 që ne të mund të dëshironi për të kryer nëse ne jemi një përdorues keqdashës i faqes së internetit. 482 00:28:51,660 --> 00:28:54,115 Pra Laravel trajton shumë e që në prapaskenë. 483 00:28:54,115 --> 00:28:57,030 Pyetje e mirë. 484 00:28:57,030 --> 00:29:00,390 >> Pra, le të marrin një vështrim në faqen kryesore. 485 00:29:00,390 --> 00:29:03,220 486 00:29:03,220 --> 00:29:06,790 Pra, nëse ne së pari të kthehemi në kontrollues për faqen kryesore, 487 00:29:06,790 --> 00:29:08,740 ju do të vëreni se ajo nuk e bëjnë shumë këtu. 488 00:29:08,740 --> 00:29:11,620 Ju do të vini re se ne nuk jemi duke kaluar në këtë kontrollues 489 00:29:11,620 --> 00:29:13,830 diçka veçanërisht të dobishme. 490 00:29:13,830 --> 00:29:16,660 Është vetëm ky indeks fotografi. 491 00:29:16,660 --> 00:29:18,770 >> Pra, le të kalojë në kjo diçka e dobishme. 492 00:29:18,770 --> 00:29:21,450 Dhe në mënyrë të veçantë, ne jemi duke shkuar për të kaluar në postet. 493 00:29:21,450 --> 00:29:28,740 Dhe Laravel na lejon për të bërë post të gjithë, e cila 494 00:29:28,740 --> 00:29:30,625 do të na lejojë të marrë të gjitha postimet e bëra. 495 00:29:30,625 --> 00:29:33,160 496 00:29:33,160 --> 00:29:35,730 Tani në qoftë se ne të kthehemi në index.php, ju do të shihni, hej. 497 00:29:35,730 --> 00:29:37,060 Asgjë këtu ende. 498 00:29:37,060 --> 00:29:41,290 Por ajo që ne duam të bëjmë këtu është në të vërtetë iterate nëpër, 499 00:29:41,290 --> 00:29:46,420 të bëjë një lak foreach mbi postet që na lejon të shtypura nga postimet. 500 00:29:46,420 --> 00:29:53,180 >> Postimet e kështu foreach si pas, ajo që ne duam të bëjmë 501 00:29:53,180 --> 00:29:57,252 është e shtypura nga përmbajtja i blog post. 502 00:29:57,252 --> 00:30:00,210 Por një gjë që ju do të njoftim është se ne fakt ka shkruar pjesën më të madhe atë kod 503 00:30:00,210 --> 00:30:01,370 tashmë, në view.blade.php. 504 00:30:01,370 --> 00:30:04,070 505 00:30:04,070 --> 00:30:08,640 Pra, ajo që ne jemi duke shkuar për të vërtetë të bërë është përdorni një tipar të bukur të dobishme e Blade 506 00:30:08,640 --> 00:30:11,300 dhe faktor jashtë këtë kod të përbashkët. 507 00:30:11,300 --> 00:30:12,570 Kështu që ne do të shkojmë këtu. 508 00:30:12,570 --> 00:30:16,210 >> Ne jemi duke shkuar për të marrë këtë përmbajtje të drejtë këtu, dhe ajo që ne jemi duke shkuar për të bërë 509 00:30:16,210 --> 00:30:18,170 është krijuar një dosje të re. 510 00:30:18,170 --> 00:30:20,364 Le të vetëm e quajti atë partials. 511 00:30:20,364 --> 00:30:22,530 Dhe në këtu, ne jemi duke shkuar për të krijuar një post.blade.php. 512 00:30:22,530 --> 00:30:26,570 513 00:30:26,570 --> 00:30:33,100 Pra këtu, ne faktorë jashtë rrugën në të cilat ne duam të shfaqur këto poste. 514 00:30:33,100 --> 00:30:38,690 Dhe këtu ajo që ne do të bëjmë në vend të në të vërtetë duke se HTML drejtpërdrejt, 515 00:30:38,690 --> 00:30:41,530 ne jemi duke shkuar për të përdorur këtë direktivë i quajtur përfshijnë blog.partials.post. 516 00:30:41,530 --> 00:30:45,210 517 00:30:45,210 --> 00:30:50,635 >> Dhe ajo që ne jemi duke shkuar për të bërë këtu është të kalojë në postin e faqes. 518 00:30:50,635 --> 00:30:57,076 519 00:30:57,076 --> 00:31:01,050 Pra, tani në qoftë se ne do të shkojmë përsëri këtu, ne do të vini re se funksionalitetin është ende 520 00:31:01,050 --> 00:31:01,550 njëjtë. 521 00:31:01,550 --> 00:31:05,140 Por tani ne kemi këtë faktorë jashtë kod, ky HTML. 522 00:31:05,140 --> 00:31:07,070 Pra, ne mund ta përdorin atë në Indeksin. 523 00:31:07,070 --> 00:31:09,090 Pra këtu, kjo është shumë e thjeshtë. 524 00:31:09,090 --> 00:31:17,870 Të gjithë ne bëjmë është të përfshijë blog.partials.post dhe array. 525 00:31:17,870 --> 00:31:20,845 Dhe diku në para, ne bëjmë pas postim. 526 00:31:20,845 --> 00:31:23,830 527 00:31:23,830 --> 00:31:28,182 >> Pra, tani në qoftë se ne të kthehemi në faqe në shtëpi, ne do të shohim se, hej. 528 00:31:28,182 --> 00:31:30,515 Ne kemi një listë të të gjithë blog posts që kishim përpara. 529 00:31:30,515 --> 00:31:34,640 530 00:31:34,640 --> 00:31:37,700 Ne mund të dëshironi të shtoni disa "nëse" kushtet dhe kushtet "tjetër" 531 00:31:37,700 --> 00:31:39,979 kështu që në qoftë se ne nuk kemi çdo gjë në blog, 532 00:31:39,979 --> 00:31:41,520 ne duam të shfaqur diçka të dobishme. 533 00:31:41,520 --> 00:31:42,570 Si, hej. 534 00:31:42,570 --> 00:31:44,340 Nuk ka përmbajtje ende në blog. 535 00:31:44,340 --> 00:31:47,670 Dhe në qoftë se ju djema të vërtetë të shohim në Kodi i shpërndarjes në Github, 536 00:31:47,670 --> 00:31:50,100 ju do të shihni një shembull se si të bëjmë atë. 537 00:31:50,100 --> 00:31:52,770 538 00:31:52,770 --> 00:31:54,110 >> Ftohtë. 539 00:31:54,110 --> 00:31:54,890 Çdo pyetje? 540 00:31:54,890 --> 00:31:55,510 Po. 541 00:31:55,510 --> 00:31:57,468 >> Gjuha 2: Unë mendoj vetëm një pyetje themelore. 542 00:31:57,468 --> 00:31:59,480 Mbrapsht në rrugë. 543 00:31:59,480 --> 00:32:00,230 Eric Ouyang: Po. 544 00:32:00,230 --> 00:32:01,935 Nëse do të bëjmë një vështrim në rrugë. 545 00:32:01,935 --> 00:32:06,018 >> Gjuha 2: Ku e bën uses.blogcontroller në krijojë post, 546 00:32:06,018 --> 00:32:07,560 çfarë do të na drejtojë për të? 547 00:32:07,560 --> 00:32:08,310 Eric Ouyang: Po. 548 00:32:08,310 --> 00:32:08,550 Vërtet. 549 00:32:08,550 --> 00:32:09,716 >> Gjuha 2: Ose çfarë është that-- 550 00:32:09,716 --> 00:32:12,620 Eric Ouyang: Pra, të marrë një sy, thonë për shembull, kjo rrugë e drejtë këtu. 551 00:32:12,620 --> 00:32:17,190 Pjesa e parë është aktual URL që përdoruesi do të shkojnë për të. 552 00:32:17,190 --> 00:32:19,930 Dhe kjo array këtu, array associative, përcakton 553 00:32:19,930 --> 00:32:24,520 se si ne duam të kemi akt kërkesë në përgjigje të tij. 554 00:32:24,520 --> 00:32:29,090 Pra përdor është kontrollues, funksion që ne 555 00:32:29,090 --> 00:32:31,610 doni të telefononi kur një përdorues shkon në këtë URL. 556 00:32:31,610 --> 00:32:35,190 Pra viewPost e drejtë këtu ishte një funksion që ne të definuar brenda 557 00:32:35,190 --> 00:32:36,100 i BlogController-- 558 00:32:36,100 --> 00:32:37,160 >> Gjuha 2: unë shoh. 559 00:32:37,160 --> 00:32:39,368 >> Eric Ouyang: --so asaj ne në të vërtetë mund të bëjnë një pamje, 560 00:32:39,368 --> 00:32:42,590 të kryer disa llogaritje, ndërveprojnë me bazën e të dhënave SQL. 561 00:32:42,590 --> 00:32:43,560 >> Gjuha 2: OK. 562 00:32:43,560 --> 00:32:46,960 >> Eric Ouyang: Dhe pastaj tjetri pjesë, "si" është një alias që ne përdorim. 563 00:32:46,960 --> 00:32:50,714 Pra, në qoftë se ne të vini re kur ne krijuam formën, 564 00:32:50,714 --> 00:32:52,380 ju do të vëreni se URL :: routecreatePost. 565 00:32:52,380 --> 00:32:55,000 566 00:32:55,000 --> 00:32:58,330 Pra, ajo zëvendëson në aktual URL kështu që ne nuk jemi të vështirë 567 00:32:58,330 --> 00:33:02,940 coding këto në mënyrë që ne mund të ndryshojë atë dikur, thonë se në qoftë se ne të kërkuar për të riemërtoni. 568 00:33:02,940 --> 00:33:06,055 Në vend të slash postës i ri, ne duam të bëjmë si, p 569 00:33:06,055 --> 00:33:09,490 çaj i ri vetëm për të pastruar up URL tanë një bit. 570 00:33:09,490 --> 00:33:14,740 Ne do të ndryshojë atë në një vend më tepër se të gjitha dosjet e ndryshme. 571 00:33:14,740 --> 00:33:15,451 >> Ftohtë. 572 00:33:15,451 --> 00:33:15,950 Kjo është e mirë. 573 00:33:15,950 --> 00:33:20,070 Pra, tani ne kemi një shumë të platformë themelore blog. 574 00:33:20,070 --> 00:33:24,260 Ne ndoshta dëshironi të shtoni në një buton kështu se ne fakt mund të krijojnë postimet e reja. 575 00:33:24,260 --> 00:33:27,850 Kështu që nëse bëjmë një vështrim në Layout Master, 576 00:33:27,850 --> 00:33:31,280 ne kemi një seksion të quajtur Header Djathtas që ne kemi përcaktuar vetëm deri në krye. 577 00:33:31,280 --> 00:33:34,820 Pra, ne mund të shtoni butona për krye të header. 578 00:33:34,820 --> 00:33:43,950 >> Pra, nëse ne do të shkojmë për të index.blade.php, në të vërtetë bëni është të përcaktojë se çfarë shkon brenda këtu. 579 00:33:43,950 --> 00:33:46,970 Pra, ky seksion Header drejta, ajo që ne jemi duke shkuar për të bërë 580 00:33:46,970 --> 00:33:55,240 është shtuar në një buton për të shkuar në URL përcaktuar nga posti rrugë të re. 581 00:33:55,240 --> 00:33:58,270 582 00:33:58,270 --> 00:34:01,660 Vetëm për të pastruar atë dhe të bëjnë ajo goxha dhe të gjithë bootstrap, 583 00:34:01,660 --> 00:34:04,630 ne jemi duke shkuar për të bërë ky buton një default. 584 00:34:04,630 --> 00:34:07,794 Le të vetëm të bëjë atë të mëdha për argëtim. 585 00:34:07,794 --> 00:34:09,969 >> Dhe brenda tij, ne mund të vënë disa tekst. 586 00:34:09,969 --> 00:34:14,030 Por çfarë bootstrap ofron është glyphicons. 587 00:34:14,030 --> 00:34:17,840 Pra, ne në të vërtetë mund të shtoni në atë laps e bukur që kemi parë më herët. 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-laps. 591 00:34:22,489 --> 00:34:25,449 592 00:34:25,449 --> 00:34:35,340 Pra, kjo do të na lejojë për të vënë në një ikonë në vend të tekstit. 593 00:34:35,340 --> 00:34:38,960 Tani në qoftë se ne do të ndalemi, kjo do të përcaktojë këtë seksion. 594 00:34:38,960 --> 00:34:39,460 Dhe, hej. 595 00:34:39,460 --> 00:34:45,000 Ne kemi një buton të bukur që na lidh drejtpërdrejt për të shtuar një faqe blog postare. 596 00:34:45,000 --> 00:34:46,659 >> Pra, ne kemi një blog mjaft të thjeshtë. 597 00:34:46,659 --> 00:34:49,710 Ne mund të shtoni gjëra në të. 598 00:34:49,710 --> 00:34:53,650 Por ajo që ne zakonisht presin nga blogs është komentuar. 599 00:34:53,650 --> 00:34:57,340 Pra, kjo është me të vërtetë e rëndësishme për ne që të ketë, them, nëse dikush tjetër e viziton një faqe interneti 600 00:34:57,340 --> 00:35:00,620 dhe me të vërtetë i pëlqen postin që ata mund të angazhohen në diskutime 601 00:35:00,620 --> 00:35:03,100 me njerëz të tjerë që e vizitojnë faqen. 602 00:35:03,100 --> 00:35:07,050 Pra, ne jemi duke shkuar për të shkuar dhe për të krijuar një Tabela e re e bazës së të dhënave dhe një model të ri 603 00:35:07,050 --> 00:35:12,220 kështu që ne mund të shoqërojnë komenton me postime. 604 00:35:12,220 --> 00:35:17,370 >> Pra, hapi i parë, ashtu si më parë, është se ne kemi nevojë për të drejtuar një migrim. 605 00:35:17,370 --> 00:35:21,982 Pra, si më parë, ne e bëjmë php artizanal Migrojnë: të bëjë. 606 00:35:21,982 --> 00:35:24,440 Dhe ne jemi duke shkuar për të krijuar një të tillë i quajtur create_comments_table. 607 00:35:24,440 --> 00:35:29,520 608 00:35:29,520 --> 00:35:36,080 Kjo do të krijojë një fotografi që ka migrimin tonë të ri. 609 00:35:36,080 --> 00:35:40,170 Dhe ne jemi duke shkuar për të, si para, të përcaktojë një tabelë të re. 610 00:35:40,170 --> 00:35:42,773 Pra Schema :: krijojë një Tabela e quajtur komente. 611 00:35:42,773 --> 00:35:47,410 612 00:35:47,410 --> 00:35:48,430 Ky funksion këtu. 613 00:35:48,430 --> 00:35:51,620 Dhe brenda kësaj tryezë çfarë ne jemi duke shkuar për të bërë është për herë të parë, 614 00:35:51,620 --> 00:35:54,260 si më parë, të caktojë një ID. 615 00:35:54,260 --> 00:35:56,552 Increments ID. 616 00:35:56,552 --> 00:36:05,440 >> Ne jemi duke shkuar për të lejuar përdoruesit që të lidhen emrin e tyre me një koment të veçantë. 617 00:36:05,440 --> 00:36:10,080 Ne jemi do të ketë disa përmbajtje që shkon së bashku me këtë, përmbajtjen e tekstit. 618 00:36:10,080 --> 00:36:13,580 619 00:36:13,580 --> 00:36:15,910 Dhe këtu ajo që ne jemi duke shkuar për bëni është diçka e ndryshme. 620 00:36:15,910 --> 00:36:23,620 Ne jemi duke shkuar për të krijuar një numër të plotë që quhet post_id cila 621 00:36:23,620 --> 00:36:32,100 është duke shkuar për të ditur se çfarë postim një koment i veçantë shkon me. 622 00:36:32,100 --> 00:36:35,410 >> Përveç kësaj, ne jemi të vërtetë do të vendosur një kufizim të huaj kyç për këtë. 623 00:36:35,410 --> 00:36:37,750 Pra MySQL do të zbatojë atë. 624 00:36:37,750 --> 00:36:39,840 Ne nuk jemi duke u përpjekur për të caktojë koment numrin 625 00:36:39,840 --> 00:36:44,440 5 të postoni 5000 në qoftë se ne nuk kemi kishte 5000 postimet në të. 626 00:36:44,440 --> 00:36:50,240 Pra, ajo që ne bëjmë këtu, ne bëjmë post_id huaj 627 00:36:50,240 --> 00:37:02,046 do të jenë të lidhur me fushë ID nga postet tryezë. 628 00:37:02,046 --> 00:37:05,900 Dhe ne fakt do të bëjmë diçka tjetër e dobishme, është onDelete. 629 00:37:05,900 --> 00:37:11,180 >> Pra, në qoftë se ne të fshini disa postoj nga baza e të dhënave, 630 00:37:11,180 --> 00:37:15,507 që ne duam të bie nga lart fshin për komente si. 631 00:37:15,507 --> 00:37:18,090 Për shkak se ajo nuk është shumë e dobishme për ne që të kemi komente mbi postimet 632 00:37:18,090 --> 00:37:19,900 që nuk ekzistojnë. 633 00:37:19,900 --> 00:37:23,764 Dhe së fundi, si më parë, ne jemi duke shkuar për të vendosur pulla kohë për këtë. 634 00:37:23,764 --> 00:37:28,690 635 00:37:28,690 --> 00:37:33,510 Dhe si më parë, ne jemi duke shkuar për kanë migrimi kundërt të jetë 636 00:37:33,510 --> 00:37:37,920 duke rënë komente tryezën. 637 00:37:37,920 --> 00:37:40,070 >> Pra, tani në qoftë se ne të kthehemi deri këtu, ne jemi duke shkuar 638 00:37:40,070 --> 00:37:43,110 për të drejtuar këtë migrim, migrojnë artizanale. 639 00:37:43,110 --> 00:37:46,400 Dhe tani ajo është aplikuar kjo Migrimi se ne sapo krijuar. 640 00:37:46,400 --> 00:37:50,080 Pra, nëse ne një vështrim në phpMyAdmin, ne bëjmë, në të vërtetë, tani 641 00:37:50,080 --> 00:37:53,210 kanë një comments tabelë që ka Struktura që ne vetëm të specifikuara. 642 00:37:53,210 --> 00:37:56,900 643 00:37:56,900 --> 00:37:59,610 Pra, si më parë, ne jemi duke shkuar për të krijuar një model të ri 644 00:37:59,610 --> 00:38:04,450 në abstrakt SQL tryezë që ne sapo krijuar. 645 00:38:04,450 --> 00:38:05,450 >> Pra, le të Shto një skedë të re. 646 00:38:05,450 --> 00:38:06,908 Ne jemi duke shkuar për të thirrur atë comment.php. 647 00:38:06,908 --> 00:38:10,160 648 00:38:10,160 --> 00:38:15,490 Dhe kjo është në të vërtetë do të jetë mjaft i hapur me një ndryshim të vogël 649 00:38:15,490 --> 00:38:17,520 nga ajo që kemi pasur më parë. 650 00:38:17,520 --> 00:38:22,790 Pra klasë Koment shtrihet elokuent. 651 00:38:22,790 --> 00:38:25,930 Dhe çfarë ne jemi duke shkuar për të bërë këtu është e përcaktuar 652 00:38:25,930 --> 00:38:31,360 një funksion që është Marrëdhënia me modele të tjera. 653 00:38:31,360 --> 00:38:39,250 Pra, ne do të kemi një funksion të postës këtu që kthen këtë marrëdhënie. 654 00:38:39,250 --> 00:38:43,330 Pra, ne jemi duke specifikuar se kjo i takon të postoni, 655 00:38:43,330 --> 00:38:49,200 duke thënë se ekziston një postë se ky koment i takon. 656 00:38:49,200 --> 00:38:53,917 >> Kjo në të vërtetë duhet të jetë P kapital për modelin. 657 00:38:53,917 --> 00:38:56,500 Dhe tani vetëm në rrokullisje tjetër anë, ne duhet të them se, hej. 658 00:38:56,500 --> 00:38:58,160 Mesazhe të ketë komente. 659 00:38:58,160 --> 00:39:03,030 Pra, ajo që ne jemi duke shkuar për të bërë është definojnë komente funksion publik. 660 00:39:03,030 --> 00:39:07,100 661 00:39:07,100 --> 00:39:13,620 Dhe këtu është kthyer kjo ka shumë koment. 662 00:39:13,620 --> 00:39:16,630 663 00:39:16,630 --> 00:39:22,010 Pra, tani magjike kur ne kemi një post, ne mund të merrni komentet atribut 664 00:39:22,010 --> 00:39:25,615 dhe ajo do të populloj atë me Informatat nga baza e të dhënave. 665 00:39:25,615 --> 00:39:32,950 666 00:39:32,950 --> 00:39:38,220 >> Pra, le të vërtetë të shkojnë nëpër dhe shtoni një tipar të ri për fotografi të shikoni tonë 667 00:39:38,220 --> 00:39:43,600 kështu që ne mund të të dy shfaqje dhe për të krijuar komente. 668 00:39:43,600 --> 00:39:54,010 669 00:39:54,010 --> 00:39:56,865 Pra, ne jemi duke shkuar për të përcaktuar një seksion të ri. 670 00:39:56,865 --> 00:39:59,890 Le të vetëm të ndarë atë me një rregull horizontale. 671 00:39:59,890 --> 00:40:04,065 Seksioni id = "komente". 672 00:40:04,065 --> 00:40:06,990 Ajo që ne jemi duke shkuar për të bërë këtu është, si më parë, 673 00:40:06,990 --> 00:40:09,880 iterate nëpër të gjitha komentet. 674 00:40:09,880 --> 00:40:12,960 Pra, në të vërtetë se si ne të bërë këtë është, siç e përmenda, mjaft magjik. 675 00:40:12,960 --> 00:40:14,440 >> Ne bëjmë postuar komente. 676 00:40:14,440 --> 00:40:17,410 677 00:40:17,410 --> 00:40:22,710 Dhe atëherë ne mund të bëjmë këtë për çdo lak mbi çdo nga komentet. 678 00:40:22,710 --> 00:40:25,740 Dhe ajo që ne jemi duke shkuar për bëni është komenti klasë div, 679 00:40:25,740 --> 00:40:29,240 dhe ne jemi duke shkuar për të vërtetë shtypura nga ky koment. 680 00:40:29,240 --> 00:40:34,150 Pra, të shfaqur që hej, komentojë name-- personin 681 00:40:34,150 --> 00:40:38,080 qe ka postuar këtë comment-- thotë dot dot dot. 682 00:40:38,080 --> 00:40:41,240 Ne jemi duke shkuar për të vënë këtë në një bllok quote, vetëm për të bërë atë të duket bukur. 683 00:40:41,240 --> 00:40:46,470 Dhe pastaj komentojë përmbajtjen bllok kuotë. 684 00:40:46,470 --> 00:40:49,790 685 00:40:49,790 --> 00:40:50,892 Dhe foreach. 686 00:40:50,892 --> 00:40:53,100 Pra, tani kjo do të lak nëpër të gjitha komentet 687 00:40:53,100 --> 00:40:56,500 që është e lidhur me secilin nga postet 688 00:40:56,500 --> 00:41:00,960 dhe të shfaqin secili prej këtyre komenteve. 689 00:41:00,960 --> 00:41:05,120 Unë jam duke shkuar për të shtuar një tjetër seksion poshtë këtu, e cila na lejon për të shtuar një koment. 690 00:41:05,120 --> 00:41:07,400 Klasë kështu h3. 691 00:41:07,400 --> 00:41:09,580 Vendos një titull këtu. 692 00:41:09,580 --> 00:41:10,934 Shto një koment. 693 00:41:10,934 --> 00:41:13,886 694 00:41:13,886 --> 00:41:15,700 Dhe ne jemi duke shkuar për të përcaktuar një formë të re. 695 00:41:15,700 --> 00:41:18,730 >> Pra, si më parë, ne jemi do të bëjë formë veprim. 696 00:41:18,730 --> 00:41:22,740 Dhe këtu, veprim i ri është që ne jemi do të përcaktojë një kontrollues të ri që 697 00:41:22,740 --> 00:41:26,770 na lejon të përgjigjet për të postoj kërkesat për krijimin e komenteve. 698 00:41:26,770 --> 00:41:33,365 Pra URL :: rrugë createComment. 699 00:41:33,365 --> 00:41:37,730 Unë jam duke shkuar për të kaluar në parametri këtu. 700 00:41:37,730 --> 00:41:40,380 ID e postit që ne jemi duke krijuar koment në. 701 00:41:40,380 --> 00:41:45,340 702 00:41:45,340 --> 00:41:50,280 Dhe pastaj Metoda e kësaj formë do të jetë pas. 703 00:41:50,280 --> 00:41:57,240 >> Tani ne jemi duke shkuar për të shtuar në a dy fusha, formë grup. 704 00:41:57,240 --> 00:42:04,670 Kjo do të jetë një input me emrin "emër" dhe të klasit = "formë-kontroll", 705 00:42:04,670 --> 00:42:14,250 tipit = "text", dhe me placeholder = "Emri yt". 706 00:42:14,250 --> 00:42:19,380 Ne gjithashtu jemi duke shkuar për të përkufizuar një tjetër fushë formë, e cila 707 00:42:19,380 --> 00:42:22,970 do të jetë një tekst zonë si kemi pasur më parë. 708 00:42:22,970 --> 00:42:25,480 Ashtu si më parë, e quajti atë të përmbajtjes. 709 00:42:25,480 --> 00:42:31,160 Class = "formë-kontroll." 710 00:42:31,160 --> 00:42:41,660 Placeholder = "Shkruani këtu." 711 00:42:41,660 --> 00:42:44,100 >> Dhe vetëm kështu që ne në të vërtetë mund të paraqesë atë, 712 00:42:44,100 --> 00:42:55,740 paraqesë llojin dhe klasë = "btn BTN-primar." 713 00:42:55,740 --> 00:42:57,005 Mbyllni formularin. 714 00:42:57,005 --> 00:42:59,010 Mbyllur këtë veprim. 715 00:42:59,010 --> 00:43:06,580 Pra, tani, nëse ne rifreskoni këtë faqe ku ne kemi, të themi, një post të veçantë. 716 00:43:06,580 --> 00:43:10,310 Ne duhet të ristartoni server. 717 00:43:10,310 --> 00:43:12,340 PHP artizanal shërbejnë. 718 00:43:12,340 --> 00:43:15,630 719 00:43:15,630 --> 00:43:18,334 Reboot këtë. 720 00:43:18,334 --> 00:43:19,500 Ne kemi për të përcaktuar rrugën. 721 00:43:19,500 --> 00:43:25,090 Por tani për tani, le të vetëm të marrë këtë jashtë kështu që ne në fakt mund të ju tregojnë 722 00:43:25,090 --> 00:43:28,750 çfarë faqe si duket, dhe pastaj ne në të vërtetë do të krijojë atë rrugë. 723 00:43:28,750 --> 00:43:29,250 Pra, hej. 724 00:43:29,250 --> 00:43:37,080 Ne kemi këtë formë të re poshtë këtu kështu që ne mund të krijojë komente. 725 00:43:37,080 --> 00:43:39,950 Pra, le të vërtetë të përcaktuar një funksion brenda kontrollues 726 00:43:39,950 --> 00:43:43,020 kështu që ne mund të shtoni komente. 727 00:43:43,020 --> 00:43:43,650 Le të kthehemi. 728 00:43:43,650 --> 00:43:48,420 Dhe brenda blogcontroller.php, ajo që ne jemi duke shkuar për të bërë 729 00:43:48,420 --> 00:43:51,620 është krijuar një funksion të ri i quajtur krijojnë koment. 730 00:43:51,620 --> 00:43:54,220 731 00:43:54,220 --> 00:43:57,040 >> CreateComment funksion publik. 732 00:43:57,040 --> 00:44:00,130 Kjo do të ketë një të vetme parametër, ID e posteve 733 00:44:00,130 --> 00:44:02,280 se ne jemi duke komentuar. 734 00:44:02,280 --> 00:44:04,790 Dhe si më parë, ne jemi shkuar për të parë të marrë postin. 735 00:44:04,790 --> 00:44:10,790 Pra postoni, findOrfail id. 736 00:44:10,790 --> 00:44:15,020 Më pas, ne jemi duke shkuar për të krijuar një koment të ri. 737 00:44:15,020 --> 00:44:18,880 Pra komentojë = Comment të re. 738 00:44:18,880 --> 00:44:26,820 Koment name = Input :: marrë emrin. 739 00:44:26,820 --> 00:44:39,420 Koment content = njëjtën linjë e re në pushimet e Input :: marrë përmbajtje. 740 00:44:39,420 --> 00:44:43,460 >> Dhe më në fund, ne do të kemi për të e lidhin këtë koment me postin. 741 00:44:43,460 --> 00:44:47,230 Pra, ne jemi duke shkuar për të përdorur ky funksion, komente, 742 00:44:47,230 --> 00:44:50,260 që na lejon të ruani kjo marrëdhënie. 743 00:44:50,260 --> 00:44:54,780 Deri tani ky koment do të ketë automatikisht pas ID. 744 00:44:54,780 --> 00:44:57,640 Ne gjithashtu mund të vendosur atë me dorë, por kjo është 745 00:44:57,640 --> 00:45:02,490 më të lehtë për të lexuar sa më shumë si funksion shkon. 746 00:45:02,490 --> 00:45:05,860 Dhe pasi ne kryejmë kjo, ajo që ne duam të bëjmë 747 00:45:05,860 --> 00:45:10,840 është përcjellëse e përdoruesit për Rruga e specifikuar nga viewPost 748 00:45:10,840 --> 00:45:16,010 me grup me parametër i postës ID. 749 00:45:16,010 --> 00:45:20,360 750 00:45:20,360 --> 00:45:24,660 >> Dhe tani kështu që kjo në të vërtetë funksionet, ne kemi nevojë për të përcaktuar këtë rrugë. 751 00:45:24,660 --> 00:45:27,126 Route :: pas. 752 00:45:27,126 --> 00:45:32,800 Dhe tani ne jemi duke shkuar për të thirrur këtë pas slash koment ID Slash. 753 00:45:32,800 --> 00:45:36,725 Array përdor funksionin e ri që ne sapo krijuar. 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 si createComment. 757 00:45:44,770 --> 00:45:47,430 758 00:45:47,430 --> 00:45:50,120 I madh. 759 00:45:50,120 --> 00:45:56,150 >> Pra, tani shpresojmë se në qoftë se ne rifreskoni këtë faqe dhe të shtoni në një koment, të themi, David Malan. 760 00:45:56,150 --> 00:46:00,630 761 00:46:00,630 --> 00:46:03,920 "Shpresojmë se kjo funksionon." 762 00:46:03,920 --> 00:46:05,216 Submit. 763 00:46:05,216 --> 00:46:09,050 Ne mund, në fakt, kanë një komentojë mbi këtë blog post. 764 00:46:09,050 --> 00:46:13,760 765 00:46:13,760 --> 00:46:14,260 Ftohtë. 766 00:46:14,260 --> 00:46:16,790 767 00:46:16,790 --> 00:46:21,430 Pra, tani ne kemi një mënyrë të drejtë blog post funksional. 768 00:46:21,430 --> 00:46:23,180 Ne jemi vetëm duke shkuar për të shto nja dy tweaks kështu 769 00:46:23,180 --> 00:46:29,090 se ne kemi disa më shumë të dobishme informacion mbi këto poste. 770 00:46:29,090 --> 00:46:32,780 >> Pra, në qoftë se ne të kthehemi në faqja e parë, ne nuk kemi asnjë kuptim 771 00:46:32,780 --> 00:46:38,790 e sa komente janë në secilin nga këto poste. 772 00:46:38,790 --> 00:46:41,340 Pra, ajo që ne jemi në të vërtetë duke shkuar për të bërë është, brenda modelit tonë, 773 00:46:41,340 --> 00:46:51,250 të përcaktojë një funksion të ndihmës që i lejon ne të specifikojë numrin e komenteve 774 00:46:51,250 --> 00:46:53,020 që të shkojë me një post të veçantë. 775 00:46:53,020 --> 00:46:56,050 Pra, ne jemi duke shkuar për të krijuar një funksion ndihmës. 776 00:46:56,050 --> 00:46:58,020 >> Funksion publik. 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 Pra, një varg që përcakton numrin i komenteve që shkojnë së bashku me të. 780 00:47:07,180 --> 00:47:12,850 Dhe ajo që ne jemi duke shkuar për të bëni është të them që num = ky komente numërimin. 781 00:47:12,850 --> 00:47:15,150 Pra, ne jemi duke shkuar për të numëruar Numri i komenteve. 782 00:47:15,150 --> 00:47:22,900 Dhe në qoftë se ky numër është e barabartë me 1, ne jemi vetëm do të kthehen 1 koment. 783 00:47:22,900 --> 00:47:28,890 Dhe pastaj ndryshe, ne duam të kthehemi varg i num dhe komente, 784 00:47:28,890 --> 00:47:31,890 kështu që ne të merrni pluralization saktë. 785 00:47:31,890 --> 00:47:33,380 Vetëm të bëjë këtë një kuotë të vetme. 786 00:47:33,380 --> 00:47:36,040 787 00:47:36,040 --> 00:47:37,640 Një koment. 788 00:47:37,640 --> 00:47:41,140 >> Dhe tani ne mund të përdorni këtë funksion drejtpërdrejt në brendësi të mendimit tonë. 789 00:47:41,140 --> 00:47:44,510 Pra, në qoftë se ne të kthehemi në Postimet e pjesshme që ne të krijuar, 790 00:47:44,510 --> 00:47:49,370 tani ne duam të vërtetë të shfaqur numrin e komenteve. 791 00:47:49,370 --> 00:47:52,660 Pra, çfarë mund të bëjmë është pas, përdorni këtë funksion 792 00:47:52,660 --> 00:47:57,230 që ne sapo krijuar për të të shfaqur numrin e komenteve. 793 00:47:57,230 --> 00:48:00,440 Pra, në qoftë se ne tani refresh, atë bën, në fakt, ekran 794 00:48:00,440 --> 00:48:02,240 Numri komentet që shkojnë së bashku me të. 795 00:48:02,240 --> 00:48:05,320 >> Nëse do të donte të jetë i zbukuruar në qoftë se ju në të vërtetë shikoni në kodin e shpërndarjes, 796 00:48:05,320 --> 00:48:07,800 ne fakt mund të lidhin kjo komenteve. 797 00:48:07,800 --> 00:48:17,040 Nëse ju kujtohet, ne përkufizuar brenda të parë se kjo ka komente seksion të identitetit. 798 00:48:17,040 --> 00:48:22,460 Pra, në qoftë se ne në të vërtetë të kërkuar për të link direkt në seksionin e komenteve, çfarë 799 00:48:22,460 --> 00:48:36,000 ne do të bëjmë këtu është një href URL e viewPost rrugë. 800 00:48:36,000 --> 00:48:40,550 Kaloni në ID array e postës ID. 801 00:48:40,550 --> 00:48:46,140 Dhe pastaj ne duam të shkojnë në në mënyrë specifike komente seksion. 802 00:48:46,140 --> 00:48:49,900 >> Këtu le të mbyllë një tag. 803 00:48:49,900 --> 00:48:52,950 Pra, tani, nëse ne rifreskoni këtë faqe, ne të klikoni mbi këtë. 804 00:48:52,950 --> 00:48:54,700 Ne do të shkojnë direkt në Komentet seksion. 805 00:48:54,700 --> 00:48:57,580 Nëse do të kishte një post më të gjatë, ju mund të në të vërtetë shohim këtë fryrje poshtë. 806 00:48:57,580 --> 00:49:02,668 Por ju do të vëreni se është e jo në majë të faqes. 807 00:49:02,668 --> 00:49:04,090 Ftohtë. 808 00:49:04,090 --> 00:49:04,600 I madh. 809 00:49:04,600 --> 00:49:08,582 Pra, kjo është një mjaft i hapur shembull të diçka të thjeshtë 810 00:49:08,582 --> 00:49:09,790 që ju mund të bëni me Laravel. 811 00:49:09,790 --> 00:49:13,230 >> Por ju mund të vini re këtu se ne kemi bërë shumë gjëra 812 00:49:13,230 --> 00:49:16,200 me mjaft pak sasinë e kodit. 813 00:49:16,200 --> 00:49:19,420 Laravel na lejon të bëjmë SQL queries prapa skenave. 814 00:49:19,420 --> 00:49:21,960 Ai e bën të sanitacionit për ne në prapaskenë. 815 00:49:21,960 --> 00:49:25,940 Na lejon të bëjmë këto marrëdhënie shumë lehtë pa na patur nevojë 816 00:49:25,940 --> 00:49:33,350 për të bërë ndonjë SQL bashkohet deklarata për kombinuar komentet me atë që postet. 817 00:49:33,350 --> 00:49:36,480 Na lejon për të bërë këtë trashëgimia e templates 818 00:49:36,480 --> 00:49:43,780 kështu që ne mund të përcaktojë këto shkatërroj fole fotografi kështu që ne nuk jemi duke përsëritur veten, 819 00:49:43,780 --> 00:49:47,020 ashtu si kur ne kishim se shfaqje e blog posts 820 00:49:47,020 --> 00:49:50,770 se ne nuk duhet të kopjoni dhe ngjisni kodin. 821 00:49:50,770 --> 00:49:55,450 >> Dhe nga këtu ju mund të ndërtojë aplikacionet gjithnjë e komplikuar. 822 00:49:55,450 --> 00:49:58,370 Ju mund të imagjinoni nëse ne të kërkuar për të zbatuar log-in, 823 00:49:58,370 --> 00:50:05,532 ne mund të themi, të sjellë në një palë e tretë Korniza që na lejon të bëjmë atë. 824 00:50:05,532 --> 00:50:07,490 Ka një bandë prej tyre që janë me të vërtetë, të vërtetë 825 00:50:07,490 --> 00:50:09,970 i madh që mund të bëjë si, password recovery. 826 00:50:09,970 --> 00:50:14,450 Dhe ajo do të ju dërgoj një rivendosur email fjalëkalimin. 827 00:50:14,450 --> 00:50:18,260 Ne mund të zbatojë leje kështu që unë mund të krijojë një post, 828 00:50:18,260 --> 00:50:20,350 por dikush tjetër nuk mund ta redaktojnë. 829 00:50:20,350 --> 00:50:24,610 Ne mund të zbatojë funksionalitet të fshini postimet. 830 00:50:24,610 --> 00:50:28,160 >> Por ju mund të shihni këtu se ne kemi mjaft shumë të gjithë komponentët e rudimentare 831 00:50:28,160 --> 00:50:31,640 për të ndërtuar disa me të vërtetë, me të vërtetë, Apps dinamike dhe emocionuese web. 832 00:50:31,640 --> 00:50:34,035 Pra, me që, unë mendoj se ne jemi të mirë. 833 00:50:34,035 --> 00:50:35,720 A ju djema keni ndonjë pyetje? 834 00:50:35,720 --> 00:50:36,220 Po? 835 00:50:36,220 --> 00:50:38,090 >> Gjuha 3: Si mund të ju marrë përmbajtje statike? 836 00:50:38,090 --> 00:50:39,256 >> Eric Ouyang: përmbajtja Static. 837 00:50:39,256 --> 00:50:45,520 Pra, ju pa para se kur ne kishim kjo e drejtë këtu, kjo përmbajtje layout, 838 00:50:45,520 --> 00:50:49,625 shikoni, kemi pasur këtë pa këtë grup më pas. 839 00:50:49,625 --> 00:50:56,440 840 00:50:56,440 --> 00:50:59,152 Blog.index, kemi pasur këtë si vetëm një fotografi statike. 841 00:50:59,152 --> 00:51:00,860 Pra, nëse ne nuk do të kalojë çdo gjë së bashku me të, 842 00:51:00,860 --> 00:51:03,340 ajo do të merr vetëm HTML direkt. 843 00:51:03,340 --> 00:51:09,240 Por në qoftë se ne të kalojë në këtë associative array e posteve, e cila është dinamike 844 00:51:09,240 --> 00:51:12,950 tërhequr nga baza e të dhënave, ne mund të bëjë faqe dinamike. 845 00:51:12,950 --> 00:51:13,450 Ftohtë. 846 00:51:13,450 --> 00:51:14,830 Çdo pyetje të tjera? 847 00:51:14,830 --> 00:51:16,786 848 00:51:16,786 --> 00:51:19,720 Gjuha 3: Si do ta krahasoni Laravel për të ndoshta disa opsione të tjera? 849 00:51:19,720 --> 00:51:20,525 Eric Ouyang: Sigurisht. 850 00:51:20,525 --> 00:51:21,025 Vërtet. 851 00:51:21,025 --> 00:51:23,430 Pra Laravel is-- kjo është një question-- i madh 852 00:51:23,430 --> 00:51:26,190 një nga shumë opsione për kornizat e internetit. 853 00:51:26,190 --> 00:51:31,160 Pra, Ruby on Rails është një që është popullore. 854 00:51:31,160 --> 00:51:34,590 Unë besoj Twitter përdorur të jetë zbatuar me Ruby në binarët. 855 00:51:34,590 --> 00:51:37,600 Unë mendoj se ata kanë ndezur që nga. 856 00:51:37,600 --> 00:51:40,780 Ka një tjetër i quajtur FuelPHP. 857 00:51:40,780 --> 00:51:46,120 >> Pra, Ruby on Rails përdor gjuhën Ruby dhe zbaton një shumë të gjëra MVC 858 00:51:46,120 --> 00:51:48,200 që ne shohim këtu. 859 00:51:48,200 --> 00:51:52,320 FuelPHP është një tjetër kuadër i PHP. 860 00:51:52,320 --> 00:51:54,490 Django është një nga të preferuarat e mia. 861 00:51:54,490 --> 00:51:57,010 Kjo është një kornizë e web për Python. 862 00:51:57,010 --> 00:52:01,270 Kështu që ju mund të shkruani app tuaj të internetit në Python. 863 00:52:01,270 --> 00:52:03,760 Pra, ka një ton prej këtyre opsioneve. 864 00:52:03,760 --> 00:52:06,170 >> Laravel, unë mendoj, nga dhe i madh është e drejta ime e preferuar 865 00:52:06,170 --> 00:52:08,232 tani për PHP vetëm për shkak i përbërësve 866 00:52:08,232 --> 00:52:09,440 se kemi biseduar për më herët. 867 00:52:09,440 --> 00:52:11,910 Është Kompozitor aktivizuar. 868 00:52:11,910 --> 00:52:15,750 Ai përfshin një të vërtetë, të vërtetë sistem ekspresive ORM. 869 00:52:15,750 --> 00:52:18,800 Gjithashtu ka një templating vërtetë të tmerrshëm gjuha që disa nga të tjerët 870 00:52:18,800 --> 00:52:20,630 vetëm nuk japin. 871 00:52:20,630 --> 00:52:21,400 Dhe migrimet. 872 00:52:21,400 --> 00:52:23,432 Migracionet janë awesome si. 873 00:52:23,432 --> 00:52:24,860 I ftohtë? 874 00:52:24,860 --> 00:52:25,390 Awesome. 875 00:52:25,390 --> 00:52:27,560 E pra, falë kaq shumë për shikuar këtë seminar, 876 00:52:27,560 --> 00:52:30,650 dhe fat të mirë në projektet tuaja përfundimtare. 877 00:52:30,650 --> 00:52:31,616