1 00:00:00,000 --> 00:00:02,538 >> [Muzik bermain] 2 00:00:02,538 --> 00:00:10,800 3 00:00:10,800 --> 00:00:12,390 >> ERIC Ouyang: Hey, semua orang. 4 00:00:12,390 --> 00:00:13,580 Selamat datang. 5 00:00:13,580 --> 00:00:16,860 Ini adalah Bangunan Dinamik Web Apl dengan Laravel. 6 00:00:16,860 --> 00:00:18,290 Nama saya Eric Ouyang. 7 00:00:18,290 --> 00:00:23,860 Saya seorang mahasiswa tingkat kedua mengkaji kajian sosial dengan menengah dalam bidang sains komputer, 8 00:00:23,860 --> 00:00:27,290 dan saya tinggal di Adams Rumah di sini di Harvard. 9 00:00:27,290 --> 00:00:33,340 >> Jadi Laravel, di teras yang paling, adalah satu rangka kerja aplikasi web MVC. 10 00:00:33,340 --> 00:00:38,265 Jadi apa yang anda suka lelaki itu mempunyai telah lakukan dengan CS50 Kewangan, 11 00:00:38,265 --> 00:00:42,480 Laravel adalah rangka kerja yang membolehkan anda untuk membina aplikasi web yang dinamik. 12 00:00:42,480 --> 00:00:47,710 Jadi, anda boleh memikirkan ia dalam beberapa deria sebagai lanjutan kepada jenis barangan 13 00:00:47,710 --> 00:00:50,470 anda telah melakukan dalam CS50 Kewangan, tetapi sistem itu 14 00:00:50,470 --> 00:00:55,890 banyak yang lebih mantap, banyak lebih elegan di beberapa deria, 15 00:00:55,890 --> 00:00:57,870 dan menyediakan banyak fungsi untuk anda 16 00:00:57,870 --> 00:01:03,060 untuk membina agak kompleks aplikasi web. 17 00:01:03,060 --> 00:01:05,010 Jadi mari kita pergi melalui beberapa ciri-ciri utama, 18 00:01:05,010 --> 00:01:09,550 dan kemudian kami akan menyelam ke dalam contoh membina blog 19 00:01:09,550 --> 00:01:12,500 permohonan dengan Laravel. 20 00:01:12,500 --> 00:01:16,700 >> Jadi salah satu perkara pertama yang membezakannya daripada jenis MVC kerja 21 00:01:16,700 --> 00:01:22,100 bahawa anda telah melakukan dengan CS50 adalah ia termasuk enjin PRO. 22 00:01:22,100 --> 00:01:27,410 Jadi PRO bermaksud objek pemetaan hubungan. 23 00:01:27,410 --> 00:01:31,080 Jadi ini membolehkan anda untuk membina lapisan abstraksi 24 00:01:31,080 --> 00:01:35,230 antara pangkalan data dan pengawal anda. 25 00:01:35,230 --> 00:01:39,150 Jadi tidak seperti di CS50 Kewangan di mana anda terus membuat pertanyaan, 26 00:01:39,150 --> 00:01:44,790 PRO lapisan yang membolehkan anda abstrak yang jauh dan mencipta 27 00:01:44,790 --> 00:01:48,085 model yang lebih berkuasa daripada anda boleh terus dengan pertanyaan SQL. 28 00:01:48,085 --> 00:01:50,590 29 00:01:50,590 --> 00:01:53,510 >> Satu lagi perkara yang benar-benar membantu adalah template diwarisi. 30 00:01:53,510 --> 00:01:58,990 Jadi, anda akan melihat dalam CS50 Kewangan, anda berakhir menulis semula banyak perkara, 31 00:01:58,990 --> 00:02:03,150 di mana anda boleh meletakkan berpotensi menggunakan semula sesuatu, anda tidak mampu. 32 00:02:03,150 --> 00:02:08,539 Jadi di sini di Laravel, anda boleh menggunakan apa yang dikenali sebagai mesin template bilah 33 00:02:08,539 --> 00:02:10,530 untuk membuat susun atur induk. 34 00:02:10,530 --> 00:02:15,840 Dan dari sana, anda boleh mewarisi supaya sub-template boleh sebenarnya 35 00:02:15,840 --> 00:02:21,210 termasuk unsur-unsur dalam bahawa template asas yang lebih besar. 36 00:02:21,210 --> 00:02:21,810 >> Migrasi. 37 00:02:21,810 --> 00:02:29,010 Jadi ini adalah ciri-ciri yang agak standard pada moden rangka aplikasi web yang paling. 38 00:02:29,010 --> 00:02:32,710 Jadi ini membolehkan anda untuk mewakili perubahan skema pangkalan data dalam kod. 39 00:02:32,710 --> 00:02:39,200 Jadi tanpa akan mengatakan, phpMyAdmin, anda sebenarnya boleh membuat penghijrahan ini 40 00:02:39,200 --> 00:02:44,660 di mana anda mewakili pangkalan data skema perubahan dalam kod secara langsung. 41 00:02:44,660 --> 00:02:48,070 Dan ini membolehkan anda supaya- terutamanya jika anda mempunyai beberapa orang yang bekerja 42 00:02:48,070 --> 00:02:52,650 pada application-- web yang sama mengesan perubahan ini, 43 00:02:52,650 --> 00:02:55,380 katakan dalam GitHub, atau beberapa repositori lain. 44 00:02:55,380 --> 00:03:00,880 >> Jadi ini adalah benar-benar berguna dan mengurangkan keperluan 45 00:03:00,880 --> 00:03:04,580 untuk, katakan, menyebarkan banyak SQL tempat pembuangan sampah. 46 00:03:04,580 --> 00:03:07,140 Dan akhirnya, Komposer adalah sesuatu yang benar-benar, benar-benar berguna 47 00:03:07,140 --> 00:03:09,840 yang membolehkan anda untuk menggunakan lain kod rakyat untuk melakukan perkara-perkara yang menggerunkan. 48 00:03:09,840 --> 00:03:14,020 Jadi ini Laravel distrukturkan sebagai beberapa pakej komposer. 49 00:03:14,020 --> 00:03:17,870 Jadi mengatakan jika anda mahu membawa dalam pakej pengesahan 50 00:03:17,870 --> 00:03:23,440 atau jika anda mahu untuk membawa masuk beberapa semacam skrip penjana atau seorang admin 51 00:03:23,440 --> 00:03:26,910 antara muka, anda boleh plug and play komponen-komponen dengan Komposer. 52 00:03:26,910 --> 00:03:30,470 53 00:03:30,470 --> 00:03:31,570 >> Jadi mari kita bermula. 54 00:03:31,570 --> 00:03:35,185 Sebarang soalan daripada anda orang sebelum kita bermula? 55 00:03:35,185 --> 00:03:36,500 Tiada soalan? 56 00:03:36,500 --> 00:03:37,490 Cool. 57 00:03:37,490 --> 00:03:39,990 Jadi langkah pertama adalah memasang Komposer. 58 00:03:39,990 --> 00:03:43,590 Jadi Komposer membolehkan anda menguruskan Kebergantungan ini, 59 00:03:43,590 --> 00:03:47,770 sama ada rangka kerja yang Laravel atau beberapa sambungan lain pihak ketiga. 60 00:03:47,770 --> 00:03:50,400 Arahan pertama membenarkan anda untuk memuat turun Komposer, 61 00:03:50,400 --> 00:03:55,890 dan perintah yang kedua membolehkan anda memindahkannya ke folder bin tempatan anda 62 00:03:55,890 --> 00:04:01,340 supaya anda boleh menjalankan Komposer secara langsung melalui terminal. 63 00:04:01,340 --> 00:04:05,405 >> Selepas itu, pergi ke depan dan membuat projek Laravel baru. 64 00:04:05,405 --> 00:04:07,280 Kami benar-benar pergi ke menggunakan beberapa contoh kod 65 00:04:07,280 --> 00:04:10,760 yang saya telah meletakkan bersama-sama untuk membuat blog ini. 66 00:04:10,760 --> 00:04:14,420 Tetapi jika anda bermula dari awal, anda akan menggunakan arahan ini 67 00:04:14,420 --> 00:04:18,160 di sini, komposer mencipta-projek, laravel mengurangkan laravel, dan kemudian 68 00:04:18,160 --> 00:04:19,940 nama projek anda. 69 00:04:19,940 --> 00:04:22,275 Dan yang akan termasuk semua kod pengagihan 70 00:04:22,275 --> 00:04:23,733 untuk memulakan projek Laravel baru. 71 00:04:23,733 --> 00:04:28,870 Jadi untuk projek akhir CS50 anda, anda akan mungkin mahu menggunakan arahan ini. 72 00:04:28,870 --> 00:04:31,210 >> Tetapi kita akan mulakan dengan ini. 73 00:04:31,210 --> 00:04:34,630 Jadi sebaik sahaja anda telah dilakukan bahawa, anda akan mendapatkan 74 00:04:34,630 --> 00:04:40,190 jumlah yang agak banyak fail dalam blog50. 75 00:04:40,190 --> 00:04:43,840 Jadi mari kita hanya mengikut sahaja beberapa komponen ini. 76 00:04:43,840 --> 00:04:49,060 Anda akan melihat di laluan ini direktori, terdapat folder app. 77 00:04:49,060 --> 00:04:52,960 Di dalam folder aplikasi, ada pasangan folder membantu. 78 00:04:52,960 --> 00:04:56,330 Nota untuk memulakan dengan adalah folder config ini. 79 00:04:56,330 --> 00:04:59,210 Jadi ini menetapkan sehingga bagaimana aplikasi web anda 80 00:04:59,210 --> 00:05:04,350 akan, berkata, mengesahkan orang atau perkara tunai atau menyambung kepada pangkalan data. 81 00:05:04,350 --> 00:05:06,400 >> Dan apa yang benar-benar membantu ialah Laravel 82 00:05:06,400 --> 00:05:09,130 membolehkan anda untuk menetapkan berbeza persekitaran pembangunan. 83 00:05:09,130 --> 00:05:12,090 Jadi apa yang telah kami lakukan di sini adalah jika kita pergi di bawah folder tempatan, 84 00:05:12,090 --> 00:05:14,720 ada fail database.php. 85 00:05:14,720 --> 00:05:18,320 Dan anda akan melihat di sini bahawa kita menubuhkan sambungan MySQL yang 86 00:05:18,320 --> 00:05:22,230 membolehkan individu untuk menyambung kepada pelayan MySQL itulah 87 00:05:22,230 --> 00:05:24,310 langsung perkakas CS50 itu. 88 00:05:24,310 --> 00:05:26,980 Dan kami menyambung kepada pangkalan data yang saya set dipanggil Blog50. 89 00:05:26,980 --> 00:05:31,390 90 00:05:31,390 --> 00:05:37,085 >> Jadi mari kita sebenarnya pergi ke depan dan menjalankan versi kerja ini, 91 00:05:37,085 --> 00:05:39,710 hanya untuk mendapatkan rasa apa yang permohonan yang kami sedang membina 92 00:05:39,710 --> 00:05:41,390 kelihatan seperti. 93 00:05:41,390 --> 00:05:46,150 Jadi saya mempunyai salinan Blog50 ini selesai. 94 00:05:46,150 --> 00:05:51,910 Jadi sebenarnya Laravel telah dibina pada pelayan 95 00:05:51,910 --> 00:05:53,910 bahawa anda boleh menjalankan secara langsung daripada baris arahan. 96 00:05:53,910 --> 00:05:56,900 Jadi ini adalah sama dengan Serangga sebelum apabila anda benar-benar 97 00:05:56,900 --> 00:06:00,580 membina pelayan anda sendiri dalam C. Jadi mereka telah terbina dalam supaya 98 00:06:00,580 --> 00:06:04,010 bahawa anda boleh menjalankan aplikasi Laravel anda secara langsung daripada baris arahan. 99 00:06:04,010 --> 00:06:11,650 >> Jadi, jika kita melakukan php tukang berkhidmat, ini akan melancarkan pelayan pembangunan 100 00:06:11,650 --> 00:06:13,880 pada port 8000. 101 00:06:13,880 --> 00:06:18,250 Jadi, jika kita pergi ke tuan rumah tempatan 8000, anda akan perasan bahawa, hey. 102 00:06:18,250 --> 00:06:20,800 Kami mempunyai blog kami dan berjalan. 103 00:06:20,800 --> 00:06:25,090 Jadi di sini adalah Laravel menjana muka hadapan blog kami. 104 00:06:25,090 --> 00:06:26,350 Permohonan yang sangat mudah. 105 00:06:26,350 --> 00:06:28,610 Tetapi ada pasangan ciri benar-benar bagus 106 00:06:28,610 --> 00:06:31,346 bahawa ia menyediakan bawah hood. 107 00:06:31,346 --> 00:06:33,680 >> Jadi aplikasi blog ini terus-terang. 108 00:06:33,680 --> 00:06:36,430 Jika kita mahu buat pengumuman, kita boleh klik pada butang itu. 109 00:06:36,430 --> 00:06:40,470 Kita boleh berkata, "Hei, semua orang. 110 00:06:40,470 --> 00:06:44,530 Ini adalah benar-benar menyeronokkan seminar, "sebagai contoh. 111 00:06:44,530 --> 00:06:46,560 Dan menulis sesuatu ke sini. 112 00:06:46,560 --> 00:06:48,180 Teks di sini. 113 00:06:48,180 --> 00:06:51,327 Jika kita klik Submit, anda akan melihat bahawa blog baru kami 114 00:06:51,327 --> 00:06:53,410 jawatan telah ditambah kepada muka hadapan blog. 115 00:06:53,410 --> 00:06:56,532 116 00:06:56,532 --> 00:06:59,970 Jika kita pergi ke sini, anda akan melihat bahawa terdapat beberapa komen telah 117 00:06:59,970 --> 00:07:01,160 di blog. 118 00:07:01,160 --> 00:07:03,630 Jadi, jika kita tatal ke bawah, anda akan melihat bahawa Jonathan Tan berkata 119 00:07:03,630 --> 00:07:08,020 bahawa beliau sangat tertarik dengan jawatan ini. 120 00:07:08,020 --> 00:07:11,570 >> Oleh itu, kita akan pergi ke bagaimana objek pemetaan hubungan membolehkan 121 00:07:11,570 --> 00:07:16,668 anda untuk melakukan hubungan-hubungan ini dalam cara yang agak lancar juga. 122 00:07:16,668 --> 00:07:17,660 Cool. 123 00:07:17,660 --> 00:07:20,290 Apa-apa soalan tentang fungsi apa yang kita akan membina? 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 Jadi mari kita bermula dengan sebenarnya mewujudkan jadual pangkalan data. 127 00:07:28,170 --> 00:07:33,190 >> Jadi ingat bahawa dalam CS50 Kewangan, anda menyusun jadual untuk pengguna 128 00:07:33,190 --> 00:07:37,100 dan juga untuk saham dalam portfolio anda. 129 00:07:37,100 --> 00:07:41,040 Jadi seperti yang kita sebutkan sebelum ini, apa yang kita gunakan dalam Laravel 130 00:07:41,040 --> 00:07:43,090 adalah sesuatu yang dikenali sebagai migrasi. 131 00:07:43,090 --> 00:07:48,570 Jadi, jika kita kembali kepada kod pengedaran di sini, 132 00:07:48,570 --> 00:07:51,790 arahan pertama yang membantu yang Laravel menyediakan anda 133 00:07:51,790 --> 00:07:54,240 adalah perintah berhijrah ini. 134 00:07:54,240 --> 00:07:59,220 Oleh itu, kita boleh melakukan php tukang berhijrah: membuat. 135 00:07:59,220 --> 00:08:01,760 Jadi ini membolehkan kita untuk membuat penghijrahan. 136 00:08:01,760 --> 00:08:03,710 >> Dan kemudian kita akan mahu untuk mewujudkan satu penghijrahan 137 00:08:03,710 --> 00:08:07,050 dipanggil create_posts_table, yang akan 138 00:08:07,050 --> 00:08:11,521 sebagai mana kita akan menjadi menyimpan catatan blog kami. 139 00:08:11,521 --> 00:08:14,690 Dan anda akan melihat di sini bahawa ia berjalan melalui beberapa kod yang benar-benar 140 00:08:14,690 --> 00:08:17,580 menjana fail dengan suatu cap masa pada ia. 141 00:08:17,580 --> 00:08:22,260 Jadi, jika kita pergi dan melihat Pangkalan Data, kita akan melihat di bawah penghijrahan 142 00:08:22,260 --> 00:08:24,830 bahawa ia mewujudkan satu fail kosong untuk kita yang 143 00:08:24,830 --> 00:08:30,100 mempunyai kod boilerplate dengan nama yang kita dinyatakan, buat jadual catatan. 144 00:08:30,100 --> 00:08:31,670 >> Dan ia mempunyai dua fungsi di dalamnya. 145 00:08:31,670 --> 00:08:40,539 Up adalah apa yang kita mahu menjalankan apabila penghijrahan digunakan untuk pangkalan data. 146 00:08:40,539 --> 00:08:46,380 Dan ke bawah adalah apa yang kita akan lakukan apabila kita ingin berbalik penghijrahan. 147 00:08:46,380 --> 00:08:49,890 Jadi di sini kita bermula dengan menulis penghijrahan ini. 148 00:08:49,890 --> 00:08:55,480 Jadi ada kelas membantu dalam Laravel dipanggil Skema. 149 00:08:55,480 --> 00:08:57,910 >> Jadi, kita akan berjalan Skema :: buat. 150 00:08:57,910 --> 00:09:01,080 Dan kita akan mewujudkan jadual yang dipanggil jawatan. 151 00:09:01,080 --> 00:09:05,980 Dan di sini kita memohon ini menggunakan fungsi. 152 00:09:05,980 --> 00:09:11,010 Dan dalam sini, kita akan benar-benar menentukan kandungan meja kami. 153 00:09:11,010 --> 00:09:14,860 Kami akan mewujudkan satu ID, yang auto-menokok. 154 00:09:14,860 --> 00:09:19,850 155 00:09:19,850 --> 00:09:24,350 >> Di samping itu, kita akan untuk mewujudkan bidang yang 156 00:09:24,350 --> 00:09:27,060 mewakili tajuk post blog kami. 157 00:09:27,060 --> 00:09:29,880 158 00:09:29,880 --> 00:09:36,950 Kami juga akan mewujudkan bidang yang untuk menyimpan teks pos blog kami. 159 00:09:36,950 --> 00:09:40,600 Dan akhirnya, kita akan untuk menyimpan beberapa cap waktu 160 00:09:40,600 --> 00:09:44,690 apabila pos kami telah dicipta dan apabila ia telah dikemas kini. 161 00:09:44,690 --> 00:09:46,240 Dan untuk ke bawah, ia adalah agak mudah. 162 00:09:46,240 --> 00:09:53,974 Apa yang kami mahu lakukan adalah penurunan meja yang kami telah mencipta. 163 00:09:53,974 --> 00:09:54,930 >> Great. 164 00:09:54,930 --> 00:09:55,850 Apa-apa soalan? 165 00:09:55,850 --> 00:09:59,730 166 00:09:59,730 --> 00:10:07,110 Oleh sebab itu jika kita pergi ke depan dan- sebenarnya, tuan rumah tempatan, 167 00:10:07,110 --> 00:10:09,640 biarlah saya memadam apa yang kita sebelum ini. 168 00:10:09,640 --> 00:10:14,330 169 00:10:14,330 --> 00:10:15,190 Pergi ke Pangkalan data. 170 00:10:15,190 --> 00:10:17,640 Saya akan memadam apa yang kita sebelum ini. 171 00:10:17,640 --> 00:10:22,870 Drop ini dan mewujudkan pangkalan data baru Blog50. 172 00:10:22,870 --> 00:10:24,930 Jadi sekarang apa yang ajaib sebahagian adalah di sini bahawa kita 173 00:10:24,930 --> 00:10:28,760 boleh memohon migrasi ini secara terus kepada pangkalan data yang menggunakan baris arahan 174 00:10:28,760 --> 00:10:29,290 alat. 175 00:10:29,290 --> 00:10:35,100 Jadi, jika kita melakukan php tukang berhijrah, anda akan perasan bahawa, hey. 176 00:10:35,100 --> 00:10:38,320 Ia dicipta jadual perpindahan, yang kita akan lihat di dalam sedikit, 177 00:10:38,320 --> 00:10:40,540 dan ia digunakan penghijrahan pertama ini. 178 00:10:40,540 --> 00:10:43,860 179 00:10:43,860 --> 00:10:48,920 >> Oleh itu, kita melihat Blog50, anda akan perasan bahawa ia menciptakan dua jadual untuk kita. 180 00:10:48,920 --> 00:10:50,300 Pertama adalah jadual migrasi ini. 181 00:10:50,300 --> 00:10:54,130 Oleh itu, jika kita lihat ini, anda akan melihat bahawa jadual ini adalah agak mudah. 182 00:10:54,130 --> 00:10:55,490 Ia hanya berkata, hey. 183 00:10:55,490 --> 00:10:58,960 Kami telah memohon penghijrahan ini. 184 00:10:58,960 --> 00:11:01,470 Kami pergi ke belakang dan melihat jawatan. 185 00:11:01,470 --> 00:11:05,720 Anda akan melihat bahawa struktur adalah apa yang kita telah meminta ia. 186 00:11:05,720 --> 00:11:07,350 Kami mempunyai ID automatik menokok. 187 00:11:07,350 --> 00:11:10,450 Kami mempunyai tali untuk menyimpan tajuk, dan medan teks 188 00:11:10,450 --> 00:11:11,450 untuk menyimpan kandungan. 189 00:11:11,450 --> 00:11:14,040 190 00:11:14,040 --> 00:11:14,706 Great. 191 00:11:14,706 --> 00:11:15,560 Cool. 192 00:11:15,560 --> 00:11:21,626 Apa-apa soalan mengenai migrasi kerja, bagaimana kita boleh menggunakannya? 193 00:11:21,626 --> 00:11:22,126 Tidak? 194 00:11:22,126 --> 00:11:23,600 Cool. 195 00:11:23,600 --> 00:11:26,630 Jadi sekarang kita akan pergi ke depan dan mencipta model. 196 00:11:26,630 --> 00:11:33,100 Oleh itu, kita mahu mewujudkan model jawatan yang menyimpan satu abstraksi pangkalan data. 197 00:11:33,100 --> 00:11:41,040 Jadi, daripada melakukan MySQL pertanyaan secara langsung, kita akan buat. 198 00:11:41,040 --> 00:11:45,840 Oleh itu, kita perlu membuat folder di sini yang dikenali sebagai model. 199 00:11:45,840 --> 00:11:48,905 Dan di dalam sini, kita akan mencipta fail yang dipanggil post.php. 200 00:11:48,905 --> 00:11:52,280 201 00:11:52,280 --> 00:11:54,550 >> Di dalam fail PHP ini, kita akan membuat 202 00:11:54,550 --> 00:12:00,590 jawatan kelas yang memanjangkan fasih. 203 00:12:00,590 --> 00:12:08,950 Fasih adalah nama PRO yang enjin yang Laravel menyediakan. 204 00:12:08,950 --> 00:12:12,799 Dan di sini, kita boleh menjangkakan bahawa anda benar-benar perlu untuk menulis beberapa kod. 205 00:12:12,799 --> 00:12:14,840 Kami akan menulis beberapa fungsi pembantu kemudian. 206 00:12:14,840 --> 00:12:19,420 Tetapi keluar dari kotak, ini akan sudah mengenali apa yang di dalam pangkalan data 207 00:12:19,420 --> 00:12:24,770 dan kita boleh mengakses, berkata, teks yang jawatan blog kami atau tajuk, 208 00:12:24,770 --> 00:12:29,230 dan mencipta barangan secara langsung dengan cukup banyak tiada kod jua. 209 00:12:29,230 --> 00:12:31,110 >> Jadi itulah salah satu komponen yang ajaib. 210 00:12:31,110 --> 00:12:34,980 Dan angin sekali kelas ini adalah yang beroperasi dengan lebih menyeluruh, 211 00:12:34,980 --> 00:12:40,480 kami akan termasuk maklumat mengenai apa yang ia berkaitan dengan, jadi komen. 212 00:12:40,480 --> 00:12:42,310 Juga mewujudkan fungsi jadi kita sebenarnya 213 00:12:42,310 --> 00:12:46,340 terus mendapatkan URL bagi sebuah laman blog post. 214 00:12:46,340 --> 00:12:46,840 Cool. 215 00:12:46,840 --> 00:12:47,881 Apa-apa soalan tentang itu? 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 >> Oleh sebab itu apabila kita mempunyai model kita, kita ingin membuat pengawal itu 220 00:12:57,860 --> 00:13:02,340 dapat untuk berhubung dengan model-model ini, dan seterusnya pangkalan data. 221 00:13:02,340 --> 00:13:05,540 Oleh itu, jika kita lihat di BlogController, anda akan 222 00:13:05,540 --> 00:13:08,490 melihat bahawa tidak ada banyak di sini sekarang. 223 00:13:08,490 --> 00:13:13,220 Semua ada adalah fungsi indeks yang menjana halaman rumah, 224 00:13:13,220 --> 00:13:18,220 tetapi tanpa apa-apa ada untuk dipaparkan lagi. 225 00:13:18,220 --> 00:13:20,560 >> Jadi fungsi pertama bahawa kita akan mewujudkan 226 00:13:20,560 --> 00:13:25,790 adalah salah satu yang membolehkan kita untuk membuat siaran blog. 227 00:13:25,790 --> 00:13:30,540 Jadi, kita akan mengisytiharkan fungsi baru yang dipanggil newPost. 228 00:13:30,540 --> 00:13:36,430 Dan di dalam sini hanya, kita akan untuk menetapkan susun atur halaman ini 229 00:13:36,430 --> 00:13:41,850 menjadi menyebabkan versi, jika anda ingat dari CS50, 230 00:13:41,850 --> 00:13:48,020 template ini dipanggil blog.new, yang kita akan membuat dalam sedikit. 231 00:13:48,020 --> 00:13:53,170 >> Anda akan melihat di sini pada baris yang enam kita ditentukan pembolehubah ini, susun atur. 232 00:13:53,170 --> 00:13:55,820 Dan jika kita melihat dengan pada folder Views itu, 233 00:13:55,820 --> 00:14:01,640 terdapat folder Layouts, yang termasuk fail HTML yang sangat asas. 234 00:14:01,640 --> 00:14:04,680 Dan nota, anda akan perasan yang kita ada bekas 235 00:14:04,680 --> 00:14:06,800 di sini yang menghasilkan kandungan. 236 00:14:06,800 --> 00:14:09,460 Jadi di dalam template kami apa yang kita akan lakukan 237 00:14:09,460 --> 00:14:16,180 adalah mewujudkan apa yang akan menjadi digantikan secara langsung dalam susun atur ini. 238 00:14:16,180 --> 00:14:20,060 >> Oleh itu, kita berkata bahawa kita ingin menjadikan template yang dipanggil blog.new. 239 00:14:20,060 --> 00:14:23,790 Tetapi di dalam Blog, ada belum template baru ini. 240 00:14:23,790 --> 00:14:26,910 Jadi kita akan membuat fail dipanggil new.blade.php. 241 00:14:26,910 --> 00:14:29,860 Ini memberitahu bahawa Laravel file PHP ini perlu 242 00:14:29,860 --> 00:14:31,720 diterjemahkan dengan mesin template bilah. 243 00:14:31,720 --> 00:14:39,510 244 00:14:39,510 --> 00:14:42,630 Jadi ini adalah agak fail mudah. 245 00:14:42,630 --> 00:14:46,690 Ia akan menjadi bentuk yang dengannya kita sebenarnya menambah dalam blog post. 246 00:14:46,690 --> 00:14:49,220 >> Jadi sihir di sini dari pusaka ialah, hey. 247 00:14:49,220 --> 00:14:52,950 Kami ingin nyatakan bahawa seksyen, seksyen kandungan 248 00:14:52,950 --> 00:14:56,640 di sini, yang ditandakan olehsection danstop. 249 00:14:56,640 --> 00:15:02,260 Jadi apa yang ada di antara di sini akan digantikan ke dalam susun atur induk. 250 00:15:02,260 --> 00:15:07,000 Dan di sini apa yang kami mahu lakukan adalah sangat hanya membuat fail HTML baru. 251 00:15:07,000 --> 00:15:08,690 Mari kita menambah tajuk yang cepat. 252 00:15:08,690 --> 00:15:09,600 Tambah blog post. 253 00:15:09,600 --> 00:15:12,110 254 00:15:12,110 --> 00:15:15,390 Dan dalam tempoh itu, kami akan mewujudkan borang. 255 00:15:15,390 --> 00:15:19,197 >> Borang ini akan mempunyai suatu tindakan. 256 00:15:19,197 --> 00:15:21,780 Dan ini akan menjadi sesuatu yang bahawa kita menggantikan dalam kemudian, 257 00:15:21,780 --> 00:15:24,200 dan kita akan melihat bagaimana routing muat ke sini. 258 00:15:24,200 --> 00:15:33,600 Tetapi kita hanya akan menentukan untuk sekarang ini pergi ke URL yang dengan laluan 259 00:15:33,600 --> 00:15:34,860 dari createPost. 260 00:15:34,860 --> 00:15:38,200 261 00:15:38,200 --> 00:15:40,320 Dan maka ini akan mempunyai kaedah pos. 262 00:15:40,320 --> 00:15:43,940 263 00:15:43,940 --> 00:15:47,590 Dalam di sini, kita akan mempunyai dua bidang. 264 00:15:47,590 --> 00:15:49,170 Div class = "bentuk-kumpulan". 265 00:15:49,170 --> 00:15:55,806 >> Kami menggunakan perpustakaan Bootstrap CSS anggun disediakan oleh Twitter. 266 00:15:55,806 --> 00:15:57,720 Jadi, kita akan mewujudkan dua ini. 267 00:15:57,720 --> 00:16:01,700 268 00:16:01,700 --> 00:16:05,970 Jadi input pertama ini adalah akan menjadi tajuk. 269 00:16:05,970 --> 00:16:08,437 Jadi nama 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 Saya akan menambah pemegang tempat = "Tajuk". 274 00:16:16,050 --> 00:16:21,570 275 00:16:21,570 --> 00:16:26,140 >> Dan kemudian yang kedua adalah akan menjadi kawasan teks. 276 00:16:26,140 --> 00:16:27,827 Name = "kandungan". 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 Dan pemegang tempat = "Tulis di sini". 280 00:16:34,610 --> 00:16:42,030 281 00:16:42,030 --> 00:16:43,480 Di sana kami pergi. 282 00:16:43,480 --> 00:16:46,760 Akhir sekali, kita akan menambah butang cepat hantar. 283 00:16:46,760 --> 00:16:50,370 Type = "submit" class = "BTN btn-utama". 284 00:16:50,370 --> 00:16:53,370 285 00:16:53,370 --> 00:16:55,340 Jadi semua ini adalah ciri-ciri Bootstrap jadi 286 00:16:55,340 --> 00:16:58,510 yang ini boleh dibentangkan keluar dengan cara itulah 287 00:16:58,510 --> 00:17:03,730 mangsa kepada pengguna, bukannya HTML telanjang. 288 00:17:03,730 --> 00:17:06,250 >> Oleh itu, kita telah ditakrifkan pengawal di sini. 289 00:17:06,250 --> 00:17:08,930 Kami telah ditakrifkan pandangan yang sangat mudah. 290 00:17:08,930 --> 00:17:12,339 Tetapi apa yang kurang ialah tisu penghubung. 291 00:17:12,339 --> 00:17:15,420 Jadi pada ketika ini, Laravel tidak mempunyai idea bagaimana 292 00:17:15,420 --> 00:17:18,312 kita akan benar-benar mengakses pengawal ini. 293 00:17:18,312 --> 00:17:20,270 Jadi ini ditakrifkan dalam fail routes.php dipanggil. 294 00:17:20,270 --> 00:17:22,780 295 00:17:22,780 --> 00:17:24,310 Dan sekarang, kita mempunyai satu laluan. 296 00:17:24,310 --> 00:17:29,060 Iaitu apabila kita pergi ke jalan rumah untuk laman web ini, 297 00:17:29,060 --> 00:17:33,140 ia akan menyebabkan pengawal indeks. 298 00:17:33,140 --> 00:17:38,880 Jadi di sini apa yang kita perlu lakukan ialah melaksanakan laluan baru untuk kita buat pengumuman. 299 00:17:38,880 --> 00:17:41,910 >> Oleh itu, kita menggunakan kaedah ini mendapatkan, yang menyatakan 300 00:17:41,910 --> 00:17:48,650 bahawa apabila pengguna cuba mendapatkan ini page-- khusus 301 00:17:48,650 --> 00:17:52,850 jawatan mengurangkan page-- baru apa yang kita akan lakukan 302 00:17:52,850 --> 00:18:02,060 adalah menggunakan pengawal yang dipanggil Jawatan baru BlogController. 303 00:18:02,060 --> 00:18:03,460 Antara perkara yang kita buat. 304 00:18:03,460 --> 00:18:08,090 Dan kemudian kita akan kepada Alias ​​sebagai newPost. 305 00:18:08,090 --> 00:18:17,460 306 00:18:17,460 --> 00:18:19,850 Kami akan mewujudkan satu lagi fungsi dalam sedikit. 307 00:18:19,850 --> 00:18:23,520 Tetapi apa yang di sini di bawah kunci "sebagai" adalah apa yang 308 00:18:23,520 --> 00:18:28,195 kita boleh menggantikan dalam template Blade kami. 309 00:18:28,195 --> 00:18:32,390 310 00:18:32,390 --> 00:18:36,230 Jadi buat masa ini, mari kita sebenarnya juga kata laluan. 311 00:18:36,230 --> 00:18:38,380 Oleh itu, kita juga pergi untuk mewujudkan pengawal 312 00:18:38,380 --> 00:18:41,020 supaya kita boleh mewujudkan jawatan-jawatan ini. 313 00:18:41,020 --> 00:18:46,940 Jadi, jika seorang pengguna untuk jawatan jawatan halaman slash baru, apa yang kita akan lakukan 314 00:18:46,940 --> 00:18:51,350 adalah menggunakan pengawal yang kita akan mewujudkan lama 315 00:18:51,350 --> 00:18:56,160 dipanggil BlogController di createPost. 316 00:18:56,160 --> 00:19:01,929 Dan kita akan alias ini dengan sebagai createPost. 317 00:19:01,929 --> 00:19:03,380 Cool. 318 00:19:03,380 --> 00:19:05,811 >> Apa-apa soalan? 319 00:19:05,811 --> 00:19:06,310 Cool. 320 00:19:06,310 --> 00:19:09,790 Jadi mari kita menjalankan apa yang kita ada setakat ini. 321 00:19:09,790 --> 00:19:16,930 Jadi, jika kita melakukan php tukang berkhidmat, kita akan melihat banyak kesilapan. 322 00:19:16,930 --> 00:19:20,385 Jadi ia kelihatan seperti kita mempunyai ralat sintaks di laluan beratur 27. 323 00:19:20,385 --> 00:19:20,885 Ah. 324 00:19:20,885 --> 00:19:21,718 Hilang koma bertitik. 325 00:19:21,718 --> 00:19:24,900 326 00:19:24,900 --> 00:19:32,870 Jadi, jika kita pergi ke 8,000, anda akan melihat apa-apa di sini lagi. 327 00:19:32,870 --> 00:19:34,740 Jadi ini adalah halaman utama lalai. 328 00:19:34,740 --> 00:19:37,730 >> Tetapi jika kita pergi ke pos slash baru, hey. 329 00:19:37,730 --> 00:19:40,425 Ia akan menjadi bentuk yang kita buat. 330 00:19:40,425 --> 00:19:42,550 Pada masa ini, kami tidak mempunyai melaksanakan fungsi yang 331 00:19:42,550 --> 00:19:44,060 bila kita tekan butang Submit. 332 00:19:44,060 --> 00:19:47,110 Jadi, jika kita klik pada Submit butang, ia akan berjalan ralat. 333 00:19:47,110 --> 00:19:49,840 Tetapi kita akan kod yang sekarang, dengan tepat apa yang kita 334 00:19:49,840 --> 00:19:54,840 mahu lakukan apabila pengguna mengemukakan borang ini. 335 00:19:54,840 --> 00:19:55,770 >> Jadi mari kita buat itu. 336 00:19:55,770 --> 00:19:57,380 Kembali ke fail Pengawal itu. 337 00:19:57,380 --> 00:20:00,180 Apa yang kita akan lakukan adalah melaksanakan fungsi baru ini 338 00:20:00,180 --> 00:20:04,360 yang membolehkan kita untuk buat pengumuman. 339 00:20:04,360 --> 00:20:07,370 340 00:20:07,370 --> 00:20:08,990 Mengisytiharkan fungsi baru. 341 00:20:08,990 --> 00:20:11,527 CreatePost fungsi awam. 342 00:20:11,527 --> 00:20:14,610 Dan fungsi ini akan menjadi sedikit sedikit lebih canggih daripada apa yang 343 00:20:14,610 --> 00:20:15,559 kita mempunyai di hadapan. 344 00:20:15,559 --> 00:20:18,350 Tetapi anda akan melihat di sini bahawa kita tidak sebenarnya akan menulis apa-apa SQL. 345 00:20:18,350 --> 00:20:20,980 ORM, yang Eloquent PRO, akan membolehkan 346 00:20:20,980 --> 00:20:26,400 kita untuk melakukan ini dalam beberapa cara cara yang lebih elegan. 347 00:20:26,400 --> 00:20:29,140 >> Jadi kita akan membuat siaran baru. 348 00:20:29,140 --> 00:20:34,120 Dan di sini kita instantiating objek baru 349 00:20:34,120 --> 00:20:38,080 dari model yang kita hanya diwujudkan, model jawatan itu. 350 00:20:38,080 --> 00:20:44,450 Dan apa yang kita akan lakukan adalah menetapkan atribut tajuk ini menggunakan sesuatu 351 00:20:44,450 --> 00:20:47,380 yang kita dapat daripada pelayan. 352 00:20:47,380 --> 00:20:52,060 Jadi ini adalah sama dengan apa yang kami sebelum di CS50 Kewangan 353 00:20:52,060 --> 00:20:57,750 di mana kita akan lakukan, menggunakan Super Global Post mencari tajuk. 354 00:20:57,750 --> 00:21:01,600 >> Jadi Laravel menyediakan beberapa sanitasi dan barang kecil menggunakan fungsi pembantu ini. 355 00:21:01,600 --> 00:21:07,610 Oleh itu, kita lebih suka untuk menggunakan ini sebaliknya daripada bentuk mentah sangat asas ini dari PHP. 356 00:21:07,610 --> 00:21:17,430 Dan kemudian apa yang kita akan lakukan ialah menyediakan kandungan kepada Input mendapatkan kandungan. 357 00:21:17,430 --> 00:21:20,429 358 00:21:20,429 --> 00:21:22,720 Kami benar-benar pergi untuk membalut ini dalam satu majlis yang berguna 359 00:21:22,720 --> 00:21:31,820 PHP menyediakan dipanggil nl2br, yang bertukar baru baris, NLS, ke BRS, memecahkan, 360 00:21:31,820 --> 00:21:35,822 supaya kita boleh mempunyai perenggan yang berbeza di dalamnya. 361 00:21:35,822 --> 00:21:38,030 Dan akhirnya apa yang kita akan lakukan adalah menyimpan catatan ini. 362 00:21:38,030 --> 00:21:41,686 Jadi kita panggil fungsi menjimatkan model ini. 363 00:21:41,686 --> 00:21:43,800 Kami akan menyelamatkan jawatan itu. 364 00:21:43,800 --> 00:21:49,970 Dan akhirnya apa yang kita akan lakukan yang mengarahkan pengguna khusus 365 00:21:49,970 --> 00:21:55,060 to yang kita akan mewujudkan lama, alias oleh viewPost. 366 00:21:55,060 --> 00:22:00,435 Dan kita akan lulus dalam hujah-hujah id, sebagai id jawatan baru ini. 367 00:22:00,435 --> 00:22:04,280 368 00:22:04,280 --> 00:22:05,640 >> Great. 369 00:22:05,640 --> 00:22:09,090 Oleh sebab itu jika kita benar-benar pergi dan menjalankan ini. 370 00:22:09,090 --> 00:22:11,370 Kami akan menambah jawatan baru. 371 00:22:11,370 --> 00:22:15,930 Katakan ini adalah seminar 50. 372 00:22:15,930 --> 00:22:17,620 Dan katakanlah, pasti. 373 00:22:17,620 --> 00:22:18,240 ASDL. 374 00:22:18,240 --> 00:22:18,740 Apa sahaja. 375 00:22:18,740 --> 00:22:20,320 Beberapa jenis kandungan. 376 00:22:20,320 --> 00:22:21,180 Dan ia Hantar. 377 00:22:21,180 --> 00:22:23,850 Dan kita akan melihat bahawa, hey. laluan tidak ditakrifkan. 378 00:22:23,850 --> 00:22:32,340 Tetapi jika kita lihat di phpMyAdmin dan mencari sama ada atau tidak fungsi kami 379 00:22:32,340 --> 00:22:34,370 melakukan apa-apa. 380 00:22:34,370 --> 00:22:36,670 Lihatlah jawatan Blog50. 381 00:22:36,670 --> 00:22:37,720 Kami akan perasan bahawa, hey. 382 00:22:37,720 --> 00:22:43,530 Malah, kita tidak hanya membuat blog yang pos dengan cap waktu yang dinyatakan. 383 00:22:43,530 --> 00:22:46,600 384 00:22:46,600 --> 00:22:51,630 >> Jadi sekarang mari kita kembali dan mencipta fungsi ini lain di dalam alat kawalan kami, 385 00:22:51,630 --> 00:22:54,790 khusus pengawal viewPost itu. 386 00:22:54,790 --> 00:23:00,290 ViewPost fungsi Jadi awam. 387 00:23:00,290 --> 00:23:04,070 Jadi di sini apa yang kita akan lakukan, dan bukan mempunyai kurungan kosong, 388 00:23:04,070 --> 00:23:08,800 kita akan mahu untuk lulus dalam ID jawatan yang kami mewujudkan. 389 00:23:08,800 --> 00:23:12,800 Dan dari sini apa yang kita akan lakukan sebenarnya pertanyaan pangkalan data untuk itu. 390 00:23:12,800 --> 00:23:15,140 >> Jadi, jika kita hantar, ada fungsi yang dipanggil 391 00:23:15,140 --> 00:23:18,860 Cari yang membolehkan kita untuk pertanyaan itu dengan ID. 392 00:23:18,860 --> 00:23:22,110 Secara khusus, sebenarnya, kita akan menggunakan versi silih ganti ini dipanggil 393 00:23:22,110 --> 00:23:27,880 Cari atau Gagal, yang membolehkan kita untuk berhenti daripada fungsi ini, 394 00:23:27,880 --> 00:23:34,700 membuang pengecualian jika ID kita lulus dalam tidak wujud. 395 00:23:34,700 --> 00:23:37,500 Dan kemudian kita akan melakukan sesuatu sama dengan apa yang kami lakukan sebelum ini 396 00:23:37,500 --> 00:23:41,100 di mana kita menetapkan kandungan halaman ini untuk menjadi 397 00:23:41,100 --> 00:23:47,950 versi diberikan pandangan baru ini yang kita akan buat, blog.view. 398 00:23:47,950 --> 00:23:51,030 >> Dan kita akan masuk ke dalam it-- hanya suka dalam CS50 yang menyebabkan 399 00:23:51,030 --> 00:23:56,645 function-- kamus pembolehubah. 400 00:23:56,645 --> 00:23:59,860 401 00:23:59,860 --> 00:24:04,620 Kunci-kunci array bersekutu ini menjadi pembolehubah dalam template. 402 00:24:04,620 --> 00:24:06,830 Jadi, kita akan lakukan selepas pos. 403 00:24:06,830 --> 00:24:12,474 Jadi secara tidak langsung lulus jawatan yang kami telah membuat pertanyaan dari pangkalan data. . 404 00:24:12,474 --> 00:24:14,390 Sekarang apa yang kita akan lakukan adalah mewujudkan pandangan ini 405 00:24:14,390 --> 00:24:17,560 supaya kita benar-benar dapat melihat catatan blog yang kita telah dibina. 406 00:24:17,560 --> 00:24:20,280 >> Jadi kita akan membuat fail dipanggil view.blade.php. 407 00:24:20,280 --> 00:24:25,870 408 00:24:25,870 --> 00:24:29,640 Jadi di dalam template ini, apa yang kita akan lakukan 409 00:24:29,640 --> 00:24:39,700 diletakkan bersama-sama halaman yang mudah yang membolehkan kita untuk memaparkan kandungan. 410 00:24:39,700 --> 00:24:44,280 Oleh itu, kita melakukan seksyen, itu sebelum kandungan. 411 00:24:44,280 --> 00:24:46,800 Berhenti. 412 00:24:46,800 --> 00:24:53,920 Dan apa yang kita akan lakukan dalam sini adalah 413 00:24:53,920 --> 00:24:56,930 menulis beberapa HTML untuk memaparkan halaman ini. 414 00:24:56,930 --> 00:25:03,590 >> Jadi kita akan balut dengan mewah yang elemen HTML5 baru yang dikenali sebagai Perkara. 415 00:25:03,590 --> 00:25:05,790 Dan di sini, kita akan mempunyai tandukan mana 416 00:25:05,790 --> 00:25:12,190 kita akan hanya mempunyai satu h1, yang merangkumi tajuk pos. 417 00:25:12,190 --> 00:25:17,120 Jadi di sini, jika kita melihat ini dua notasi pendakap kerinting, 418 00:25:17,120 --> 00:25:21,690 ini akan melakukan pada dasarnya PHP echo tajuk pos. 419 00:25:21,690 --> 00:25:25,630 Jadi ia adalah trengkas membantu yang Laravel kepada kita. 420 00:25:25,630 --> 00:25:31,070 Jadi, kita akan menggunakan tatatanda ini bukan. 421 00:25:31,070 --> 00:25:40,220 >> Dan di sini, kita akan juga mencetak kandungan itu. 422 00:25:40,220 --> 00:25:43,480 Dan di sini, kita akan berbuat kandungan pos. 423 00:25:43,480 --> 00:25:46,514 424 00:25:46,514 --> 00:25:50,660 Dan ke bawah di bahagian bawah apa yang kami akan lakukan ialah membuat nota kaki. 425 00:25:50,660 --> 00:25:57,690 Dan dalam nota kaki, kita akan paparan pertama apabila ini telah diposkan. 426 00:25:57,690 --> 00:26:01,320 Jadi ini telah diposkan pada, diwujudkan pada. 427 00:26:01,320 --> 00:26:07,996 >> Dan Laravel menggunakan bagus perpustakaan tarikh dipanggil Carbon. 428 00:26:07,996 --> 00:26:11,120 Oleh itu, kita sebenarnya boleh melakukan sesuatu yang dinamakan difforHumans, yang anda lihat sebelum ini. 429 00:26:11,120 --> 00:26:14,360 Apabila kita diposkan. ia akan berkata, seperti, lima saat yang lalu. 430 00:26:14,360 --> 00:26:16,860 Jadi ini adalah benar-benar bagus fungsi Laravel. 431 00:26:16,860 --> 00:26:19,469 432 00:26:19,469 --> 00:26:21,385 Dan akhirnya, kita akan untuk menutup kaki ini. 433 00:26:21,385 --> 00:26:24,900 434 00:26:24,900 --> 00:26:31,450 >> Oleh sebab itu jika kita kembali kepada Laman Utama kita akan 435 00:26:31,450 --> 00:26:34,490 untuk melihat apa-apa di sini lagi kerana kami tidak dikodkan sehingga halaman rumah. 436 00:26:34,490 --> 00:26:40,962 Tetapi jika kita pergi ke pos slash satu, kita akan melihat pengecualian. 437 00:26:40,962 --> 00:26:42,670 Adakah sesiapa tahu mengapa kita lihat pengecualian? 438 00:26:42,670 --> 00:26:44,516 Apa yang kita hilang? 439 00:26:44,516 --> 00:26:45,290 Apa-apa idea? 440 00:26:45,290 --> 00:26:48,050 441 00:26:48,050 --> 00:26:49,790 Jadi apa yang telah kami lakukan lebih awal untuk kita sebenarnya 442 00:26:49,790 --> 00:26:52,285 untuk menentukan bagaimana kita dapat pengawal tertentu? 443 00:26:52,285 --> 00:26:54,895 444 00:26:54,895 --> 00:26:55,770 >> SPEAKER 1: Laluan ini? 445 00:26:55,770 --> 00:26:56,519 ERIC Ouyang: Yeah. 446 00:26:56,519 --> 00:26:58,070 Oleh itu, kita masih perlu menentukan laluan. 447 00:26:58,070 --> 00:26:59,794 Oleh itu, kita kembali di sini untuk routes.php. 448 00:26:59,794 --> 00:27:01,710 Anda akan melihat bahawa kita tidak sebenarnya ditakrifkan 449 00:27:01,710 --> 00:27:05,010 bagaimana kita akan mendapatkan kepada pengawal ini. 450 00:27:05,010 --> 00:27:06,780 Jadi sekarang kita akan menentukan laluan ini. 451 00:27:06,780 --> 00:27:09,280 Ia agak mudah, sama dengan apa yang kami lakukan sebelum ini. 452 00:27:09,280 --> 00:27:13,910 Tetapi apa yang kita akan melihat di sini adalah bahawa kita akan mempunyai pemegang tempat. 453 00:27:13,910 --> 00:27:18,730 >> Jadi, jika kita melakukan route.get pos palang ID. 454 00:27:18,730 --> 00:27:24,290 Jadi ID sekarang ialah apa yang akan diluluskan ke dalam pengawal. 455 00:27:24,290 --> 00:27:27,820 Ini akan menggunakan pengawal yang kita hanya 456 00:27:27,820 --> 00:27:33,560 diwujudkan, BlogController di viewPost. 457 00:27:33,560 --> 00:27:36,420 Dan kita akan alias ini sebagai viewPost. 458 00:27:36,420 --> 00:27:46,544 459 00:27:46,544 --> 00:27:47,490 Great. 460 00:27:47,490 --> 00:27:49,470 Jadi sekarang kita akan buat laluan ini. 461 00:27:49,470 --> 00:27:52,100 >> Oleh sebab itu jika kita pergi sini dan muat semula halaman ini, 462 00:27:52,100 --> 00:27:54,410 kita sebenarnya mempunyai blog post baru kami. 463 00:27:54,410 --> 00:27:57,710 Jadi ini adalah apa yang kita dicipta lebih awal. 464 00:27:57,710 --> 00:28:01,320 Sangat halaman mudah, tetapi paparan yang blog post yang kita buat. 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 Dan jika kita benar-benar pergi melalui keseluruhan proses membuat siaran blog baru, 468 00:28:08,880 --> 00:28:11,700 kita akan melihat semua yang pelencongan betul. 469 00:28:11,700 --> 00:28:12,950 Jika saya berkata, "Hi. 470 00:28:12,950 --> 00:28:15,710 Saya Jonathan Tan. " 471 00:28:15,710 --> 00:28:18,550 Katakanlah, "Ini adalah post blog saya." 472 00:28:18,550 --> 00:28:22,830 Hantar dan ia, ini akan mewujudkan ini blog post baru dengan ID 2, 473 00:28:22,830 --> 00:28:28,920 yang kenaikan dari apa yang kita mempunyai sebelum ini dan memaparkan dengan betul. 474 00:28:28,920 --> 00:28:30,760 Awesome. 475 00:28:30,760 --> 00:28:32,930 >> Apa-apa soalan? 476 00:28:32,930 --> 00:28:33,430 Ya? 477 00:28:33,430 --> 00:28:36,537 >> SPEAKER 2: Adakah Laravel pemegang sanitasi dan segala-galanya untuk anda? 478 00:28:36,537 --> 00:28:37,245 ERIC Ouyang: Ya. 479 00:28:37,245 --> 00:28:42,990 Oleh itu, apabila kita lihat sebelum ini apabila kami lakukan input kolon kolon mendapatkan, 480 00:28:42,990 --> 00:28:47,720 bahawa apa-apa sanitates SQL suntikan dan barang kecil 481 00:28:47,720 --> 00:28:51,660 bahawa kita mungkin mahu untuk melaksanakan jika kita seorang pengguna berniat jahat daripada laman web ini. 482 00:28:51,660 --> 00:28:54,115 Jadi Laravel mengendalikan banyak daripada yang di belakang tabir. 483 00:28:54,115 --> 00:28:57,030 Soalan yang baik. 484 00:28:57,030 --> 00:29:00,390 >> Oleh itu, marilah kita lihat di halaman rumah. 485 00:29:00,390 --> 00:29:03,220 486 00:29:03,220 --> 00:29:06,790 Jadi, jika kita pertama kembali ke pengawal untuk halaman rumah, 487 00:29:06,790 --> 00:29:08,740 anda akan melihat bahawa ia tidak berbuat banyak di sini. 488 00:29:08,740 --> 00:29:11,620 Anda akan melihat bahawa kita tidak lulus ke dalam pengawal ini 489 00:29:11,620 --> 00:29:13,830 apa-apa terutamanya membantu. 490 00:29:13,830 --> 00:29:16,660 Ia hanya fail indeks ini. 491 00:29:16,660 --> 00:29:18,770 >> Jadi mari kita masuk ke dalam ini sesuatu yang berguna. 492 00:29:18,770 --> 00:29:21,450 Dan secara khusus, kami akan lulus dalam jawatan. 493 00:29:21,450 --> 00:29:28,740 Dan Laravel membolehkan kita untuk melakukan semua jawatan yang 494 00:29:28,740 --> 00:29:30,625 akan membolehkan kita untuk mendapatkan semua jawatan. 495 00:29:30,625 --> 00:29:33,160 496 00:29:33,160 --> 00:29:35,730 Sekarang jika kita kembali kepada index.php, anda akan melihat, hey. 497 00:29:35,730 --> 00:29:37,060 Tiada apa-apa di sini lagi. 498 00:29:37,060 --> 00:29:41,290 Tetapi apa yang kita mahu lakukan di sini sebenarnya melelar melalui, 499 00:29:41,290 --> 00:29:46,420 melakukan gelung foreach alih jawatan yang membolehkan kita untuk mencetak jawatan. 500 00:29:46,420 --> 00:29:53,180 >> Jadi foreach jawatan sebagai jawatan, apa yang kita mahu lakukan 501 00:29:53,180 --> 00:29:57,252 adalah mencetak kandungan catatan blog. 502 00:29:57,252 --> 00:30:00,210 Tetapi satu perkara yang anda akan notis adalah bahawa kita sebenarnya telah menulis sebahagian besar daripada kod yang 503 00:30:00,210 --> 00:30:01,370 sudah, dalam view.blade.php. 504 00:30:01,370 --> 00:30:04,070 505 00:30:04,070 --> 00:30:08,640 Jadi apa yang kita akan lakukan adalah sebenarnya menggunakan ciri baik membantu daripada Blade 506 00:30:08,640 --> 00:30:11,300 dan faktor luar kod biasa ini. 507 00:30:11,300 --> 00:30:12,570 Jadi kita pergi sini. 508 00:30:12,570 --> 00:30:16,210 >> Kami akan mengambil kandungan ini di sini, dan apa yang kita akan lakukan 509 00:30:16,210 --> 00:30:18,170 adalah membuat folder baru. 510 00:30:18,170 --> 00:30:20,364 Mari kita memanggilnya Partials. 511 00:30:20,364 --> 00:30:22,530 Dan di sini, kita akan untuk mewujudkan satu post.blade.php. 512 00:30:22,530 --> 00:30:26,570 513 00:30:26,570 --> 00:30:33,100 Jadi di sini, kita kira daripada cara yang kami mahu memaparkan siaran ini. 514 00:30:33,100 --> 00:30:38,690 Dan di sini apa yang kami akan lakukan dan bukannya sebenarnya mempunyai HTML yang secara langsung, 515 00:30:38,690 --> 00:30:41,530 kita akan menggunakan arahan ini dipanggil termasuk blog.partials.post. 516 00:30:41,530 --> 00:30:45,210 517 00:30:45,210 --> 00:30:50,635 >> Dan apa yang kita akan lakukan di sini adalah lulus dalam jawatan halaman. 518 00:30:50,635 --> 00:30:57,076 519 00:30:57,076 --> 00:31:01,050 Oleh sebab itu jika kita kembali di sini, kita akan melihat bahawa fungsi itu masih 520 00:31:01,050 --> 00:31:01,550 yang sama. 521 00:31:01,550 --> 00:31:05,140 Tetapi sekarang kita mempunyai ini difaktorkan daripada kod, HTML ini. 522 00:31:05,140 --> 00:31:07,070 Oleh itu, kita boleh menggunakannya dalam Indeks. 523 00:31:07,070 --> 00:31:09,090 Jadi di sini, ini adalah sangat mudah. 524 00:31:09,090 --> 00:31:17,870 Apa yang kami lakukan adalah termasuk blog.partials.post dan mudah. 525 00:31:17,870 --> 00:31:20,845 Dan tempat untuk sebelum, kami pos pos. 526 00:31:20,845 --> 00:31:23,830 527 00:31:23,830 --> 00:31:28,182 >> Oleh sebab itu jika kita kembali kepada halaman rumah, kita akan melihat bahawa, hey. 528 00:31:28,182 --> 00:31:30,515 Kami mempunyai senarai semua catatan blog yang kita ada sebelum ini. 529 00:31:30,515 --> 00:31:34,640 530 00:31:34,640 --> 00:31:37,700 Kami mungkin mahu menambah beberapa "jika" syarat dan "lain" keadaan 531 00:31:37,700 --> 00:31:39,979 supaya jika kita tidak mempunyai apa-apa di blog, 532 00:31:39,979 --> 00:31:41,520 kami mahu memaparkan sesuatu yang berguna. 533 00:31:41,520 --> 00:31:42,570 Seperti, hey. 534 00:31:42,570 --> 00:31:44,340 Tiada kandungan lagi di blog. 535 00:31:44,340 --> 00:31:47,670 Dan jika kamu benar-benar melihat kod pengedaran pada GitHub, 536 00:31:47,670 --> 00:31:50,100 anda akan melihat satu contoh bagaimana yang kita lakukan itu. 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 Apa-apa soalan? 540 00:31:54,890 --> 00:31:55,510 Ya. 541 00:31:55,510 --> 00:31:57,468 >> SPEAKER 2: Saya rasa hanya satu soalan asas. 542 00:31:57,468 --> 00:31:59,480 Kembali di laluan itu. 543 00:31:59,480 --> 00:32:00,230 ERIC Ouyang: Yeah. 544 00:32:00,230 --> 00:32:01,935 Jika kita lihat di laluan. 545 00:32:01,935 --> 00:32:06,018 >> SPEAKER 2: Di manakah uses.blogcontroller di buat pengumuman, 546 00:32:06,018 --> 00:32:07,560 apakah yang mengarahkan kita? 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: Atau apakah bahawa- 550 00:32:09,716 --> 00:32:12,620 ERIC Ouyang: Jadi, melihat, berkata sebagai contoh, laluan ini di sini. 551 00:32:12,620 --> 00:32:17,190 Bahagian pertama adalah sebenar URL yang pengguna akan pergi ke. 552 00:32:17,190 --> 00:32:19,930 Dan mudah ini di sini, array bersekutu, mentakrifkan 553 00:32:19,930 --> 00:32:24,520 bagaimana kita ingin mempunyai yang perbuatan permohonan sebagai tindak balas kepada ia. 554 00:32:24,520 --> 00:32:29,090 Jadi menggunakan adalah pengawal, fungsi yang kita 555 00:32:29,090 --> 00:32:31,610 mahu panggil apabila pengguna pergi ke URL ini. 556 00:32:31,610 --> 00:32:35,190 Jadi viewPost di sini adalah fungsi yang ditakrifkan di dalam kita 557 00:32:35,190 --> 00:32:36,100 daripada BlogController-- 558 00:32:36,100 --> 00:32:37,160 >> SPEAKER 2: saya lihat. 559 00:32:37,160 --> 00:32:39,368 >> ERIC Ouyang: --so kita bahawa sebenarnya boleh menyebabkan pandangan yang, 560 00:32:39,368 --> 00:32:42,590 melakukan beberapa pengiraan, berinteraksi dengan pangkalan data SQL. 561 00:32:42,590 --> 00:32:43,560 >> SPEAKER 2: OK. 562 00:32:43,560 --> 00:32:46,960 >> ERIC Ouyang: Dan kemudian yang lain bahagian, "sebagai" adalah alias yang kita gunakan. 563 00:32:46,960 --> 00:32:50,714 Oleh itu, jika kita lihat apabila kami mencipta bentuk, 564 00:32:50,714 --> 00:32:52,380 anda akan perasan bahawa URL :: routecreatePost. 565 00:32:52,380 --> 00:32:55,000 566 00:32:55,000 --> 00:32:58,330 Jadi ia menggantikan dalam sebenar URL supaya kita tidak keras 567 00:32:58,330 --> 00:33:02,940 kod ini di jadi kita boleh mengubahnya sekali, berkata jika kita mahu menamakan semula. 568 00:33:02,940 --> 00:33:06,055 Daripada jawatan slash baru, yang kami mahu lakukan seperti, p 569 00:33:06,055 --> 00:33:09,490 slash baru hanya untuk membersihkan sehingga URL kami sedikit. 570 00:33:09,490 --> 00:33:14,740 Kami akan mengubahnya di satu tempat yang agak daripada semua fail yang berbeza. 571 00:33:14,740 --> 00:33:15,451 >> Cool. 572 00:33:15,451 --> 00:33:15,950 Itu baik. 573 00:33:15,950 --> 00:33:20,070 Jadi sekarang kita mempunyai sangat platform blog asas. 574 00:33:20,070 --> 00:33:24,260 Kita mungkin ingin menambah di butang jadi bahawa kita benar-benar dapat mewujudkan jawatan baru. 575 00:33:24,260 --> 00:33:27,850 Oleh itu, jika kita melihat dengan di Layout Master, 576 00:33:27,850 --> 00:33:31,280 kita mempunyai bahagian yang disebut Tandukan Kanan bahawa kita baru sahaja ditakrifkan sehingga di bahagian atas. 577 00:33:31,280 --> 00:33:34,820 Oleh itu, kita boleh menambah butang bahagian atas kepala. 578 00:33:34,820 --> 00:33:43,950 >> Jadi, jika kita pergi ke index.blade.php, sebenarnya lakukan adalah menentukan apa yang berlaku di dalam sini. 579 00:33:43,950 --> 00:33:46,970 Jadi seksyen Tandukan Hak ini, apa yang kita akan lakukan 580 00:33:46,970 --> 00:33:55,240 adalah tambah satu butang untuk pergi ke URL ditakrifkan melalui laluan jawatan baru. 581 00:33:55,240 --> 00:33:58,270 582 00:33:58,270 --> 00:34:01,660 Hanya untuk membersihkannya dan membuat ia cantik dan semua Bootstrap, 583 00:34:01,660 --> 00:34:04,630 kita akan membuat butang ini lalai. 584 00:34:04,630 --> 00:34:07,794 Mari kita membuat ia besar untuk bersenang-senang. 585 00:34:07,794 --> 00:34:09,969 >> Dan di dalamnya, kita boleh meletakkan beberapa teks. 586 00:34:09,969 --> 00:34:14,030 Tetapi apa yang Bootstrap menyediakan adalah glyphicons. 587 00:34:14,030 --> 00:34:17,840 Oleh itu, kita benar-benar dapat menambah bahawa dalam bagus pensil yang kita lihat sebelum ini. 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-pensil. 591 00:34:22,489 --> 00:34:25,449 592 00:34:25,449 --> 00:34:35,340 Jadi ini akan membolehkan kita untuk meletakkan dalam ikon bukan teks. 593 00:34:35,340 --> 00:34:38,960 Sekarang jika kita berhenti, ini akan menentukan seksyen ini. 594 00:34:38,960 --> 00:34:39,460 Dan, hey. 595 00:34:39,460 --> 00:34:45,000 Kami mempunyai butang bagus yang menghubungkan kami terus kepada menambah halaman blog post. 596 00:34:45,000 --> 00:34:46,659 >> Jadi kita mempunyai satu blog yang agak mudah. 597 00:34:46,659 --> 00:34:49,710 Kita boleh menambah barangan kepadanya. 598 00:34:49,710 --> 00:34:53,650 Tetapi apa yang kita umumnya mengharapkan dari blog ini mengulas. 599 00:34:53,650 --> 00:34:57,340 Jadi ia adalah benar-benar penting bagi kita untuk mempunyai, berkata, jika orang lain melawat laman web 600 00:34:57,340 --> 00:35:00,620 dan benar-benar suka jawatan yang mereka boleh melibatkan diri dalam perbincangan 601 00:35:00,620 --> 00:35:03,100 dengan orang lain yang melawat halaman. 602 00:35:03,100 --> 00:35:07,050 Jadi, kita akan pergi dan membuat jadual pangkalan data baru dan model baru 603 00:35:07,050 --> 00:35:12,220 supaya kita boleh mengaitkan komen dengan jawatan. 604 00:35:12,220 --> 00:35:17,370 >> Jadi langkah pertama, sama seperti sebelum ini, ialah kami perlu menjalankan penghijrahan. 605 00:35:17,370 --> 00:35:21,982 Jadi seperti sebelum ini, kami lakukan php tukang berhijrah: membuat. 606 00:35:21,982 --> 00:35:24,440 Dan kita akan mewujudkan satu dipanggil create_comments_table. 607 00:35:24,440 --> 00:35:29,520 608 00:35:29,520 --> 00:35:36,080 Ini akan mewujudkan fail yang mempunyai penghijrahan baru kami. 609 00:35:36,080 --> 00:35:40,170 Dan kita akan, seperti sebelum, menentukan jadual baru. 610 00:35:40,170 --> 00:35:42,773 Jadi Skema :: mewujudkan meja dipanggil komen. 611 00:35:42,773 --> 00:35:47,410 612 00:35:47,410 --> 00:35:48,430 Fungsi ini di sini. 613 00:35:48,430 --> 00:35:51,620 Dan di dalam jadual ini apa kita akan lakukan ialah pertama, 614 00:35:51,620 --> 00:35:54,260 seperti sebelum ini, memberikan ID. 615 00:35:54,260 --> 00:35:56,552 Menokok ID. 616 00:35:56,552 --> 00:36:05,440 >> Kami akan membolehkan pengguna untuk mengaitkan nama mereka dengan komen tertentu. 617 00:36:05,440 --> 00:36:10,080 Kita akan mempunyai beberapa kandungan yang pergi bersama-sama dengan ini, kandungan teks. 618 00:36:10,080 --> 00:36:13,580 619 00:36:13,580 --> 00:36:15,910 Dan di sini apa yang kita akan lakukan adalah sesuatu yang berbeza. 620 00:36:15,910 --> 00:36:23,620 Kami akan membuat integer yang dinamakan POST_ID yang 621 00:36:23,620 --> 00:36:32,100 akan menandakan apa jawatan komen tertentu pergi dengan. 622 00:36:32,100 --> 00:36:35,410 >> Di samping itu, kita sebenarnya akan menetapkan kekangan utama asing pada ini. 623 00:36:35,410 --> 00:36:37,750 Jadi MySQL akan menguatkuasakan itu. 624 00:36:37,750 --> 00:36:39,840 Kami tidak cuba memberi nombor komen 625 00:36:39,840 --> 00:36:44,440 5 untuk pos 5000 jika kita tidak mempunyai mempunyai 5,000 jawatan di atasnya. 626 00:36:44,440 --> 00:36:50,240 Jadi apa yang kita lakukan di sini, kita lakukan POST_ID asing 627 00:36:50,240 --> 00:37:02,046 akan dikaitkan dengan medan ID daripada jawatan meja. 628 00:37:02,046 --> 00:37:05,900 Dan kami benar-benar akan melakukan sesuatu lain membantu, adalah onDelete. 629 00:37:05,900 --> 00:37:11,180 >> Jadi, jika kita padam beberapa post dari pangkalan data, 630 00:37:11,180 --> 00:37:15,507 yang kita mahu untuk melata menghapuskan untuk komen juga. 631 00:37:15,507 --> 00:37:18,090 Kerana ia tidak sangat membantu bagi kita untuk mempunyai komen pada siaran 632 00:37:18,090 --> 00:37:19,900 yang tidak wujud. 633 00:37:19,900 --> 00:37:23,764 Dan akhirnya, seperti sebelum ini, kami akan ditetapkan pada masa setem ini. 634 00:37:23,764 --> 00:37:28,690 635 00:37:28,690 --> 00:37:33,510 Dan seperti sebelum ini, kita akan mempunyai penghijrahan terbalik menjadi 636 00:37:33,510 --> 00:37:37,920 menjatuhkan meja komen. 637 00:37:37,920 --> 00:37:40,070 >> Oleh sebab itu jika kita kembali ke sini, kita akan 638 00:37:40,070 --> 00:37:43,110 untuk menjalankan migrasi ini, tukang berhijrah. 639 00:37:43,110 --> 00:37:46,400 Dan kini ia digunakan ini penghijrahan yang kita buat. 640 00:37:46,400 --> 00:37:50,080 Oleh itu, jika kita lihat pada phpMyAdmin, yang kita lakukan, sebenarnya, kini 641 00:37:50,080 --> 00:37:53,210 mempunyai jadual komen yang mempunyai struktur yang kita hanya dinyatakan. 642 00:37:53,210 --> 00:37:56,900 643 00:37:56,900 --> 00:37:59,610 Jadi seperti sebelum ini, kami akan mewujudkan model baru 644 00:37:59,610 --> 00:38:04,450 kepada abstrak jadual SQL yang kita buat. 645 00:38:04,450 --> 00:38:05,450 >> Jadi mari kita Tambah fail baru. 646 00:38:05,450 --> 00:38:06,908 Kami akan memanggilnya comment.php. 647 00:38:06,908 --> 00:38:10,160 648 00:38:10,160 --> 00:38:15,490 Dan ini adalah benar-benar akan menjadi adil terus-terang dengan sedikit perubahan 649 00:38:15,490 --> 00:38:17,520 dari apa yang kita ada sebelum ini. 650 00:38:17,520 --> 00:38:22,790 Jadi kelas Komen memanjangkan Eloquent. 651 00:38:22,790 --> 00:38:25,930 Dan apa yang kita akan lakukan di sini adalah menentukan 652 00:38:25,930 --> 00:38:31,360 satu fungsi itu adalah hubungan dengan model-model lain. 653 00:38:31,360 --> 00:38:39,250 Jadi, kita akan mempunyai fungsi jawatan di sini yang mengembalikan hubungan ini. 654 00:38:39,250 --> 00:38:43,330 Jadi, kita menyatakan bahawa ini adalah milik kepada tiang, 655 00:38:43,330 --> 00:38:49,200 mengatakan bahawa terdapat satu jawatan bahawa komen yang dimiliki. 656 00:38:49,200 --> 00:38:53,917 >> Ini sebenarnya telah menjadi modal P untuk model. 657 00:38:53,917 --> 00:38:56,500 Dan kini hanya pada flip lain sampingan, kita perlu mengatakan bahawa, hey. 658 00:38:56,500 --> 00:38:58,160 Catatan mempunyai komen. 659 00:38:58,160 --> 00:39:03,030 Jadi apa yang kita akan lakukan adalah menentukan komen fungsi awam. 660 00:39:03,030 --> 00:39:07,100 661 00:39:07,100 --> 00:39:13,620 Dan di sini dikembalikan Ulasan ini mempunyai banyak. 662 00:39:13,620 --> 00:39:16,630 663 00:39:16,630 --> 00:39:22,010 Jadi sekarang ajaib apabila kita membuat post, kita boleh mendapatkan komen atribut 664 00:39:22,010 --> 00:39:25,615 dan ia akan menempatkan penduduk itu dengan maklumat dari pangkalan data. 665 00:39:25,615 --> 00:39:32,950 666 00:39:32,950 --> 00:39:38,220 >> Jadi mari kita benar-benar pergi melalui dan menambah ciri-ciri baru ke fail pandangan kami 667 00:39:38,220 --> 00:39:43,600 supaya kita dapat kedua-dua paparan dan membuat ulasan. 668 00:39:43,600 --> 00:39:54,010 669 00:39:54,010 --> 00:39:56,865 Jadi kita akan menentukan seksyen baru. 670 00:39:56,865 --> 00:39:59,890 Mari kita memisahkan ia dengan peraturan mendatar. 671 00:39:59,890 --> 00:40:04,065 Seksyen id = "komen". 672 00:40:04,065 --> 00:40:06,990 Apa yang kami akan lakukan di sini ialah, seperti sebelum ini, 673 00:40:06,990 --> 00:40:09,880 melelar melalui semua komen. 674 00:40:09,880 --> 00:40:12,960 Jadi sebenarnya bagaimana yang kita lakukan ini adalah, seperti yang saya nyatakan, yang agak ajaib. 675 00:40:12,960 --> 00:40:14,440 >> Kami melakukan yang menghantar komen. 676 00:40:14,440 --> 00:40:17,410 677 00:40:17,410 --> 00:40:22,710 Dan kemudian kita boleh melakukan ini untuk setiap gelung ke atas setiap satu daripada komen. 678 00:40:22,710 --> 00:40:25,740 Dan apa yang kita akan lakukan adalah komen div class, 679 00:40:25,740 --> 00:40:29,240 dan kita akan benar-benar mencetak komen ini. 680 00:40:29,240 --> 00:40:34,150 Jadi memaparkan bahawa hey, mengulas name-- orang yang 681 00:40:34,150 --> 00:40:38,080 yang mencatatkan comment-- ini kata dot dot dot. 682 00:40:38,080 --> 00:40:41,240 Kami akan meletakkan ini dalam satu blok quote, hanya untuk membuat ia kelihatan bagus. 683 00:40:41,240 --> 00:40:46,470 Dan kemudian mengulas kandungan blok quote. 684 00:40:46,470 --> 00:40:49,790 685 00:40:49,790 --> 00:40:50,892 Dan foreach. 686 00:40:50,892 --> 00:40:53,100 Jadi sekarang ini akan gelung melalui semua komen 687 00:40:53,100 --> 00:40:56,500 yang dikaitkan dengan setiap satu daripada jawatan 688 00:40:56,500 --> 00:41:00,960 dan memaparkan setiap komen mereka. 689 00:41:00,960 --> 00:41:05,120 Saya akan menambah seksyen lain turun di sini, yang membolehkan kita untuk menambah komen. 690 00:41:05,120 --> 00:41:07,400 Kelas Jadi h3. 691 00:41:07,400 --> 00:41:09,580 Letakkan tajuk di sini. 692 00:41:09,580 --> 00:41:10,934 Tambah komen. 693 00:41:10,934 --> 00:41:13,886 694 00:41:13,886 --> 00:41:15,700 Dan kita akan menentukan bentuk baru. 695 00:41:15,700 --> 00:41:18,730 >> Jadi seperti sebelum ini, kami akan melakukan aksi. 696 00:41:18,730 --> 00:41:22,740 Dan di sini, tindakan baru adalah kami akan menentukan pengawal baru yang 697 00:41:22,740 --> 00:41:26,770 membolehkan kami untuk bertindak balas untuk pos permintaan untuk mewujudkan komen. 698 00:41:26,770 --> 00:41:33,365 Jadi URL :: laluan createComment. 699 00:41:33,365 --> 00:41:37,730 Saya akan lulus dalam parameter di sini. 700 00:41:37,730 --> 00:41:40,380 ID jawatan yang kami mewujudkan komen pada. 701 00:41:40,380 --> 00:41:45,340 702 00:41:45,340 --> 00:41:50,280 Dan kemudian kaedah ini bentuk akan menjadi pos. 703 00:41:50,280 --> 00:41:57,240 >> Sekarang kita akan menambah di dua bidang, kumpulan bentuk. 704 00:41:57,240 --> 00:42:04,670 Ini akan menjadi input dengan menamakan "nama" dan class = "bentuk-kawalan", 705 00:42:04,670 --> 00:42:14,250 menaip = "text", dan dengan pemegang tempat = "nama anda." 706 00:42:14,250 --> 00:42:19,380 Kami juga akan menentukan lain medan borang yang 707 00:42:19,380 --> 00:42:22,970 akan menjadi teks kawasan seperti yang kita mempunyai di hadapan. 708 00:42:22,970 --> 00:42:25,480 Sama seperti sebelum ini, menyebutnya kandungan. 709 00:42:25,480 --> 00:42:31,160 Class = "bentuk-kawalan." 710 00:42:31,160 --> 00:42:41,660 Pemegang tempat = "Tulis di sini." 711 00:42:41,660 --> 00:42:44,100 >> Dan hanya supaya kita sebenarnya boleh menyerahkannya, 712 00:42:44,100 --> 00:42:55,740 mengemukakan jenis dan class = "BTN btn-rendah." 713 00:42:55,740 --> 00:42:57,005 Tutup borang. 714 00:42:57,005 --> 00:42:59,010 Tutup tindakan ini. 715 00:42:59,010 --> 00:43:06,580 Oleh sebab itu jika kita muat semula halaman ini di mana kita mempunyai, berkata, satu jawatan tertentu. 716 00:43:06,580 --> 00:43:10,310 Kita perlu reboot pelayan. 717 00:43:10,310 --> 00:43:12,340 PHP tukang berkhidmat. 718 00:43:12,340 --> 00:43:15,630 719 00:43:15,630 --> 00:43:18,334 But semula ini. 720 00:43:18,334 --> 00:43:19,500 Kita perlu menentukan laluan. 721 00:43:19,500 --> 00:43:25,090 Tetapi buat masa ini, mari kita mengambil ini keluar supaya kita benar-benar dapat menunjukkan 722 00:43:25,090 --> 00:43:28,750 apa halaman yang kelihatan seperti, dan kemudian kita benar-benar akan buat laluan itu. 723 00:43:28,750 --> 00:43:29,250 Jadi, hey. 724 00:43:29,250 --> 00:43:37,080 Kami mempunyai bentuk baru ini ke sini supaya kita boleh membuat komen. 725 00:43:37,080 --> 00:43:39,950 Jadi mari kita sebenarnya menentukan fungsi dalam pengawal 726 00:43:39,950 --> 00:43:43,020 supaya kita boleh menambah komen. 727 00:43:43,020 --> 00:43:43,650 Mari kita kembali. 728 00:43:43,650 --> 00:43:48,420 Dan dalam blogcontroller.php, apa yang kita akan lakukan 729 00:43:48,420 --> 00:43:51,620 adalah mewujudkan fungsi baru dipanggil membuat komen. 730 00:43:51,620 --> 00:43:54,220 731 00:43:54,220 --> 00:43:57,040 >> CreateComment fungsi awam. 732 00:43:57,040 --> 00:44:00,130 Ini akan mempunyai satu parameter, ID jawatan 733 00:44:00,130 --> 00:44:02,280 bahawa kita mengulas. 734 00:44:02,280 --> 00:44:04,790 Dan seperti sebelum ini, kami akan mula mendapat jawatan itu. 735 00:44:04,790 --> 00:44:10,790 Jadi tiang, findOrfail id. 736 00:44:10,790 --> 00:44:15,020 Selepas itu, kita akan untuk membuat komen baru. 737 00:44:15,020 --> 00:44:18,880 Jadi mengulas = Komen baru. 738 00:44:18,880 --> 00:44:26,820 Komen name = Input :: mendapatkan nama. 739 00:44:26,820 --> 00:44:39,420 Kandungan komen = baris baru yang sama ke dalam rehat Input :: dapatkan kandungan. 740 00:44:39,420 --> 00:44:43,460 >> Dan akhirnya, kita akan perlu mengaitkan komen ini dengan jawatan. 741 00:44:43,460 --> 00:44:47,230 Jadi, kita akan menggunakan fungsi ini, komen, 742 00:44:47,230 --> 00:44:50,260 yang membolehkan kita untuk menyelamatkan hubungan ini. 743 00:44:50,260 --> 00:44:54,780 Oleh sebab itu komen ini akan mempunyai secara automatik selepas ID. 744 00:44:54,780 --> 00:44:57,640 Kami juga boleh menetapkan secara manual, tetapi ini adalah 745 00:44:57,640 --> 00:45:02,490 lebih mudah untuk membaca sejauh sebagai fungsi padam. 746 00:45:02,490 --> 00:45:05,860 Dan selepas kita melaksanakan ini, apa yang kita mahu lakukan 747 00:45:05,860 --> 00:45:10,840 adalah mengarahkan pengguna kepada jalan yang dinyatakan oleh viewPost 748 00:45:10,840 --> 00:45:16,010 dengan array dengan parameter jawatan ID. 749 00:45:16,010 --> 00:45:20,360 750 00:45:20,360 --> 00:45:24,660 >> Dan sekarang agar ini sebenarnya fungsi, kita perlu menentukan laluan ini. 751 00:45:24,660 --> 00:45:27,126 Laluan :: pos. 752 00:45:27,126 --> 00:45:32,800 Dan sekarang kita akan memanggil ini jawatan slash slash ID komen. 753 00:45:32,800 --> 00:45:36,725 Array menggunakan fungsi baru yang kita buat. 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 sebagai createComment. 757 00:45:44,770 --> 00:45:47,430 758 00:45:47,430 --> 00:45:50,120 Great. 759 00:45:50,120 --> 00:45:56,150 >> Oleh sebab itu diharapkan, jika kita muat semula halaman ini dan menambah dalam komen, berkata, David Malan. 760 00:45:56,150 --> 00:46:00,630 761 00:46:00,630 --> 00:46:03,920 "Mudah-mudahan kerja-kerja ini." 762 00:46:03,920 --> 00:46:05,216 Hantar. 763 00:46:05,216 --> 00:46:09,050 Kami, sebenarnya, mempunyai mengulas pada siaran blog ini. 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 Jadi sekarang kita mempunyai yang agak blog post berfungsi. 768 00:46:21,430 --> 00:46:23,180 Kami hanya akan menambah beberapa tweak jadi 769 00:46:23,180 --> 00:46:29,090 bahawa kita mempunyai beberapa lebih berguna maklumat mengenai jawatan-jawatan ini. 770 00:46:29,090 --> 00:46:32,780 >> Jadi, jika kita kembali kepada Laman depan, kita tidak mempunyai rasa 771 00:46:32,780 --> 00:46:38,790 berapa banyak komen adalah pada setiap jawatan-jawatan ini. 772 00:46:38,790 --> 00:46:41,340 Jadi apa yang kita benar-benar akan lakukan adalah, dalam model kita, 773 00:46:41,340 --> 00:46:51,250 menentukan fungsi penolong yang membolehkan kita untuk menentukan jumlah komen 774 00:46:51,250 --> 00:46:53,020 yang pergi dengan jawatan tertentu. 775 00:46:53,020 --> 00:46:56,050 Jadi, kita akan mewujudkan fungsi penolong. 776 00:46:56,050 --> 00:46:58,020 >> Fungsi awam. 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 Jadi rentetan yang menentukan jumlah komen yang pergi bersama-sama dengan ia. 780 00:47:07,180 --> 00:47:12,850 Dan apa yang kita akan lakukan adalah berkata num = yang komen ini mengira. 781 00:47:12,850 --> 00:47:15,150 Jadi kita akan mengira jumlah komen. 782 00:47:15,150 --> 00:47:22,900 Dan jika jumlah ini sama dengan 1, kami hanya akan kembali 1 komen. 783 00:47:22,900 --> 00:47:28,890 Dan kemudian jika tidak, kita mahu kembali yang dinamika daripada num dan komen, 784 00:47:28,890 --> 00:47:31,890 jadi kami mendapatkan pluralization yang betul. 785 00:47:31,890 --> 00:47:33,380 Hanya membuat petikan tunggal. 786 00:47:33,380 --> 00:47:36,040 787 00:47:36,040 --> 00:47:37,640 Satu komen. 788 00:47:37,640 --> 00:47:41,140 >> Dan sekarang kita boleh menggunakan fungsi ini secara langsung di dalam pandangan kami. 789 00:47:41,140 --> 00:47:44,510 Jadi, jika kita kembali kepada jawatan separa yang kita dicipta, 790 00:47:44,510 --> 00:47:49,370 sekarang kita mahu untuk benar-benar memaparkan jumlah komen. 791 00:47:49,370 --> 00:47:52,660 Jadi apa yang boleh kita lakukan adalah pos, menggunakan fungsi ini 792 00:47:52,660 --> 00:47:57,230 bahawa kita hanya diwujudkan untuk memaparkan jumlah komen. 793 00:47:57,230 --> 00:48:00,440 Jadi, jika kita kini menyegarkan, ia tidak, sebenarnya, paparan 794 00:48:00,440 --> 00:48:02,240 komen nombor yang pergi bersama-sama dengan ia. 795 00:48:02,240 --> 00:48:05,320 >> Jika kita mahu menjadi mewah jika anda sebenarnya melihat kod pengagihan, 796 00:48:05,320 --> 00:48:07,800 kita sebenarnya boleh menghubungkan ini kepada komen. 797 00:48:07,800 --> 00:48:17,040 Jika anda masih ingat, kita ditakrifkan dalam melihat bahawa ini mempunyai komen seksyen ID. 798 00:48:17,040 --> 00:48:22,460 Jadi, jika kita benar-benar mahu untuk menghubungkan terus ke bahagian komen, apa yang 799 00:48:22,460 --> 00:48:36,000 kita akan lakukan di sini adalah a href URL viewPost laluan. 800 00:48:36,000 --> 00:48:40,550 Lulus ID array jawatan ID. 801 00:48:40,550 --> 00:48:46,140 Dan kemudian kita mahu pergi ke khususnya bahagian komen. 802 00:48:46,140 --> 00:48:49,900 >> Di sini mari kita menutup tag A. 803 00:48:49,900 --> 00:48:52,950 Oleh sebab itu jika kita menyegarkan ini halaman, kita klik pada ini. 804 00:48:52,950 --> 00:48:54,700 Kami akan pergi terus ke bahagian komen. 805 00:48:54,700 --> 00:48:57,580 Jika kita mempunyai jawatan yang lebih panjang, anda boleh sebenarnya melihat lantunan ini ke bawah. 806 00:48:57,580 --> 00:49:02,668 Tetapi anda akan perasan bahawa itu tidak di bahagian atas halaman. 807 00:49:02,668 --> 00:49:04,090 Cool. 808 00:49:04,090 --> 00:49:04,600 Great. 809 00:49:04,600 --> 00:49:08,582 Jadi itulah yang agak terus-terang contoh sesuatu yang mudah 810 00:49:08,582 --> 00:49:09,790 bahawa anda boleh lakukan dengan Laravel. 811 00:49:09,790 --> 00:49:13,230 >> Tetapi anda boleh melihat di sini bahawa kami telah melakukan banyak perkara-perkara 812 00:49:13,230 --> 00:49:16,200 dengan jumlah yang agak sedikit kod. 813 00:49:16,200 --> 00:49:19,420 Laravel membolehkan kita untuk melakukan perkara yang SQL pertanyaan di belakang tabir. 814 00:49:19,420 --> 00:49:21,960 Hal sanitasi yang untuk kita di belakang tabir. 815 00:49:21,960 --> 00:49:25,940 Membenarkan kita untuk melakukan hubungan ini sangat mudah tanpa kita perlu 816 00:49:25,940 --> 00:49:33,350 melakukan apa-apa SQL menyertai kenyataan kepada menggabungkan komen dengan apa jawatan. 817 00:49:33,350 --> 00:49:36,480 Membenarkan kita untuk melakukan ini pusaka template 818 00:49:36,480 --> 00:49:43,780 supaya kita boleh menentukan bersarang ini fail jadi kita tidak mengulangi diri kita sendiri, 819 00:49:43,780 --> 00:49:47,020 seperti apabila kita mempunyai yang paparan posting blog 820 00:49:47,020 --> 00:49:50,770 bahawa kita tidak perlu copy dan paste kod. 821 00:49:50,770 --> 00:49:55,450 >> Dan dari sini anda boleh membina aplikasi yang semakin rumit. 822 00:49:55,450 --> 00:49:58,370 Anda boleh bayangkan jika kita mahu melaksanakan log masuk 823 00:49:58,370 --> 00:50:05,532 kami mengatakan membawa masuk pihak ketiga rangka kerja yang membolehkan kita berbuat demikian. 824 00:50:05,532 --> 00:50:07,490 Ada sekumpulan daripada mereka yang benar-benar, benar-benar 825 00:50:07,490 --> 00:50:09,970 besar yang boleh melakukan seperti, pemulihan kata laluan. 826 00:50:09,970 --> 00:50:14,450 Dan ia akan menghantar kepada anda menetapkan semula kata laluan e-mel. 827 00:50:14,450 --> 00:50:18,260 Kita boleh melaksanakan kebenaran supaya saya boleh buat pengumuman, 828 00:50:18,260 --> 00:50:20,350 tetapi orang lain tidak boleh mengeditnya. 829 00:50:20,350 --> 00:50:24,610 Kita boleh melaksanakan fungsi memadam catatan. 830 00:50:24,610 --> 00:50:28,160 >> Tetapi anda boleh lihat di sini bahawa kita mempunyai cukup banyak semua komponen asas 831 00:50:28,160 --> 00:50:31,640 untuk membina beberapa benar-benar, benar-benar, aplikasi web yang dinamik dan menarik. 832 00:50:31,640 --> 00:50:34,035 Maka dengan itu, saya fikir kita baik. 833 00:50:34,035 --> 00:50:35,720 Adakah anda mempunyai sebarang soalan? 834 00:50:35,720 --> 00:50:36,220 Ya? 835 00:50:36,220 --> 00:50:38,090 >> SPEAKER 3: Bagaimana anda mendapatkan kandungan statik? 836 00:50:38,090 --> 00:50:39,256 >> ERIC Ouyang: Kandungan Statik. 837 00:50:39,256 --> 00:50:45,520 Jadi, anda melihat sebelum itu apabila kita mempunyai hak ini di sini, susun atur kandungan ini, 838 00:50:45,520 --> 00:50:49,625 pandangan make, kita mempunyai ini tanpa array ini selepas itu. 839 00:50:49,625 --> 00:50:56,440 840 00:50:56,440 --> 00:50:59,152 Blog.index, kita mempunyai ini kerana hanya fail statik. 841 00:50:59,152 --> 00:51:00,860 Jadi, jika kita tidak lulus apa-apa yang bersama-sama dengannya, 842 00:51:00,860 --> 00:51:03,340 ia hanya akan menyebabkan HTML secara langsung. 843 00:51:03,340 --> 00:51:09,240 Tetapi jika kita lulus dalam bersekutu ini pelbagai jawatan, yang dinamik 844 00:51:09,240 --> 00:51:12,950 ditarik dari pangkalan data, kita boleh membuat halaman dinamik. 845 00:51:12,950 --> 00:51:13,450 Cool. 846 00:51:13,450 --> 00:51:14,830 Apa-apa soalan lain? 847 00:51:14,830 --> 00:51:16,786 848 00:51:16,786 --> 00:51:19,720 SPEAKER 3: Bagaimana anda membandingkan Laravel untuk mungkin beberapa pilihan lain? 849 00:51:19,720 --> 00:51:20,525 ERIC Ouyang: Pasti. 850 00:51:20,525 --> 00:51:21,025 Yeah. 851 00:51:21,025 --> 00:51:23,430 Jadi Laravel is-- itulah yang question-- besar 852 00:51:23,430 --> 00:51:26,190 salah satu daripada banyak pilihan untuk rangka kerja web. 853 00:51:26,190 --> 00:51:31,160 Jadi Ruby on Rails adalah satu yang popular. 854 00:51:31,160 --> 00:51:34,590 Saya percaya Twitter digunakan untuk menjadi dilaksanakan dengan Ruby on Rails. 855 00:51:34,590 --> 00:51:37,600 Saya fikir mereka telah sejak dihidupkan. 856 00:51:37,600 --> 00:51:40,780 Ada satu lagi dipanggil FuelPHP. 857 00:51:40,780 --> 00:51:46,120 >> Jadi Ruby on Rails menggunakan bahasa Ruby yang dan melaksanakan banyak perkara yang MVC 858 00:51:46,120 --> 00:51:48,200 yang kita lihat di sini. 859 00:51:48,200 --> 00:51:52,320 FuelPHP adalah rangka kerja PHP lain. 860 00:51:52,320 --> 00:51:54,490 Django adalah salah satu kegemaran saya. 861 00:51:54,490 --> 00:51:57,010 Ia adalah satu rangka kerja untuk web Python. 862 00:51:57,010 --> 00:52:01,270 Jadi, anda boleh menulis aplikasi web anda dalam Python. 863 00:52:01,270 --> 00:52:03,760 Jadi ada satu tan pilihan ini. 864 00:52:03,760 --> 00:52:06,170 >> Laravel, saya fikir, oleh dan besar yang tepat kegemaran saya 865 00:52:06,170 --> 00:52:08,232 sekarang untuk PHP hanya kerana daripada komponen 866 00:52:08,232 --> 00:52:09,440 bahawa kita bercakap tentang awal. 867 00:52:09,440 --> 00:52:11,910 Ia ini Komposer yang aktif. 868 00:52:11,910 --> 00:52:15,750 Ia termasuk yang benar-benar, benar-benar sistem ORM ekspresif. 869 00:52:15,750 --> 00:52:18,800 Juga mempunyai template benar-benar menggerunkan bahasa yang beberapa yang lain 870 00:52:18,800 --> 00:52:20,630 hanya tidak menyediakan. 871 00:52:20,630 --> 00:52:21,400 Dan migrasi. 872 00:52:21,400 --> 00:52:23,432 Penghijrahan dahsyat juga. 873 00:52:23,432 --> 00:52:24,860 Cool? 874 00:52:24,860 --> 00:52:25,390 Awesome. 875 00:52:25,390 --> 00:52:27,560 Well, terima kasih banyak untuk menonton seminar ini, 876 00:52:27,560 --> 00:52:30,650 dan semoga berjaya pada projek akhir anda. 877 00:52:30,650 --> 00:52:31,616