1 00:00:00,000 --> 00:00:02,538 >> [MÜZİK OYUN] 2 00:00:02,538 --> 00:00:10,800 3 00:00:10,800 --> 00:00:12,390 >> ERIC Ouyang: Hey, herkes. 4 00:00:12,390 --> 00:00:13,580 Hoşgeldiniz. 5 00:00:13,580 --> 00:00:16,860 Bu Bina Dinamik olduğunu Web Laravel ile Uygulamalar. 6 00:00:16,860 --> 00:00:18,290 Benim adım Eric Ouyang olduğunu. 7 00:00:18,290 --> 00:00:23,860 Ben sosyal çalışmalar okuyan bir ikinci sınıf öğrencisi değilim bilgisayar bilimi sekonder, 8 00:00:23,860 --> 00:00:27,290 ve ben Adams yaşamak Burada Harvard Evi. 9 00:00:27,290 --> 00:00:33,340 >> Peki Laravel, en özünde, MVC web uygulaması çerçevedir. 10 00:00:33,340 --> 00:00:38,265 Yani siz ne gibi CS50 Maliye ile yapıyor, 11 00:00:38,265 --> 00:00:42,480 Laravel izin veren bir çerçeve Eğer dinamik web uygulamaları inşa etmek. 12 00:00:42,480 --> 00:00:47,710 Yani bazı anlamda düşünmek olabilir malzeme tipi için bir uzantısı olarak 13 00:00:47,710 --> 00:00:50,470 Eğer CS50 yapıyor oldum Maliye, ama var bir sistem 14 00:00:50,470 --> 00:00:55,890 çok daha sağlam, çok Bazı duyu daha şık, 15 00:00:55,890 --> 00:00:57,870 ve bir sürü sağlar Sizin için işlevsellik 16 00:00:57,870 --> 00:01:03,060 oldukça karmaşık inşa etmek web uygulamaları. 17 00:01:03,060 --> 00:01:05,010 Yani bazı yoluyla gidelim temel özellikleri, 18 00:01:05,010 --> 00:01:09,550 ve sonra bir dalmak Bir blog oluşturma örneği 19 00:01:09,550 --> 00:01:12,500 Laravel ile uygulama. 20 00:01:12,500 --> 00:01:16,700 Ilk şeylerden >> Yani bir o çalışma MVC Çeşidi ayırdeden 21 00:01:16,700 --> 00:01:22,100 Eğer CS50 ile yapıyorum ki Bir ORM motoru içerir olduğunu. 22 00:01:22,100 --> 00:01:27,410 Böylece orm nesne anlamına gelmektedir ilişkisel haritalama. 23 00:01:27,410 --> 00:01:31,080 Yani bu oluşturmanızı sağlar soyutlama katmanı 24 00:01:31,080 --> 00:01:35,230 veritabanı arasında ve denetleyicileri. 25 00:01:35,230 --> 00:01:39,150 CS50 Finans nerede Yani aksine doğrudan, sorguları yapmak 26 00:01:39,150 --> 00:01:44,790 ORM katmanı yapmanıza olanak sağlar soyut uzakta ve oluşturmak 27 00:01:44,790 --> 00:01:48,085 daha güçlü modeller SQL sorguları ile doğrudan yapabilirsiniz. 28 00:01:48,085 --> 00:01:50,590 29 00:01:50,590 --> 00:01:53,510 >> Gerçekten başka bir şey yararlı kalıtsal şablonları. 30 00:01:53,510 --> 00:01:58,990 Yani CS50 Finans fark edeceksiniz, Eğer bir çok şey yeniden sonuna kadar, 31 00:01:58,990 --> 00:02:03,150 yerleştirir nerede potansiyel olabilir Eğer mümkün değil, şeyleri yeniden. 32 00:02:03,150 --> 00:02:08,539 Yani burada Laravel içinde, sen ne kullanabilirsiniz bıçak şablon motoru olarak bilinen 33 00:02:08,539 --> 00:02:10,530 Bir ana düzen oluşturmak için. 34 00:02:10,530 --> 00:02:15,840 Ve oradan, sen devralabilir böylece alt şablonlar aslında can 35 00:02:15,840 --> 00:02:21,210 içinde öğeleri içerir Daha büyük taban şablonuna söyledi. 36 00:02:21,210 --> 00:02:21,810 >> Göç. 37 00:02:21,810 --> 00:02:29,010 Yani bu konuda oldukça standart özellikler olduğunu en modern web uygulama çerçeveleri. 38 00:02:29,010 --> 00:02:32,710 Yani bu temsil sağlar kod veritabanı şema değişiklikleri. 39 00:02:32,710 --> 00:02:39,200 Yani demek gitmeden, phpMyAdmin, aslında bu göçler oluşturabilirsiniz 40 00:02:39,200 --> 00:02:44,660 veritabanını temsil etmektedir şema doğrudan kod değişir. 41 00:02:44,660 --> 00:02:48,070 Ve bu özellikle aşağıdaki amaçlara veriyor Eğer çalışma birden fazla kişi varsa 42 00:02:48,070 --> 00:02:52,650 Aynı web application-- üzerinde Bu değişiklikleri izlemek, 43 00:02:52,650 --> 00:02:55,380 GitHub, ya da başka bir depoda söylüyorlar. 44 00:02:55,380 --> 00:03:00,880 >> Peki bu gerçekten yararlı ve ihtiyaç azaltır 45 00:03:00,880 --> 00:03:04,580 diyelim ki, SQL dökümlerini bir sürü etrafında geçmektedir. 46 00:03:04,580 --> 00:03:07,140 Ve nihayet, Besteci Gerçekten, gerçekten yararlı bir şey 47 00:03:07,140 --> 00:03:09,840 Bu diğer kullanmanızı sağlar İnsanların kod müthiş şeyler yapmak. 48 00:03:09,840 --> 00:03:14,020 Yani Laravel en olarak yapılandırılmış Birkaç besteci paketleri. 49 00:03:14,020 --> 00:03:17,870 Yani getirmek istedim ki bir doğrulama paketine 50 00:03:17,870 --> 00:03:23,440 veya bazı getirmek istedim jeneratör komut dosyası veya bir yönetici tür 51 00:03:23,440 --> 00:03:26,910 arabirimi, tak ve çalıştır olabilir Composer ile bu bileşenler. 52 00:03:26,910 --> 00:03:30,470 53 00:03:30,470 --> 00:03:31,570 >> Yani başlayalım. 54 00:03:31,570 --> 00:03:35,185 Sizden herhangi bir sorunuz biz önce çocuklar Başlamak? 55 00:03:35,185 --> 00:03:36,500 Hiçbir soru? 56 00:03:36,500 --> 00:03:37,490 Serin. 57 00:03:37,490 --> 00:03:39,990 Bu yüzden ilk adım Besteci yükleme. 58 00:03:39,990 --> 00:03:43,590 Yani Besteci yapmanıza olanak sağlar Bu bağımlılıkları yönetmek, 59 00:03:43,590 --> 00:03:47,770 bu Laravel çerçeve olsun veya diğer bazı üçüncü taraf uzantısı. 60 00:03:47,770 --> 00:03:50,400 İlk komut veriyor Eğer, Composer indirmek için 61 00:03:50,400 --> 00:03:55,890 ve ikinci komut yapmanızı sağlar Yerel bin klasörüne taşıyın 62 00:03:55,890 --> 00:04:01,340 böylece Besteci çalıştırabilirsiniz doğrudan terminal üzerinden. 63 00:04:01,340 --> 00:04:05,405 >> Bundan sonra, go ahead ve Yeni Laravel projesi oluşturun. 64 00:04:05,405 --> 00:04:07,280 Biz aslında gidiyoruz bazı örnek kod kullanmak 65 00:04:07,280 --> 00:04:10,760 Ben araya ettik Bu blog oluşturmak için. 66 00:04:10,760 --> 00:04:14,420 Ama başlayarak eğer çizik, bu komutu kullanmalısınız 67 00:04:14,420 --> 00:04:18,160 Burada, besteci oluşturmak-proje, Laravel sonra Laravel slash, ve 68 00:04:18,160 --> 00:04:19,940 senin projenin adı. 69 00:04:19,940 --> 00:04:22,275 Ve bu içerecektir Tüm dağıtım kodu 70 00:04:22,275 --> 00:04:23,733 Yeni Laravel proje başlangıç ​​için. 71 00:04:23,733 --> 00:04:28,870 Senin CS50 son projeler için Yani, olacak muhtemelen bu komutu kullanmak istiyorum. 72 00:04:28,870 --> 00:04:31,210 >> Ama biz bu ile başlamak için gidiyoruz. 73 00:04:31,210 --> 00:04:34,630 Yani yaptığın kez , sen almak için gidiyoruz 74 00:04:34,630 --> 00:04:40,190 oldukça geniş bir sayı blog50 dosyaların. 75 00:04:40,190 --> 00:04:43,840 Yani sadece üzerinden gidelim Bu bileşenlerden bazıları. 76 00:04:43,840 --> 00:04:49,060 Bu rota de fark edeceksiniz Dizin, bir uygulama klasörü vardır. 77 00:04:49,060 --> 00:04:52,960 App klasörünün içinde, orada Bir kaç yardımcı klasörler. 78 00:04:52,960 --> 00:04:56,330 Ile başlayan notun Bu yapılandırma klasörü olduğunu. 79 00:04:56,330 --> 00:04:59,210 Yani bu kadar nasıl ayarlar Web uygulaması 80 00:04:59,210 --> 00:05:04,350 , diyelim ki, insanlar kimlik gidiyor ya Nakit şeyler ya da veritabanına bağlanmak. 81 00:05:04,350 --> 00:05:06,400 >> Ve gerçekten var faydalı olduğunu Laravel 82 00:05:06,400 --> 00:05:09,130 yukarı farklı ayarlamanıza olanak verir geliştirme ortamları. 83 00:05:09,130 --> 00:05:12,090 Peki burada yaptık durumunda olduğunu yerel klasör altında gidin, 84 00:05:12,090 --> 00:05:14,720 Bir DatabaseFunctions.php dosyası var. 85 00:05:14,720 --> 00:05:18,320 Ve burada fark edeceksiniz ki MySQL bağlantısı olduğu kurmak 86 00:05:18,320 --> 00:05:22,230 bireyler bağlamak olanak sağlar bu MySQL sunucusuna 87 00:05:22,230 --> 00:05:24,310 doğrudan CS50 cihaz üzerinde. 88 00:05:24,310 --> 00:05:26,980 Ve biz bir veritabanına bağlanırken ediyoruz Ben kurmak olduğunu Blog50 denir. 89 00:05:26,980 --> 00:05:31,390 90 00:05:31,390 --> 00:05:37,085 >> Yani aslında öncesinde gidelim ve Bu çalışma sürümünü çalıştırın 91 00:05:37,085 --> 00:05:39,710 sadece ne bir fikir edinmek için Biz inşa ediyoruz uygulama 92 00:05:39,710 --> 00:05:41,390 gibi görünüyor. 93 00:05:41,390 --> 00:05:46,150 Yani bir kopyası var Bu Blog50 tamamladı. 94 00:05:46,150 --> 00:05:51,910 Yani Laravel aslında Bir sunucu inşa etti 95 00:05:51,910 --> 00:05:53,910 doğrudan çalıştırabilirsiniz Komut satırından. 96 00:05:53,910 --> 00:05:56,900 Yani bu benzer PSET size aslında önce 97 00:05:56,900 --> 00:06:00,580 C kendi sunucusu kurmak Yani öylesine bir inşa var 98 00:06:00,580 --> 00:06:04,010 Eğer Laravel uygulamaları çalıştırabilirsiniz doğrudan komut satırından. 99 00:06:04,010 --> 00:06:11,650 Biz php esnaf yaparsak >> Peki, bu hizmet Bir gelişme sunucusu başlatacak 100 00:06:11,650 --> 00:06:13,880 port 8.000 üzerinde. 101 00:06:13,880 --> 00:06:18,250 Yerel konağa gitmek Yani eğer 8.000, hey, fark edeceksiniz. 102 00:06:18,250 --> 00:06:20,800 Biz blog ve çalışan var. 103 00:06:20,800 --> 00:06:25,090 Yani Laravel burada oluşturuyor Bizim blogun ön sayfa. 104 00:06:25,090 --> 00:06:26,350 Çok basit bir uygulama. 105 00:06:26,350 --> 00:06:28,610 Ama bir çift var Gerçekten şık özellikler 106 00:06:28,610 --> 00:06:31,346 bu başlık altında sağladığı. 107 00:06:31,346 --> 00:06:33,680 >> Yani blog uygulaması en basit. 108 00:06:33,680 --> 00:06:36,430 Bir yazı oluşturmak istedim, biz bu butona tıklayarak yapabilirsiniz. 109 00:06:36,430 --> 00:06:40,470 Biz, "Hey, herkes söyleyebiliriz. 110 00:06:40,470 --> 00:06:44,530 Bu gerçekten eğlenceli Örneğin seminer, ". 111 00:06:44,530 --> 00:06:46,560 Ve buraya bir şeyler yazmak. 112 00:06:46,560 --> 00:06:48,180 Burada Metin. 113 00:06:48,180 --> 00:06:51,327 Biz Gönder'i tıklayın ederseniz, olacak fark bizim yeni blog 114 00:06:51,327 --> 00:06:53,410 mesaja eklendi blogun ön sayfa. 115 00:06:53,410 --> 00:06:56,532 116 00:06:56,532 --> 00:06:59,970 Biz buraya giderseniz, o fark edeceksiniz zaten bazı yorumlar olmuştur 117 00:06:59,970 --> 00:07:01,160 blogda. 118 00:07:01,160 --> 00:07:03,630 Biz aşağı kaydırma eğer, sen olacak Yani Jonathan Tan diyor ki fark 119 00:07:03,630 --> 00:07:08,020 O çok bu yazı ile ilgisini olduğunu. 120 00:07:08,020 --> 00:07:11,570 >> Peki biz nasıl nesne içine gidersiniz ilişkisel eşleme veriyor 121 00:07:11,570 --> 00:07:16,668 Eğer bu ilişkileri yapmak yanı sıra oldukça sorunsuz bir yol. 122 00:07:16,668 --> 00:07:17,660 Serin. 123 00:07:17,660 --> 00:07:20,290 Işlevselliği hakkında herhangi bir sorunuz biz inşa edeceğiz ne? 124 00:07:20,290 --> 00:07:22,850 125 00:07:22,850 --> 00:07:23,840 Serin. 126 00:07:23,840 --> 00:07:28,170 Yani aslında ile başlayalım Veritabanı tablo oluşturma. 127 00:07:28,170 --> 00:07:33,190 >> Peki, CS50 Finans hatırlamak kullanıcılar için bir tablo araya 128 00:07:33,190 --> 00:07:37,100 yanı sıra portföy hisse senetleri. 129 00:07:37,100 --> 00:07:41,040 Daha önce de belirttiğim gibi, ne Laravel kullanmak 130 00:07:41,040 --> 00:07:43,090 göçler olarak bilinen bir şeydir. 131 00:07:43,090 --> 00:07:48,570 Biz geri gitmek Yani eğer Burada dağıtım kodu, 132 00:07:48,570 --> 00:07:51,790 ilk komutu Laravel size sağladığı yararlı 133 00:07:51,790 --> 00:07:54,240 Bu geçirmek komut. 134 00:07:54,240 --> 00:07:59,220 Bu yüzden php esnaf migrate yapabilirsiniz: olun. 135 00:07:59,220 --> 00:08:01,760 Yani bu bize bir göç oluşturmanıza olanak sağlar. 136 00:08:01,760 --> 00:08:03,710 >> Ve sonra biz isteyeceksiniz Bir göç oluşturmak için 137 00:08:03,710 --> 00:08:07,050 , create_posts_table denilen hangi gidiyor 138 00:08:07,050 --> 00:08:11,521 olmak üzere nereye gidiyoruz blog mesajları saklamak olacak. 139 00:08:11,521 --> 00:08:14,690 Ve bunu çalıştırır burada fark edeceksiniz Bazı kod aracılığıyla aslında 140 00:08:14,690 --> 00:08:17,580 bir dosya oluşturur Bunun üzerine bir zaman damgası. 141 00:08:17,580 --> 00:08:22,260 Biz gidip Veritabanı bakarsanız Yani Biz Göçler altında fark edeceksiniz 142 00:08:22,260 --> 00:08:24,830 o yarattı ki bir Bizim için boş dosya hangi 143 00:08:24,830 --> 00:08:30,100 adıyla klişe kodu vardır Biz belirtilen, mesajlar tablo oluşturun. 144 00:08:30,100 --> 00:08:31,670 >> Ve bunun iki işlevi vardır. 145 00:08:31,670 --> 00:08:40,539 Yukarı biz ne zaman çalıştırmak istediğiniz ne geçiş veritabanı uygulanır. 146 00:08:40,539 --> 00:08:46,380 Ve aşağı biz yapacağız ne Biz göç tersine istediğinizde. 147 00:08:46,380 --> 00:08:49,890 Yani burada en başlayalım Bu göç yazma ile. 148 00:08:49,890 --> 00:08:55,480 Yani bir yardımcı sınıf var Laravel içinde Şeması çağırdı. 149 00:08:55,480 --> 00:08:57,910 >> Bu yüzden Şema :: oluşturmak çalıştırmak için gidiyoruz. 150 00:08:57,910 --> 00:09:01,080 Ve biz oluşturmak için gidiyoruz Bir tablo mesajları çağırdı. 151 00:09:01,080 --> 00:09:05,980 Ve burada bir işlevi kullanarak bu geçerlidir. 152 00:09:05,980 --> 00:09:11,010 Ve burada içinde, biz aslında gidiyoruz Bizim tablonun içeriğini belirtin. 153 00:09:11,010 --> 00:09:14,860 Biz bir kimlik oluşturmak için gidiyoruz, hangi otomatik artan olduğunu. 154 00:09:14,860 --> 00:09:19,850 155 00:09:19,850 --> 00:09:24,350 >> Ayrıca, biz gidiyoruz bir alan oluşturmak için 156 00:09:24,350 --> 00:09:27,060 Bizim blog yazısı başlığı temsil eder. 157 00:09:27,060 --> 00:09:29,880 158 00:09:29,880 --> 00:09:36,950 Biz de bir alan oluşturmak için gidiyoruz Bizim blog yazısı metnini saklamak için. 159 00:09:36,950 --> 00:09:40,600 Ve nihayet, biz gidiyoruz Bazı zaman damgaları depolamak için 160 00:09:40,600 --> 00:09:44,690 Bizim sonrası oluşturulduğunda için ve güncellendi zaman. 161 00:09:44,690 --> 00:09:46,240 Ve aşağı için, oldukça basit. 162 00:09:46,240 --> 00:09:53,974 Bizim yapmak istediğimiz tüm damla biz yarattık tablo. 163 00:09:53,974 --> 00:09:54,930 >> Büyük. 164 00:09:54,930 --> 00:09:55,850 Herhangi bir sorunuz? 165 00:09:55,850 --> 00:09:59,730 166 00:09:59,730 --> 00:10:07,110 Yani şimdi biz önde gitmek durumunda ve- aslında, yerel ana, 167 00:10:07,110 --> 00:10:09,640 Beni daha önce ne vardı silmenize izin. 168 00:10:09,640 --> 00:10:14,330 169 00:10:14,330 --> 00:10:15,190 Veritabanları gidin. 170 00:10:15,190 --> 00:10:17,640 Ben daha önce ne vardı silmek için gidiyorum. 171 00:10:17,640 --> 00:10:22,870 Bu Bırak oluşturmak Yeni bir veritabanı Blog50. 172 00:10:22,870 --> 00:10:24,930 Peki şimdi ne büyülü bölüm burada ki 173 00:10:24,930 --> 00:10:28,760 doğrudan bu göçler uygulayabilirsiniz Komut satırını kullanarak veritabanına 174 00:10:28,760 --> 00:10:29,290 aracı. 175 00:10:29,290 --> 00:10:35,100 Bu yüzden php esnaf migrate yaparsanız, hey, fark edeceksiniz. 176 00:10:35,100 --> 00:10:38,320 Bu göç tablosu yaratmış, hangi biz biraz bakmak gerekir, 177 00:10:38,320 --> 00:10:40,540 ve bu ilk göç uygulandığında. 178 00:10:40,540 --> 00:10:43,860 179 00:10:43,860 --> 00:10:48,920 >> Biz Blog50 bakmak Yani, fark edeceksiniz Bu bizim için iki tablo yarattı. 180 00:10:48,920 --> 00:10:50,300 Öncelikle bu göçler tablodur. 181 00:10:50,300 --> 00:10:54,130 Bu göz Yani eğer, o fark edeceksiniz Bu tabloyu oldukça basittir. 182 00:10:54,130 --> 00:10:55,490 Sadece, hey, söylenir. 183 00:10:55,490 --> 00:10:58,960 Biz bu göçü uygulanan ettik. 184 00:10:58,960 --> 00:11:01,470 Biz geri gitmek ve mesajların bak. 185 00:11:01,470 --> 00:11:05,720 Sen yapısı olduğunu fark edeceksiniz biz onu sormuştu tam olarak ne olduğunu. 186 00:11:05,720 --> 00:11:07,350 Biz otomatik artan kimliğine sahip. 187 00:11:07,350 --> 00:11:10,450 Biz depolamak için bir dize var başlık ve bir metin alanı 188 00:11:10,450 --> 00:11:11,450 muhteviyatının muhafaza edilmesine yönelik. 189 00:11:11,450 --> 00:11:14,040 190 00:11:14,040 --> 00:11:14,706 Büyük. 191 00:11:14,706 --> 00:11:15,560 Serin. 192 00:11:15,560 --> 00:11:21,626 Göçler hakkında herhangi bir sorunuz iş, biz bunları nasıl uygulayabilirsiniz? 193 00:11:21,626 --> 00:11:22,126 Hayır mı? 194 00:11:22,126 --> 00:11:23,600 Serin. 195 00:11:23,600 --> 00:11:26,630 Yani şimdi biz önde gidiyoruz ve aslında bir model oluşturmak. 196 00:11:26,630 --> 00:11:33,100 Yani biz bir mesaj model oluşturmak istediğiniz veritabanının bir soyutlama saklar. 197 00:11:33,100 --> 00:11:41,040 Yani oldukça MySQL sorguları yaparken daha doğrudan, biz oluşturmak için gidiyoruz. 198 00:11:41,040 --> 00:11:45,840 Yani biz bir oluşturmak zorunda Burada adlandırılan modellerde klasör. 199 00:11:45,840 --> 00:11:48,905 Ve burada içinde biz gidiyoruz post.php adında bir dosya oluşturun. 200 00:11:48,905 --> 00:11:52,280 201 00:11:52,280 --> 00:11:54,550 >> Bu PHP dosyası içinde, Biz oluşturmak için gidiyoruz 202 00:11:54,550 --> 00:12:00,590 beliğ genişleten bir sınıf sonrası. 203 00:12:00,590 --> 00:12:08,950 Etkili ORM adıdır Laravel sağlar motoru. 204 00:12:08,950 --> 00:12:12,799 Ve burada, biz bekliyoruz olabilir Aslında bazı kod yazmak gerekir. 205 00:12:12,799 --> 00:12:14,840 Biz bazı yazmak için gidiyoruz Daha sonra yardımcı fonksiyonlar. 206 00:12:14,840 --> 00:12:19,420 Kutunun dışında Fakat, bu zaten olacak veritabanında ne tanımak 207 00:12:19,420 --> 00:12:24,770 ve biz, demek, metin erişebilirsiniz Bizim blog yazısı veya başlığı, 208 00:12:24,770 --> 00:12:29,230 ve doğrudan olan şeyler oluşturmak olursa olsun hemen hemen hiçbir kod. 209 00:12:29,230 --> 00:12:31,110 >> Yani sihirli bileşenlerinden biri. 210 00:12:31,110 --> 00:12:34,980 Ve bu sınıfın bir kez rüzgar daha tam teşekküllü bir, 211 00:12:34,980 --> 00:12:40,480 Biz ilgili bilgiler ekleyeceğiz ne bu yorumların nedenle, ilgili oluyor. 212 00:12:40,480 --> 00:12:42,310 Ayrıca bir işlev oluşturmak bu yüzden aslında can 213 00:12:42,310 --> 00:12:46,340 doğrudan URL olsun Bir blog yazısı sayfasının. 214 00:12:46,340 --> 00:12:46,840 Serin. 215 00:12:46,840 --> 00:12:47,881 Bu konuda herhangi bir sorunuz? 216 00:12:47,881 --> 00:12:51,140 217 00:12:51,140 --> 00:12:51,832 Hayır. 218 00:12:51,832 --> 00:12:54,100 Serin. 219 00:12:54,100 --> 00:12:57,860 >> Peki şimdi bizim modeli var bir kez, biz olan bir denetleyicisi oluşturmak istiyor 220 00:12:57,860 --> 00:13:02,340 Bu modeller ile arayüz mümkün, ve daha sonra, veri tabanı. 221 00:13:02,340 --> 00:13:05,540 Biz bir göz at almak Yani eğer BlogController, sen olacak 222 00:13:05,540 --> 00:13:08,490 orada değil ki fark Şu anda burada çok. 223 00:13:08,490 --> 00:13:13,220 Orada tüm bir dizin fonksiyonudur O ana sayfa oluşturur, 224 00:13:13,220 --> 00:13:18,220 ama bir şey olmadan henüz görüntülemek için. 225 00:13:18,220 --> 00:13:20,560 >> Yani ilk fonksiyonu Biz oluşturmak için gidiyoruz 226 00:13:20,560 --> 00:13:25,790 Bizi sağlayan biridir Bir blog yazısı oluşturmak için. 227 00:13:25,790 --> 00:13:30,540 Yani biz bir ilan için gidiyoruz newPost denilen yeni bir işlev. 228 00:13:30,540 --> 00:13:36,430 Ve burada sadece içinde, biz gidiyoruz Bu sayfanın düzenini ayarlamak için 229 00:13:36,430 --> 00:13:41,850 Bir versiyonunu işlemek olmak, Eğer CS50 gelen hatırlayacak olursak, 230 00:13:41,850 --> 00:13:48,020 blog.new adlandırılan bu şablonun, hangi Biz biraz oluşturmak için gidiyoruz. 231 00:13:48,020 --> 00:13:53,170 >> Sen sıralı altı burada fark edeceksiniz biz düzen bu değişkeni belirtildi. 232 00:13:53,170 --> 00:13:55,820 Ve biz bir göz atın, eğer Görüntüleme klasörde, 233 00:13:55,820 --> 00:14:01,640 Bir Düzenleri klasör var olan Bir çok temel HTML dosyası içerir. 234 00:14:01,640 --> 00:14:04,680 Ve notun, fark edeceksiniz Bu kabı var 235 00:14:04,680 --> 00:14:06,800 Burada içeriği verir ki. 236 00:14:06,800 --> 00:14:09,460 Bizim şablon içinde çok ne yapacağız 237 00:14:09,460 --> 00:14:16,180 olacak ne oluşturmak olduğunu Bu düzen içinde doğrudan yer değiştirmiş. 238 00:14:16,180 --> 00:14:20,060 >> Yani biz işlemek istiyoruz dedi Bir şablon blog.new denir. 239 00:14:20,060 --> 00:14:23,790 Ama Blog içinde, orada henüz bu yeni şablonu. 240 00:14:23,790 --> 00:14:26,910 Yani biz bir oluşturmak için gidiyoruz Dosya new.blade.php çağırdı. 241 00:14:26,910 --> 00:14:29,860 Bu Laravel söyler Bu PHP dosyası gerekir 242 00:14:29,860 --> 00:14:31,720 ile işlenip Bıçak motor şablonu. 243 00:14:31,720 --> 00:14:39,510 244 00:14:39,510 --> 00:14:42,630 Yani bu oldukça olduğunu basit dosya. 245 00:14:42,630 --> 00:14:46,690 Bu form olacak biz aslında bir blog yazısı ekleyin. 246 00:14:46,690 --> 00:14:49,220 >> Burada büyü Yani miras, hey, yani. 247 00:14:49,220 --> 00:14:52,950 Biz belirtmek istiyoruz bölüm, içerik bölümü 248 00:14:52,950 --> 00:14:56,640 Burada, burada tarif edilmektedir section vestop tarafından. 249 00:14:56,640 --> 00:15:02,260 Peki arasında burada var gidiyor ana düzeni içine ikame edilebilir. 250 00:15:02,260 --> 00:15:07,000 Ve biz burada yapmak istediğim şey çok basit bir yeni bir HTML dosyası oluşturun. 251 00:15:07,000 --> 00:15:08,690 Sadece hızlı bir başlık ekleyelim. 252 00:15:08,690 --> 00:15:09,600 Bir blog yazısı ekleyin. 253 00:15:09,600 --> 00:15:12,110 254 00:15:12,110 --> 00:15:15,390 Ve bunun içinde, konum Bir form oluşturmak için gidiyor. 255 00:15:15,390 --> 00:15:19,197 >> Bu form bir eylem sahip oluyor. 256 00:15:19,197 --> 00:15:21,780 Ve bu şey olacak Biz daha sonra yerine o, 257 00:15:21,780 --> 00:15:24,200 ve biz nasıl göreceğiz yönlendirme burada sığar. 258 00:15:24,200 --> 00:15:33,600 Ama biz şimdi için tanımlamak için gidiyoruz Bu rota ile bir URL'ye gider 259 00:15:33,600 --> 00:15:34,860 createPost dan. 260 00:15:34,860 --> 00:15:38,200 261 00:15:38,200 --> 00:15:40,320 Ve sonra bu oluyor yöntem sonrası için. 262 00:15:40,320 --> 00:15:43,940 263 00:15:43,940 --> 00:15:47,590 Burada içinde, biz gidiyoruz iki alan var. 264 00:15:47,590 --> 00:15:49,170 Div class = "form-grubu". 265 00:15:49,170 --> 00:15:55,806 >> Biz Bootstrap CSS kütüphanesi kullanıyorsanız nazikçe Twitter sağladığı. 266 00:15:55,806 --> 00:15:57,720 Bu yüzden bu iki oluşturmak için gidiyoruz. 267 00:15:57,720 --> 00:16:01,700 268 00:16:01,700 --> 00:16:05,970 Yani bu ilk girişi gidiş başlık olmak. 269 00:16:05,970 --> 00:16:08,437 Yani input name = "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 Ben bir yer tutucu = "Başlık" eklemek için gidiyorum. 274 00:16:16,050 --> 00:16:21,570 275 00:16:21,570 --> 00:16:26,140 >> Ve sonra ikinci biridir Bir metin alanı olacak. 276 00:16:26,140 --> 00:16:27,827 = "Içerik" olarak adlandırın. 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 Ve tutucu = "Buraya yazın". 280 00:16:34,610 --> 00:16:42,030 281 00:16:42,030 --> 00:16:43,480 Biz oraya gitmek. 282 00:16:43,480 --> 00:16:46,760 Son olarak, biz gidiyoruz Hızlı Gönder düğmesini ekleyin. 283 00:16:46,760 --> 00:16:50,370 Type = "submit" class = "btn btn-birincil". 284 00:16:50,370 --> 00:16:53,370 285 00:16:53,370 --> 00:16:55,340 Yani bunların hepsi vardır Bootstrap özellikleri çok 286 00:16:55,340 --> 00:16:58,510 Bu döşenebilir ki olan bir şekilde dışarı 287 00:16:58,510 --> 00:17:03,730 kullanıcıya av, yerine çıplak HTML daha. 288 00:17:03,730 --> 00:17:06,250 >> Yani biz burada denetleyicisi tanımladığınız. 289 00:17:06,250 --> 00:17:08,930 Biz çok basit bir görünüm tanımladığınız. 290 00:17:08,930 --> 00:17:12,339 Ama ne eksik olduğunu Bağ dokusu. 291 00:17:12,339 --> 00:17:15,420 Bu noktada Yani Laravel nasıl hiçbir fikrim var 292 00:17:15,420 --> 00:17:18,312 biz aslında gidiyoruz Bu denetleyici erişmek. 293 00:17:18,312 --> 00:17:20,270 Yani bu bir tanımlanmıştır Dosya routes.php çağırdı. 294 00:17:20,270 --> 00:17:22,780 295 00:17:22,780 --> 00:17:24,310 Ve şimdi, biz bir rota var. 296 00:17:24,310 --> 00:17:29,060 Hangi biz gitmek olduğunu Bu web sitesi için ev yolu, 297 00:17:29,060 --> 00:17:33,140 o işlemek için gidiyor indeks denetleyicisi. 298 00:17:33,140 --> 00:17:38,880 Yani burada biz uygulamak yapmamız gerekenler Bizim için yeni bir rota bir yazı oluşturmak için. 299 00:17:38,880 --> 00:17:41,910 >> Bu yüzden bu yöntemi kullanmak belirten, hangi olsun 300 00:17:41,910 --> 00:17:48,650 Bir kullanıcı çalıştığında o Bu özellikle page-- olsun 301 00:17:48,650 --> 00:17:52,850 sonrası yeni page-- çizgi ne yapacağız 302 00:17:52,850 --> 00:18:02,060 denilen denetleyicisi kullanmak olduğunu BlogController okunmamış Mesaja. 303 00:18:02,060 --> 00:18:03,460 biz sadece oluşturduğunuz bir. 304 00:18:03,460 --> 00:18:08,090 Ve sonra gidiyoruz newPost olarak diğer ad için. 305 00:18:08,090 --> 00:18:17,460 306 00:18:17,460 --> 00:18:19,850 Biz başka oluşturmak için gidiyoruz Biraz işlevi. 307 00:18:19,850 --> 00:18:23,520 Ama altında burada ne "gibi" tuşuna ne olduğunu 308 00:18:23,520 --> 00:18:28,195 içimizdeki yerini alabilir Bizim Blade şablonları. 309 00:18:28,195 --> 00:18:32,390 310 00:18:32,390 --> 00:18:36,230 Şimdi Yani, diyelim gerçekten de rotayı söylüyorlar. 311 00:18:36,230 --> 00:18:38,380 Yani biz de gidiyoruz Bir denetleyicisi oluşturmak için 312 00:18:38,380 --> 00:18:41,020 ki biz bu mesajları oluşturabilirsiniz. 313 00:18:41,020 --> 00:18:46,940 Yani eğer sayfa mesaja bir kullanıcı Mesajları biz yapacağız, ne yeni yırtmaç 314 00:18:46,940 --> 00:18:51,350 bir denetleyici kullanan kısaca oluşturmak için gidiyoruz 315 00:18:51,350 --> 00:18:56,160 createPost de BlogController denir. 316 00:18:56,160 --> 00:19:01,929 Ve biz takma gidiyoruz createPost olarak bu. 317 00:19:01,929 --> 00:19:03,380 Serin. 318 00:19:03,380 --> 00:19:05,811 >> Herhangi bir sorunuz? 319 00:19:05,811 --> 00:19:06,310 Serin. 320 00:19:06,310 --> 00:19:09,790 Bu yüzden biz bugüne kadar ne çalışmasına izin. 321 00:19:09,790 --> 00:19:16,930 Biz php esnaf yapmak eğer öyleyse, hizmet Biz hataların çok göreceksiniz. 322 00:19:16,930 --> 00:19:20,385 Biz var gibi Yani görünüyor yolları üzerinde sözdizimi hatası 27 hat. 323 00:19:20,385 --> 00:19:20,885 Ah. 324 00:19:20,885 --> 00:19:21,718 Noktalı virgül eksik. 325 00:19:21,718 --> 00:19:24,900 326 00:19:24,900 --> 00:19:32,870 Yani biz 8,000 giderseniz, Burada henüz bir şey görürsünüz. 327 00:19:32,870 --> 00:19:34,740 Yani bu varsayılan ana sayfası. 328 00:19:34,740 --> 00:19:37,730 >> Ama biz hey, yeni çizgi göndermek için giderseniz. 329 00:19:37,730 --> 00:19:40,425 Biz sadece oluşturduğunuz formu olacak. 330 00:19:40,425 --> 00:19:42,550 Şu anda, biz var işlevselliği uygulamaya 331 00:19:42,550 --> 00:19:44,060 Biz bastığınızda düğmesini gönderin. 332 00:19:44,060 --> 00:19:47,110 Biz tıklarsanız Yani Gönder düğmesi, bir hata çalıştırmak için gidiyor. 333 00:19:47,110 --> 00:19:49,840 Ama biz kod gidiyoruz Şu anda, tam olarak ne biz 334 00:19:49,840 --> 00:19:54,840 zaman kullanıcıyı yapmak istiyorum Bu formu gönderir. 335 00:19:54,840 --> 00:19:55,770 >> Yani bu yapalım. 336 00:19:55,770 --> 00:19:57,380 Geri Kontrolörleri dosyaya gidin. 337 00:19:57,380 --> 00:20:00,180 Ne yapacağız olduğunu Bu yeni işlevi uygulamak 338 00:20:00,180 --> 00:20:04,360 Bu bize bir yazı oluşturmak için olanak sağlar. 339 00:20:04,360 --> 00:20:07,370 340 00:20:07,370 --> 00:20:08,990 Yeni bir fonksiyon bildirin. 341 00:20:08,990 --> 00:20:11,527 Kamu fonksiyon createPost. 342 00:20:11,527 --> 00:20:14,610 Ve bu fonksiyon olacak daha sofistike biraz ne 343 00:20:14,610 --> 00:20:15,559 Daha önce vardı. 344 00:20:15,559 --> 00:20:18,350 Ama biz değiliz ki burada göreceksiniz Aslında herhangi bir SQL yazacağız. 345 00:20:18,350 --> 00:20:20,980 ORM, Etkili ORM, izin gidiyor 346 00:20:20,980 --> 00:20:26,400 bize bazı bunu yapmak yolları daha zarif bir şekilde. 347 00:20:26,400 --> 00:20:29,140 >> Yani biz yeni bir yazı oluşturmak için gidiyoruz. 348 00:20:29,140 --> 00:20:34,120 Ve burada konum Yeni bir nesne örneğini 349 00:20:34,120 --> 00:20:38,080 modelinden biz sadece oluşturulan, sonrası modeli. 350 00:20:38,080 --> 00:20:44,450 Ve ne yapacağız ayarlanır Bu kullanarak şey başlık özniteliği 351 00:20:44,450 --> 00:20:47,380 Biz sunucudan almak. 352 00:20:47,380 --> 00:20:52,060 Yani buna benzer ne Biz CS50 Finans önce vardı 353 00:20:52,060 --> 00:20:57,750 Yapmamız nerede, Süper kullanarak Küresel Mesaj başlığı arıyor. 354 00:20:57,750 --> 00:21:01,600 >> Peki Laravel bazı sanitasyon sağlar ve etajer bu yardımcı işlevini kullanarak. 355 00:21:01,600 --> 00:21:07,610 Yani biz bu yerine kullanmayı tercih ediyorum PHP bu çok temel ham formu. 356 00:21:07,610 --> 00:21:17,430 Ve sonra ne yapacağız ayarlanır Girişine bunun içerik, içeriği olsun. 357 00:21:17,430 --> 00:21:20,429 358 00:21:20,429 --> 00:21:22,720 Biz aslında sarmak için gidiyoruz yararlı bir fonksiyonu olarak, bu 359 00:21:22,720 --> 00:21:31,820 Bu PHP nl2br adlandırılan temin eden, Yeni hatlar, NLS, BRS içine tatili döner 360 00:21:31,820 --> 00:21:35,822 biz aslında olabilir böylece Bunun içinde farklı paragraflar. 361 00:21:35,822 --> 00:21:38,030 Ve nihayet biz gidiyoruz ne yapmak için bu yazı kaydetmek olduğunu. 362 00:21:38,030 --> 00:21:41,686 Bu yüzden işlevi diyoruz Bu model üzerinde tasarruf. 363 00:21:41,686 --> 00:21:43,800 Biz yazı kurtarmak için gidiyoruz. 364 00:21:43,800 --> 00:21:49,970 Ve biz yapacağız nihayet ne özellikle kullanıcıyı yönlendirmek olduğunu 365 00:21:49,970 --> 00:21:55,060 biz gidiyoruz rota viewPost tarafından, kısa bir süre ad oluşturun. 366 00:21:55,060 --> 00:22:00,435 Ve biz argümanları geçmek için gidiyoruz id, bu yeni yazı id olmak. 367 00:22:00,435 --> 00:22:04,280 368 00:22:04,280 --> 00:22:05,640 >> Büyük. 369 00:22:05,640 --> 00:22:09,090 Yani şimdi biz aslında gitmek ve bu çalıştırırsanız. 370 00:22:09,090 --> 00:22:11,370 Biz yeni bir yazı eklemek için gidiyoruz. 371 00:22:11,370 --> 00:22:15,930 Şimdi bu seminer 50 diyelim. 372 00:22:15,930 --> 00:22:17,620 Ve tabii, demek. 373 00:22:17,620 --> 00:22:18,240 ASDL. 374 00:22:18,240 --> 00:22:18,740 Her Neyse. 375 00:22:18,740 --> 00:22:20,320 Içerik çeşit. 376 00:22:20,320 --> 00:22:21,180 Ve bunu gönderin. 377 00:22:21,180 --> 00:22:23,850 Ve biz fark edeceksiniz, hey. yolları tanımlı değil. 378 00:22:23,850 --> 00:22:32,340 Ama biz phpMyAdmin bakmak ve eğer olsun veya olmasın, bizim işlevi için bakmak 379 00:22:32,340 --> 00:22:34,370 bir şey yaptım. 380 00:22:34,370 --> 00:22:36,670 Blog50 mesaj bak. 381 00:22:36,670 --> 00:22:37,720 Biz, hey, fark edeceksiniz. 382 00:22:37,720 --> 00:22:43,530 Aslında, biz sadece bu blog yarattı belirtilen damgaları ile göndermek. 383 00:22:43,530 --> 00:22:46,600 384 00:22:46,600 --> 00:22:51,630 >> Peki şimdi geri dönmek ve aslında oluşturmanıza izin Bizim denetleyicisi bu diğer işlevi, 385 00:22:51,630 --> 00:22:54,790 özellikle viewPost denetleyicisi. 386 00:22:54,790 --> 00:23:00,290 Yani public function viewPost. 387 00:23:00,290 --> 00:23:04,070 Yani burada biz yapacağız, ne yerine Boş parantez sahip, 388 00:23:04,070 --> 00:23:08,800 biz kimliği geçmek isteyeceksiniz Biz yaratıyoruz sonrası. 389 00:23:08,800 --> 00:23:12,800 Ve buradan ne yapacağız Aslında bunun için veritabanını sorgulamak olduğunu. 390 00:23:12,800 --> 00:23:15,140 >> Peki sonrası yoksa, adında bir işlev var 391 00:23:15,140 --> 00:23:18,860 Bu bize KODU onu sorgulamak için izin verir bulun. 392 00:23:18,860 --> 00:23:22,110 Özellikle, aslında, biz gidiyoruz denilen bu alternatif sürümünü kullanın 393 00:23:22,110 --> 00:23:27,880 Bize izin verir bul veya Fail, Bu fonksiyon dışı bırakmak, 394 00:23:27,880 --> 00:23:34,700 ID eğer bir özel durum Biz yok geçmek. 395 00:23:34,700 --> 00:23:37,500 Ve sonra bir şey yapacağız Daha önce yaptığımıza benzer 396 00:23:37,500 --> 00:23:41,100 nerede içeriği set Bu sayfanın olmak 397 00:23:41,100 --> 00:23:47,950 Bu yeni bakış hale sürümü biz blog.view oluşturmak için gidiyoruz hangi. 398 00:23:47,950 --> 00:23:51,030 >> Ve biz içine geçmek için gidiyoruz bu-- sadece işlemek CS50 severim 399 00:23:51,030 --> 00:23:56,645 değişkenlerin bir sözlük function--. 400 00:23:56,645 --> 00:23:59,860 401 00:23:59,860 --> 00:24:04,620 Bu ilişkisel dizi anahtarları şablonu içinde değişkenler haline gelir. 402 00:24:04,620 --> 00:24:06,830 Bu yüzden sonrası yazı yapmak için gidiyoruz. 403 00:24:06,830 --> 00:24:12,474 Yani dolaylı yazı geçmek veritabanından sorgulanan ettik. . 404 00:24:12,474 --> 00:24:14,390 Şimdi ne gidiyoruz yapmak bu görünüm oluşturmak olduğunu 405 00:24:14,390 --> 00:24:17,560 biz aslında görüntülemek böylece Biz inşa ettik günlüğü gönderileri. 406 00:24:17,560 --> 00:24:20,280 >> Bu yüzden oluşturmak için gidiyoruz Dosya view.blade.php çağırdı. 407 00:24:20,280 --> 00:24:25,870 408 00:24:25,870 --> 00:24:29,640 Yani bu şablonun içinde, ne yapacağız 409 00:24:29,640 --> 00:24:39,700 Basit bir sayfa araya olduğu Bize içeriği görüntülemek için izin verir. 410 00:24:39,700 --> 00:24:44,280 Biz bölümünü yapmak Yani, bu içerik önce var. 411 00:24:44,280 --> 00:24:46,800 Dur. 412 00:24:46,800 --> 00:24:53,920 Ve ne gidiyoruz Burada içinde yapmaktır 413 00:24:53,920 --> 00:24:56,930 Bu sayfayı görüntülemek için bazı HTML yazmak. 414 00:24:56,930 --> 00:25:03,590 >> Yani biz bir fantezi ile sarın gidiyoruz Yeni HTML5 elemanı Madde çağırdı. 415 00:25:03,590 --> 00:25:05,790 Ve burada, biz gidiyoruz Bir başlık nerede var 416 00:25:05,790 --> 00:25:12,190 biz sadece bir h1 zorunda gidiyoruz, sonrası hangi başlık içerir. 417 00:25:12,190 --> 00:25:17,120 Yani burada, biz bu bakarsanız Çift kaşlı ayraç notasyonu, 418 00:25:17,120 --> 00:25:21,690 Bu aslında yapacak PHP sonrası başlığı yankı. 419 00:25:21,690 --> 00:25:25,630 Yani bir yardımcı kestirme var Laravel bizi sağladığı. 420 00:25:25,630 --> 00:25:31,070 Yani biz kullanmak için gidiyoruz Bunun yerine bu gösterim. 421 00:25:31,070 --> 00:25:40,220 >> Ve burada, biz de gidiyoruz Bunun içeriğini yazdırmak. 422 00:25:40,220 --> 00:25:43,480 Ve burada, biz gidiyoruz sonrası içeriği yapmak. 423 00:25:43,480 --> 00:25:46,514 424 00:25:46,514 --> 00:25:50,660 Ve biz konum ne altındaki aşağı yapacağım bir altbilgi oluşturmak olduğunu. 425 00:25:50,660 --> 00:25:57,690 Ve altbilgi, biz gidiyoruz Bu haberi ilk ekran. 426 00:25:57,690 --> 00:26:01,320 Yani bu, yayınlanmıştır oluşturuldu. 427 00:26:01,320 --> 00:26:07,996 >> Ve Laravel gerçekten güzel kullanır Tarih kütüphanesi Karbon çağırdı. 428 00:26:07,996 --> 00:26:11,120 Yani biz aslında denilen şey yapabilir Daha önce gördüm difforHumans. 429 00:26:11,120 --> 00:26:14,360 Biz yayınlanmıştır zaman. o, söyleyeceğim gibi, beş saniye önce. 430 00:26:14,360 --> 00:26:16,860 Yani bu gerçekten güzel Laravel işlevselliği. 431 00:26:16,860 --> 00:26:19,469 432 00:26:19,469 --> 00:26:21,385 Ve nihayet, biz gidiyoruz Bu altbilgi kapatmak için. 433 00:26:21,385 --> 00:26:24,900 434 00:26:24,900 --> 00:26:31,450 >> Peki şimdi geri dönmek durumunda Ana Sayfa gidiyoruz 435 00:26:31,450 --> 00:26:34,490 Burada henüz çünkü hiçbir şey görmek biz ev sayfasını kodlu değil. 436 00:26:34,490 --> 00:26:40,962 Ama biz çizgi bir tane göndermek için giderseniz, bir istisna görmek için gidiyoruz. 437 00:26:40,962 --> 00:26:42,670 Herkes neden biliyor mu bir istisna görüyor musun? 438 00:26:42,670 --> 00:26:44,516 Ne eksik? 439 00:26:44,516 --> 00:26:45,290 Herhangi bir fikir? 440 00:26:45,290 --> 00:26:48,050 441 00:26:48,050 --> 00:26:49,790 Yani biz ne yaptık ne Daha önce bizim için aslında 442 00:26:49,790 --> 00:26:52,285 biz almak nasıl tanımlamak için Belirli kontrolörleri? 443 00:26:52,285 --> 00:26:54,895 444 00:26:54,895 --> 00:26:55,770 >> HOPARLÖR 1: rota? 445 00:26:55,770 --> 00:26:56,519 ERIC Ouyang: Evet. 446 00:26:56,519 --> 00:26:58,070 Yani biz hala rotayı tanımlamak zorunda. 447 00:26:58,070 --> 00:26:59,794 Yani biz routes.php için buraya gidin. 448 00:26:59,794 --> 00:27:01,710 O biz fark edeceksiniz Aslında tanımlı değil 449 00:27:01,710 --> 00:27:05,010 nasıl almak için gidiyoruz Bu kontrolöre. 450 00:27:05,010 --> 00:27:06,780 Yani şimdi biz bu yolu tanımlamak için gidiyoruz. 451 00:27:06,780 --> 00:27:09,280 Bu, oldukça basittir Daha önce yaptığımıza benzer. 452 00:27:09,280 --> 00:27:13,910 Ama biz burada fark gidiyoruz ne bir yer tutucu olması için gidiyoruz. 453 00:27:13,910 --> 00:27:18,730 >> Biz route.get çizgi sonrası kimliği yapmak eğer öyleyse. 454 00:27:18,730 --> 00:27:24,290 Yani kimliği artık gidiyor ne kontrolöre aktarılabilir. 455 00:27:24,290 --> 00:27:27,820 Bu kullanmak için gidiyor kontrolör biz sadece 456 00:27:27,820 --> 00:27:33,560 oluşturulur, viewPost de BlogController. 457 00:27:33,560 --> 00:27:36,420 Ve biz gidiyoruz viewPost olarak ad bu. 458 00:27:36,420 --> 00:27:46,544 459 00:27:46,544 --> 00:27:47,490 Büyük. 460 00:27:47,490 --> 00:27:49,470 Yani şimdi biz bu rota oluşturmak için gidiyoruz. 461 00:27:49,470 --> 00:27:52,100 >> Şimdi burada biz gitmek durumunda ve bu sayfayı yenileyin, 462 00:27:52,100 --> 00:27:54,410 Aslında biz yeni bir blog yazısı var. 463 00:27:54,410 --> 00:27:57,710 Yani bu bizim daha önce oluşturduğunuz budur. 464 00:27:57,710 --> 00:28:01,320 Çok basit sayfa, ama görüntüler biz sadece oluşturduğunuz blog yazısı. 465 00:28:01,320 --> 00:28:04,210 466 00:28:04,210 --> 00:28:04,760 Serin. 467 00:28:04,760 --> 00:28:08,880 Ve biz aslında bütün geçmesi durumunda yeni bir blog yazısı oluşturma süreci, 468 00:28:08,880 --> 00:28:11,700 Biz her şeyi fark edeceksiniz düzgün yönlendirir. 469 00:28:11,700 --> 00:28:12,950 Ben derseniz, "Merhaba. 470 00:28:12,950 --> 00:28:15,710 Ben Jonathan Tan değilim. " 471 00:28:15,710 --> 00:28:18,550 "Bu benim blog yazısı olduğunu.", Say 472 00:28:18,550 --> 00:28:22,830 Ve bunu gönderin, bu yaratacak ID 2 ile bu yeni blog yazısı, 473 00:28:22,830 --> 00:28:28,920 Biz ne hangi artışlarla Daha önce ve düzgün görüntüler onu. 474 00:28:28,920 --> 00:28:30,760 Korku. 475 00:28:30,760 --> 00:28:32,930 >> Herhangi bir sorunuz? 476 00:28:32,930 --> 00:28:33,430 Evet? 477 00:28:33,430 --> 00:28:36,537 >> HOPARLÖR 2: Laravel kolu mu sanitization ve sizin için her şeyi? 478 00:28:36,537 --> 00:28:37,245 ERIC Ouyang: Evet. 479 00:28:37,245 --> 00:28:42,990 Bu yüzden daha önce ne gördüm biz girdi kolon kolon aldın 480 00:28:42,990 --> 00:28:47,720 herhangi bir SQL sanitates enjeksiyonlar ve etajer 481 00:28:47,720 --> 00:28:51,660 Biz eğer gerçekleştirmek isteyebilirsiniz Web sitesinde bir kötü niyetli kullanıcı konum. 482 00:28:51,660 --> 00:28:54,115 Yani Laravel çok kolları perde arkasında bunun. 483 00:28:54,115 --> 00:28:57,030 İyi bir soru. 484 00:28:57,030 --> 00:29:00,390 >> Yani ana sayfasında bir göz atalım. 485 00:29:00,390 --> 00:29:03,220 486 00:29:03,220 --> 00:29:06,790 Ilk geri dönmek Yani eğer ana sayfa kontrolör, 487 00:29:06,790 --> 00:29:08,740 bunu fark edeceksiniz çok burada yapmaz. 488 00:29:08,740 --> 00:29:11,620 Biz değiliz fark edeceksiniz Bu kontrolör içine geçen 489 00:29:11,620 --> 00:29:13,830 şey özellikle yararlı. 490 00:29:13,830 --> 00:29:16,660 Sadece bu indeks dosyası var. 491 00:29:16,660 --> 00:29:18,770 >> Yani içine geçmesine izin bu şey. 492 00:29:18,770 --> 00:29:21,450 Ve özel olarak ise, we ' mesaj geçmek olacak. 493 00:29:21,450 --> 00:29:28,740 Ve Laravel bize izin verir Tüm yazı yapmak için hangi 494 00:29:28,740 --> 00:29:30,625 Bizi tüm mesajları almak için izin verecektir. 495 00:29:30,625 --> 00:29:33,160 496 00:29:33,160 --> 00:29:35,730 Şimdi biz geri giderseniz index.php, hey, göreceksiniz. 497 00:29:35,730 --> 00:29:37,060 Hiçbir şey burada henüz. 498 00:29:37,060 --> 00:29:41,290 Ama biz istediğimiz burada yapılacak aslında yineleyemezsiniz, 499 00:29:41,290 --> 00:29:46,420 mesajlar üzerine bir foreach döngüsü yapmak Bize mesajları yazdırmak için izin verir. 500 00:29:46,420 --> 00:29:53,180 >> Peki, foreach mesajlar olarak Yapmak istediğimiz şey sonrası, 501 00:29:53,180 --> 00:29:57,252 içeriği yazdırmak olduğunu blog yazısı. 502 00:29:57,252 --> 00:30:00,210 Ama fark edeceksiniz bir şey olduğunu biz aslında bu kod çoğu yazdı 503 00:30:00,210 --> 00:30:01,370 Zaten, view.blade.php içinde. 504 00:30:01,370 --> 00:30:04,070 505 00:30:04,070 --> 00:30:08,640 Yani biz aslında yapacağız ne Blade güzel yararlı özelliği kullanmak 506 00:30:08,640 --> 00:30:11,300 ve bu ortak kodunu faktör. 507 00:30:11,300 --> 00:30:12,570 Yani burada biz gitmek. 508 00:30:12,570 --> 00:30:16,210 >> Bu içeriği almak için gidiyoruz Burada, ve biz yapmak için gidiyoruz ne 509 00:30:16,210 --> 00:30:18,170 Yeni bir klasör oluşturmak olduğunu. 510 00:30:18,170 --> 00:30:20,364 Sadece Partials diyelim. 511 00:30:20,364 --> 00:30:22,530 Ve burada, biz gidiyoruz Bir post.blade.php oluşturmak için. 512 00:30:22,530 --> 00:30:26,570 513 00:30:26,570 --> 00:30:33,100 Yani burada, biz yolu çarpanlarına hangi bu mesajları görüntülemek istiyorum. 514 00:30:33,100 --> 00:30:38,690 Ve biz burada yerine ne yapacağız aslında doğrudan bu HTML sahip, 515 00:30:38,690 --> 00:30:41,530 Bu yönergeyi kullanmak için gidiyoruz adı blog.partials.post içerir. 516 00:30:41,530 --> 00:30:45,210 517 00:30:45,210 --> 00:30:50,635 >> Ve biz burada yapacağız ne Sayfanın sonrası geçmesi olduğunu. 518 00:30:50,635 --> 00:30:57,076 519 00:30:57,076 --> 00:31:01,050 Yani şimdi biz buraya giderseniz, biz olacak işlevselliği hala olduğunu fark 520 00:31:01,050 --> 00:31:01,550 Aynı. 521 00:31:01,550 --> 00:31:05,140 Ama şimdi bu var Bu HTML kodunu çarpanlarına. 522 00:31:05,140 --> 00:31:07,070 Bu yüzden Endeksi'nde kullanabilirsiniz. 523 00:31:07,070 --> 00:31:09,090 Yani burada, bu çok basittir. 524 00:31:09,090 --> 00:31:17,870 Yaptığımız tüm dahil olduğunu blog.partials.post ve dizi. 525 00:31:17,870 --> 00:31:20,845 Ve bir yere önce, biz sonrası yazı yapmak. 526 00:31:20,845 --> 00:31:23,830 527 00:31:23,830 --> 00:31:28,182 >> Peki şimdi geri dönmek durumunda ana sayfa, biz, hey, göreceksiniz. 528 00:31:28,182 --> 00:31:30,515 Hepimiz bir listesi var Daha önce vardı günlüğü gönderileri. 529 00:31:30,515 --> 00:31:34,640 530 00:31:34,640 --> 00:31:37,700 Biz bazı "eğer" eklemek isteyebilirsiniz koşulları ve "başka" koşullar 531 00:31:37,700 --> 00:31:39,979 bu yüzden yoksa o blog şey, 532 00:31:39,979 --> 00:31:41,520 Biz yardımcı bir şey göstermek istiyorum. 533 00:31:41,520 --> 00:31:42,570 Hey, gibi. 534 00:31:42,570 --> 00:31:44,340 Blogda henüz hiçbir içerik yok. 535 00:31:44,340 --> 00:31:47,670 Ve siz aslında bakarsanız GitHub dağıtım kodu, 536 00:31:47,670 --> 00:31:50,100 Eğer biz bunu nasıl bir örnek göreceksiniz. 537 00:31:50,100 --> 00:31:52,770 538 00:31:52,770 --> 00:31:54,110 >> Serin. 539 00:31:54,110 --> 00:31:54,890 Herhangi bir sorunuz? 540 00:31:54,890 --> 00:31:55,510 Evet. 541 00:31:55,510 --> 00:31:57,468 >> HOPARLÖR 2: Ben sadece tahmin temel bir soru. 542 00:31:57,468 --> 00:31:59,480 Geri güzergahında. 543 00:31:59,480 --> 00:32:00,230 ERIC Ouyang: Evet. 544 00:32:00,230 --> 00:32:01,935 Biz yolları bir göz atacak olursak. 545 00:32:01,935 --> 00:32:06,018 >> HOPARLÖR 2: nerede uses.blogcontroller de, yazı oluşturmak 546 00:32:06,018 --> 00:32:07,560 Bu bize ne doğrudan geliyor? 547 00:32:07,560 --> 00:32:08,310 ERIC Ouyang: Evet. 548 00:32:08,310 --> 00:32:08,550 Evet. 549 00:32:08,550 --> 00:32:09,716 >> HOPARLÖR 2: Ya ne ki- olduğunu 550 00:32:09,716 --> 00:32:12,620 ERIC Ouyang: Yani, demek, bir göz atın Örneğin, burada bu rota. 551 00:32:12,620 --> 00:32:17,190 İlk bölüm, gerçek olan Kullanıcı gidecek URL. 552 00:32:17,190 --> 00:32:19,930 Ve burada bu dizi, ilişkisel dizi, tanımlar 553 00:32:19,930 --> 00:32:24,520 biz istiyorum nasıl buna karşılık olarak uygulama hareket eder. 554 00:32:24,520 --> 00:32:29,090 Yani kullandığı denetleyicisi olduğunu, fonksiyonu biz 555 00:32:29,090 --> 00:32:31,610 zaman aramak istediğiniz Kullanıcı bu URL'ye gider. 556 00:32:31,610 --> 00:32:35,190 Yani viewPost burada bir Biz içinde tanımlı fonksiyonu 557 00:32:35,190 --> 00:32:36,100 BlogController-- ve 558 00:32:36,100 --> 00:32:37,160 >> HOPARLÖR 2: Anlıyorum. 559 00:32:37,160 --> 00:32:39,368 >> ERIC Ouyang: Bu biz -SO aslında bir görünüm oluşturabilirsiniz, 560 00:32:39,368 --> 00:32:42,590 Bazı hesaplamalar SQL veritabanı ile etkileşim. 561 00:32:42,590 --> 00:32:43,560 >> HOPARLÖR 2: Tamam. 562 00:32:43,560 --> 00:32:46,960 Ve sonra diğer: >> ERIC Ouyang parçası "gibi" Biz kullanmak bir takma addır. 563 00:32:46,960 --> 00:32:50,714 Biz ne zaman fark Yani eğer Biz formu yarattı, 564 00:32:50,714 --> 00:32:52,380 Eğer bu URL'yi fark edeceksiniz :: routecreatePost. 565 00:32:52,380 --> 00:32:55,000 566 00:32:55,000 --> 00:32:58,330 Yani gerçek olarak yerini URL ki biz zor değil 567 00:32:58,330 --> 00:33:02,940 Bu kodlama böylece biz onu değiştirebilirsiniz bir kez, biz yeniden adlandırmak istedim söylüyorlar. 568 00:33:02,940 --> 00:33:06,055 Yerine sonrası Bölme Yeni, biz, p gibi yapmak istiyorum 569 00:33:06,055 --> 00:33:09,490 sadece temizlemek için yeni çizgi Bizim URL biraz yukarı. 570 00:33:09,490 --> 00:33:14,740 Biz yerine tek bir noktada bunu değiştirmek istiyorum tüm farklı dosyalar arasında daha. 571 00:33:14,740 --> 00:33:15,451 >> Serin. 572 00:33:15,451 --> 00:33:15,950 Bu iyi. 573 00:33:15,950 --> 00:33:20,070 Yani şimdi biz çok Temel bir blog platformu. 574 00:33:20,070 --> 00:33:24,260 Biz muhtemelen bu yüzden bir düğme eklemek istediğiniz biz aslında yeni mesajları oluşturabilirsiniz. 575 00:33:24,260 --> 00:33:27,850 Bir göz atın Yani eğer Düzen Lisans at, 576 00:33:27,850 --> 00:33:31,280 Biz Üstbilgi Sağ adlı bir bölüm var Biz sadece en üstünde tanımlanan ettik. 577 00:33:31,280 --> 00:33:34,820 Bu yüzden düğmeleri ekleyebilirsiniz başlığının üst. 578 00:33:34,820 --> 00:33:43,950 >> Yani biz aslında, index.blade.php giderseniz yapmak buradan içinde ne gider tanımlamaktır. 579 00:33:43,950 --> 00:33:46,970 Yani bu Üstbilgi Sağ bölüm, ne yapacağız 580 00:33:46,970 --> 00:33:55,240 gitmek için bir düğme ekleyin olan Rota yeni görevi ile tanımlı URL. 581 00:33:55,240 --> 00:33:58,270 582 00:33:58,270 --> 00:34:01,660 Sadece bunu temizlemek ve yapmak oldukça ve tüm Bootstrap, 583 00:34:01,660 --> 00:34:04,630 Biz yapmak için gidiyoruz Bu varsayılan düğme. 584 00:34:04,630 --> 00:34:07,794 Sadece eğlence için geniş yapalım. 585 00:34:07,794 --> 00:34:09,969 >> Ve bunun içinde, bazı metin koymak olabilir. 586 00:34:09,969 --> 00:34:14,030 Ama ne Bootstrap sağlayan glyphicons olduğunu. 587 00:34:14,030 --> 00:34:17,840 Yani biz aslında ekleyebilirsiniz Daha önce gördüğümüz güzel kalem. 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-kalem. 591 00:34:22,489 --> 00:34:25,449 592 00:34:25,449 --> 00:34:35,340 Yani bu bize koymak sağlayacak metin yerine bir simge. 593 00:34:35,340 --> 00:34:38,960 Şimdi biz durdurmak yoksa, bu Bu bölümü tanımlayacaktır. 594 00:34:38,960 --> 00:34:39,460 Ve, hey. 595 00:34:39,460 --> 00:34:45,000 Bizi bağlayan güzel bir düğmesi var doğrudan bir blog yazısı sayfası eklemek. 596 00:34:45,000 --> 00:34:46,659 >> Yüzden oldukça basit bir bloga sahip. 597 00:34:46,659 --> 00:34:49,710 Biz buna şeyler ekleyebilirsiniz. 598 00:34:49,710 --> 00:34:53,650 Ama biz genelde ne bekliyoruz bloglardan görüş bildirmektedir. 599 00:34:53,650 --> 00:34:57,340 Bize sahip Yani, gerçekten önemli Başka birisi bir web sitesi ziyaret ederse, demek 600 00:34:57,340 --> 00:35:00,620 ve gerçekten sonrası seviyor onlar tartışmaya meşgul olabilir 601 00:35:00,620 --> 00:35:03,100 sayfasını ziyaret diğer insanlarla. 602 00:35:03,100 --> 00:35:07,050 Bu yüzden gidip oluşturmak için gidiyoruz bir Yeni bir veritabanı tablosu ve yeni bir model 603 00:35:07,050 --> 00:35:12,220 Biz ilişkilendirmek böylece mesajlar yorumluyor. 604 00:35:12,220 --> 00:35:17,370 >> Yani ilk adım, önceki gibi, Biz göç çalıştırmak için ihtiyaç vardır. 605 00:35:17,370 --> 00:35:21,982 Eskisi gibi Yani, biz yapmak php esnaf geçirmek: yapmak. 606 00:35:21,982 --> 00:35:24,440 Ve biz bir tane oluşturmak için gidiyoruz create_comments_table denir. 607 00:35:24,440 --> 00:35:29,520 608 00:35:29,520 --> 00:35:36,080 Bu bir dosya oluşturur Bu yeni göç vardır. 609 00:35:36,080 --> 00:35:40,170 Ve biz gibi, gidiyoruz önce, yeni bir tablo tanımlar. 610 00:35:40,170 --> 00:35:42,773 Yani Şema :: bir oluşturmak masa yorumlar çağırdı. 611 00:35:42,773 --> 00:35:47,410 612 00:35:47,410 --> 00:35:48,430 Buradaki işlev. 613 00:35:48,430 --> 00:35:51,620 Ve bu tablo içinde ne Biz ilk yapmak olduğunu gidiyoruz 614 00:35:51,620 --> 00:35:54,260 gibi daha önce, bir kimliği atayın. 615 00:35:54,260 --> 00:35:56,552 Kimliği artırır. 616 00:35:56,552 --> 00:36:05,440 >> Kullanıcıların ilişkilendirmek için izin gidiyoruz Belirli bir açıklama ile isim. 617 00:36:05,440 --> 00:36:10,080 Biz bazı içeriğe sahip gidiyoruz Bu, metin içeriği ile birlikte gider. 618 00:36:10,080 --> 00:36:13,580 619 00:36:13,580 --> 00:36:15,910 Ve burada biz gidiyoruz yapmak farklı bir şeydir. 620 00:36:15,910 --> 00:36:23,620 Biz bir tamsayı oluşturmak için gidiyoruz Bu post_id denir ki 621 00:36:23,620 --> 00:36:32,100 ne yazı belirtmek için gidiyor Belirli bir açıklama ile gider. 622 00:36:32,100 --> 00:36:35,410 >> Ayrıca, biz aslında gidiyoruz Bu bir yabancı anahtar kısıtlamasını ayarlamak. 623 00:36:35,410 --> 00:36:37,750 Yani MySQL zorlamak olacaktır. 624 00:36:37,750 --> 00:36:39,840 Biz çalışıyoruz değil Yorum numarasını atamak 625 00:36:39,840 --> 00:36:44,440 Biz varsa 5 5,000 göndermek için Bunun 5.000 mesajları vardı. 626 00:36:44,440 --> 00:36:50,240 Yani biz burada ne, yabancı post_id yapmak 627 00:36:50,240 --> 00:37:02,046 ile ilişkili olacak Masa görevlerinden Kimliği alanı. 628 00:37:02,046 --> 00:37:05,900 Ve biz aslında bir şey yapacağız Başka yararlı, OnDelete olduğunu. 629 00:37:05,900 --> 00:37:11,180 >> Bazı silerseniz Yani veritabanından sonrası, 630 00:37:11,180 --> 00:37:15,507 Biz basamakla istiyorum yanı sıra yorumlar için siler. 631 00:37:15,507 --> 00:37:18,090 Çok yararlı değil, çünkü Bize yazılarda yorumlarınız için 632 00:37:18,090 --> 00:37:19,900 Bu yoktur. 633 00:37:19,900 --> 00:37:23,764 Ve son olarak, daha önce olduğu gibi, biz konum Bu konuda zaman damgaları ayarlamak olacak. 634 00:37:23,764 --> 00:37:28,690 635 00:37:28,690 --> 00:37:33,510 Ve daha önce olduğu gibi, biz gidiyoruz ters göç olmak var 636 00:37:33,510 --> 00:37:37,920 Yorumlar tablo bırakarak. 637 00:37:37,920 --> 00:37:40,070 >> Peki şimdi geri giderseniz burada, biz gidiyoruz 638 00:37:40,070 --> 00:37:43,110 Bu göç, esnaf migrate çalıştırmak için. 639 00:37:43,110 --> 00:37:46,400 Ve şimdi bu uygulandığında biz sadece oluşturduğunuz göç. 640 00:37:46,400 --> 00:37:50,080 Biz bir göz at phpMyAdmin Yani Şimdi, aslında, mutlaka 641 00:37:50,080 --> 00:37:53,210 olan bir yorum tablo var biz sadece belirtilen yapı. 642 00:37:53,210 --> 00:37:56,900 643 00:37:56,900 --> 00:37:59,610 Eskisi gibi Yani, biz konum yeni bir model oluşturmak için gidiyor 644 00:37:59,610 --> 00:38:04,450 soyut bir SQL tablosuna biz sadece yarattığı. 645 00:38:04,450 --> 00:38:05,450 >> Yani yeni bir dosya ekleyin verelim. 646 00:38:05,450 --> 00:38:06,908 Biz onu comment.php aramak için gidiyoruz. 647 00:38:06,908 --> 00:38:10,160 648 00:38:10,160 --> 00:38:15,490 Ve bu aslında oldukça olacak hafif bir değişiklik ile basit 649 00:38:15,490 --> 00:38:17,520 Ne biz daha önce vardı. 650 00:38:17,520 --> 00:38:22,790 Yani sınıf Yorum Etkili uzanır. 651 00:38:22,790 --> 00:38:25,930 Ve ne gidiyoruz tanımlamak olduğu burada yapılacak 652 00:38:25,930 --> 00:38:31,360 bir fonksiyon Diğer modelleri ile ilişkisi. 653 00:38:31,360 --> 00:38:39,250 Yani biz bir post fonksiyonu için gidiyoruz Burada bu ilişkiyi döndürür. 654 00:38:39,250 --> 00:38:43,330 Bu yüzden belirterek ediyoruz Bu sonrasına ait, 655 00:38:43,330 --> 00:38:49,200 bir mesaj olduğunu söyleyerek bu yorum aittir. 656 00:38:49,200 --> 00:38:53,917 >> Bu aslında olmak zorunda model için sermaye P. 657 00:38:53,917 --> 00:38:56,500 Ve şimdi sadece diğer kapak üzerinde Yan, hey, söylemek zorundayım. 658 00:38:56,500 --> 00:38:58,160 Mesajlar yorum var. 659 00:38:58,160 --> 00:39:03,030 Peki ne yapacağız olduğunu public function yorumları tanımlar. 660 00:39:03,030 --> 00:39:07,100 661 00:39:07,100 --> 00:39:13,620 Ve burada döndürülür Bu çok Yorum sahiptir. 662 00:39:13,620 --> 00:39:16,630 663 00:39:16,630 --> 00:39:22,010 Şimdi sihirli bir yazı varken, Biz nitelik yorumları alabilirsiniz 664 00:39:22,010 --> 00:39:25,615 ve bunu doldurmak edeceğiz veritabanından bilgi. 665 00:39:25,615 --> 00:39:32,950 666 00:39:32,950 --> 00:39:38,220 >> Yani aslında yoluyla gidelim ve Bizim bakış dosyasına yeni bir özellik eklemek 667 00:39:38,220 --> 00:39:43,600 Böylece biz hem ekran ve yorumlar oluşturun. 668 00:39:43,600 --> 00:39:54,010 669 00:39:54,010 --> 00:39:56,865 Bu yüzden yeni bir bölüm tanımlamak için gidiyoruz. 670 00:39:56,865 --> 00:39:59,890 Sadece ayırmak Let yatay kural ile. 671 00:39:59,890 --> 00:40:04,065 Bölüm id = "comments". 672 00:40:04,065 --> 00:40:06,990 Ne yapacağız Burada isimli, daha önce olduğu gibi, 673 00:40:06,990 --> 00:40:09,880 Tüm yorumlar yineleme. 674 00:40:09,880 --> 00:40:12,960 Yani aslında biz bu işi nasıl, Ben de belirtildiği gibi, oldukça büyülü. 675 00:40:12,960 --> 00:40:14,440 >> Biz yorum gönderme yapmak. 676 00:40:14,440 --> 00:40:17,410 677 00:40:17,410 --> 00:40:22,710 Ve sonra her biri için bunu yapabilirsiniz Yorumların üzerinden her döngü. 678 00:40:22,710 --> 00:40:25,740 Ve biz gidiyoruz yapmak, div class yorumdur 679 00:40:25,740 --> 00:40:29,240 ve biz aslında gidiyoruz Bu yorumu çıktı. 680 00:40:29,240 --> 00:40:34,150 Yani hey görüntülemek, kişi aşkına-- yorum 681 00:40:34,150 --> 00:40:38,080 kim bu comment-- yayınlanmıştır nokta nokta nokta diyor. 682 00:40:38,080 --> 00:40:41,240 Biz bir blok içinde bu koymak için gidiyoruz alıntı, sadece güzel görünmesi için. 683 00:40:41,240 --> 00:40:46,470 Ve sonra içerik blok teklifi yorum. 684 00:40:46,470 --> 00:40:49,790 685 00:40:49,790 --> 00:40:50,892 Ve foreach. 686 00:40:50,892 --> 00:40:53,100 Yani şimdi bu döngü gidiyor Tüm yorumlar aracılığıyla 687 00:40:53,100 --> 00:40:56,500 Bu ilişkilidir mesajların her biri 688 00:40:56,500 --> 00:41:00,960 ve bu yorumların her görüntüler. 689 00:41:00,960 --> 00:41:05,120 Ben aşağı başka bir bölüm eklemek için gidiyorum Burada, izin veren bize bir yorum eklemek için. 690 00:41:05,120 --> 00:41:07,400 Yani h3 class. 691 00:41:07,400 --> 00:41:09,580 Burada bir başlık koyun. 692 00:41:09,580 --> 00:41:10,934 Yorum ekleyin. 693 00:41:10,934 --> 00:41:13,886 694 00:41:13,886 --> 00:41:15,700 Ve biz yeni bir form tanımlamak için gidiyoruz. 695 00:41:15,700 --> 00:41:18,730 Eskisi gibi Yani >> Biz konum Form eylemi yapacağız. 696 00:41:18,730 --> 00:41:22,740 Ve burada, yeni bir eylem biz konum olduğunu Yeni bir denetleyici tanımlamak için gidiyoruz ki 697 00:41:22,740 --> 00:41:26,770 Bize yazılan cevap verir Yorum oluşturma istekleri. 698 00:41:26,770 --> 00:41:33,365 Yani URL :: rota createComment. 699 00:41:33,365 --> 00:41:37,730 Burada parametre geçmek için gidiyorum. 700 00:41:37,730 --> 00:41:40,380 Yazının kimlik olduğunu biz yorumunu oluştururken. 701 00:41:40,380 --> 00:41:45,340 702 00:41:45,340 --> 00:41:50,280 Bu, daha sonra bir yöntem Form sonrası olacak. 703 00:41:50,280 --> 00:41:57,240 >> Şimdi eklemek için gidiyoruz Bir iki alan, biçim grubu. 704 00:41:57,240 --> 00:42:04,670 Bu bir giriş olacak "ismini" ve class = "form denetimi" adı, 705 00:42:04,670 --> 00:42:14,250 = "text" ve yazdığınız tutucu = "Adınız." 706 00:42:14,250 --> 00:42:19,380 Biz de tanımlamak için gidiyoruz Başka bir form alanı, hangi 707 00:42:19,380 --> 00:42:22,970 Bir metin olacak Alan daha önce olduğu gibi. 708 00:42:22,970 --> 00:42:25,480 Sadece eskisi gibi, içerik diyoruz. 709 00:42:25,480 --> 00:42:31,160 Class = "form denetimi." 710 00:42:31,160 --> 00:42:41,660 Yer tutucu = "Burada yazın." 711 00:42:41,660 --> 00:42:44,100 >> Ve sadece bu yüzden aslında sunabilirsiniz, 712 00:42:44,100 --> 00:42:55,740 türü ve sınıfı = submit "btn-birincil btn." 713 00:42:55,740 --> 00:42:57,005 Formu kapatın. 714 00:42:57,005 --> 00:42:59,010 Bu eylemi kapatın. 715 00:42:59,010 --> 00:43:06,580 Yani şimdi biz bu sayfayı yenileyin nerede ise biz diyelim, belli bir yazı var. 716 00:43:06,580 --> 00:43:10,310 Biz sunucuyu yeniden başlatmak zorunda. 717 00:43:10,310 --> 00:43:12,340 PHP esnaf hizmet vermektedir. 718 00:43:12,340 --> 00:43:15,630 719 00:43:15,630 --> 00:43:18,334 Bu yeniden başlatın. 720 00:43:18,334 --> 00:43:19,500 Biz rotayı tanımlamak zorunda. 721 00:43:19,500 --> 00:43:25,090 Ama şimdi, Sadece bu alalım dışarı ki biz aslında size gösterebilirim 722 00:43:25,090 --> 00:43:28,750 Ne sayfası gibi görünüyor, ve sonra biz aslında bu rota oluşturmak gerekir. 723 00:43:28,750 --> 00:43:29,250 Yani, hey. 724 00:43:29,250 --> 00:43:37,080 Biz burada bu yeni formu aşağı var Biz yorum oluşturabilir böylece. 725 00:43:37,080 --> 00:43:39,950 Yani aslında bir tanımlayalım kontrolör içindeki işlevi 726 00:43:39,950 --> 00:43:43,020 Biz yorum ekleyebilirsiniz böylece. 727 00:43:43,020 --> 00:43:43,650 Geri dönelim. 728 00:43:43,650 --> 00:43:48,420 Ve blogcontroller.php içinde, ne yapacağız 729 00:43:48,420 --> 00:43:51,620 Yeni bir işlev oluşturmak olduğunu açıklama oluşturmak denir. 730 00:43:51,620 --> 00:43:54,220 731 00:43:54,220 --> 00:43:57,040 >> Kamu fonksiyon createComment. 732 00:43:57,040 --> 00:44:00,130 Bu bir tek sahip oluyor parametre, mesajların kimliği 733 00:44:00,130 --> 00:44:02,280 biz hakkında yorum ediyoruz. 734 00:44:02,280 --> 00:44:04,790 Ve benzeri daha önce, biz konum İlk yazı alacaksın. 735 00:44:04,790 --> 00:44:10,790 Yani, findOrfail id sonrası. 736 00:44:10,790 --> 00:44:15,020 Daha sonra, biz gidiyoruz Yeni bir açıklama oluşturmak için. 737 00:44:15,020 --> 00:44:18,880 Yani = Yeni Yorum yorum. 738 00:44:18,880 --> 00:44:26,820 Name = Giriş Comment :: adını almak. 739 00:44:26,820 --> 00:44:39,420 Yorum içeriği = Aynı yeni hat Girdi tatili içine :: içeriği olsun. 740 00:44:39,420 --> 00:44:43,460 >> Ve nihayet, biz zorunda gidiyoruz yazı ile Yorumu ilişkilendirmek. 741 00:44:43,460 --> 00:44:47,230 Yani biz kullanmak için gidiyoruz Bu fonksiyon, yorum, 742 00:44:47,230 --> 00:44:50,260 Bu bize kaydetmenize olanak verir Bu ilişki. 743 00:44:50,260 --> 00:44:54,780 Yani şimdi bu açıklama olacak otomatik sonrası kimliği. 744 00:44:54,780 --> 00:44:57,640 Biz de bunu ayarlayabilirsiniz El, ama bu 745 00:44:57,640 --> 00:45:02,490 kadar okumak daha kolay Fonksiyon gider. 746 00:45:02,490 --> 00:45:05,860 Ve biz gerçekleştirdikten sonra Bu, biz ne istiyoruz 747 00:45:05,860 --> 00:45:10,840 kullanıcıyı yönlendirmek olduğunu Rota viewPost belirtilen 748 00:45:10,840 --> 00:45:16,010 ile dizi sonrası kimliği parametresi. 749 00:45:16,010 --> 00:45:20,360 750 00:45:20,360 --> 00:45:24,660 >> Ve şimdi ki bu aslında fonksiyonlar, biz bu yolu tanımlamanız gerekir. 751 00:45:24,660 --> 00:45:27,126 Rota :: sonrası. 752 00:45:27,126 --> 00:45:32,800 Ve şimdi bu diyeceğiz sonrası kimliği çizgi yorumunu çizgi. 753 00:45:32,800 --> 00:45:36,725 Dizi yeni işlevi kullanır biz sadece yarattığı. 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 olarak createComment. 757 00:45:44,770 --> 00:45:47,430 758 00:45:47,430 --> 00:45:50,120 Büyük. 759 00:45:50,120 --> 00:45:56,150 >> Peki şimdi bu sayfayı yenileyin umarım eğer ve bir açıklama, diyelim ki, David Malan eklemek. 760 00:45:56,150 --> 00:46:00,630 761 00:46:00,630 --> 00:46:03,920 "Umarım bu çalışır." 762 00:46:03,920 --> 00:46:05,216 Gönder. 763 00:46:05,216 --> 00:46:09,050 Biz, aslında, bir var Bu blog yazısı hakkında yorum. 764 00:46:09,050 --> 00:46:13,760 765 00:46:13,760 --> 00:46:14,260 Serin. 766 00:46:14,260 --> 00:46:16,790 767 00:46:16,790 --> 00:46:21,430 Yani şimdi biz oldukça var Fonksiyonel blog yazısı. 768 00:46:21,430 --> 00:46:23,180 Biz sadece gidiyoruz bu yüzden bir kaç tweaks ekleyin 769 00:46:23,180 --> 00:46:29,090 Biraz daha yararlı olduğunu Bu yazılarda bilgiler. 770 00:46:29,090 --> 00:46:32,780 >> Biz geri dönmek Yani eğer Ön sayfa, biz hiçbir anlamı var 771 00:46:32,780 --> 00:46:38,790 kaç yorum vardır Bu mesajların her biri üzerinde. 772 00:46:38,790 --> 00:46:41,340 Yani biz aslında gidiyoruz ne yapmak için, bizim model içinde, 773 00:46:41,340 --> 00:46:51,250 sağlayan bir yardımcı işlev tanımlamak Bize yorumların sayısını belirtmek için 774 00:46:51,250 --> 00:46:53,020 Bu, belirli bir yazı ile gitmek. 775 00:46:53,020 --> 00:46:56,050 Yani biz oluşturmak için gidiyoruz bir yardımcı işlev. 776 00:46:56,050 --> 00:46:58,020 >> Kamu işlevi. 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 Sayısını belirten Yani bir dize onunla birlikte gitmek yorumların. 780 00:47:07,180 --> 00:47:12,850 Ve ne yapacağız demek Bu num = bu yorum sayısı. 781 00:47:12,850 --> 00:47:15,150 Yani biz saymak için gidiyoruz Yorumların sayısı. 782 00:47:15,150 --> 00:47:22,900 Bu sayı 1 eşitse Ve, biz konum sadece 1 Yorum dönmek için gidiyoruz. 783 00:47:22,900 --> 00:47:28,890 Ve sonra, aksi takdirde, biz dönmek istiyorum num ve yorumların birleştirme, 784 00:47:28,890 --> 00:47:31,890 bu yüzden çoğulculuk doğru olsun. 785 00:47:31,890 --> 00:47:33,380 Sadece bu bir tek tırnak yapmak. 786 00:47:33,380 --> 00:47:36,040 787 00:47:36,040 --> 00:47:37,640 Bir Yorum. 788 00:47:37,640 --> 00:47:41,140 >> Ve şimdi biz bu fonksiyonu kullanabilirsiniz doğrudan görüş içinde. 789 00:47:41,140 --> 00:47:44,510 Biz geri gitmek Yani eğer Yarattığımız kısmi mesajlar, 790 00:47:44,510 --> 00:47:49,370 Şimdi biz aslında istiyoruz yorumların sayısını görüntüler. 791 00:47:49,370 --> 00:47:52,660 Bu yüzden ne yapabilirim Mesajı, bu işlevi kullanın 792 00:47:52,660 --> 00:47:57,230 biz sadece oluşturduğunuz yorumların sayısını görüntüler. 793 00:47:57,230 --> 00:48:00,440 Şimdi, bunu yenilemek Yani eğer Aslında, yok, ekran 794 00:48:00,440 --> 00:48:02,240 sayı yorumlar Bu onunla birlikte gitmek. 795 00:48:02,240 --> 00:48:05,320 >> Biz eğer fantezi olmak istedim Aslında dağıtım koduna bakmak, 796 00:48:05,320 --> 00:48:07,800 biz aslında bağlayabilirsiniz yorumlarına bu. 797 00:48:07,800 --> 00:48:17,040 Eğer hatırlayacak olursak, biz içinde tanımlanan Bu bölümde Kimliği yorum var olduğunu görmek. 798 00:48:17,040 --> 00:48:22,460 Yani biz aslında bağlantı istedim Doğrudan yorumlar bölümüne, ne 799 00:48:22,460 --> 00:48:36,000 Burada yapmak a href olduğunu ediyorum Rota viewPost URL. 800 00:48:36,000 --> 00:48:40,550 Sonrası kimliği dizi kimliği iletin. 801 00:48:40,550 --> 00:48:46,140 Ve sonra gitmek istiyorum özellikle yorum bölümünde. 802 00:48:46,140 --> 00:48:49,900 >> İşte en bir etiketi kapatalım. 803 00:48:49,900 --> 00:48:52,950 Yani şimdi biz bu yenilemek durumunda sayfa, biz bu tıklatın. 804 00:48:52,950 --> 00:48:54,700 Biz doğrudan gidersiniz Yorumlar bölümünde. 805 00:48:54,700 --> 00:48:57,580 Biz uzun bir yazı olsaydı, yapabilirsiniz Aslında bu sıçrama aşağı bakın. 806 00:48:57,580 --> 00:49:02,668 Ama bu olduğunu fark edeceksiniz değil sayfanın en üstünde. 807 00:49:02,668 --> 00:49:04,090 Serin. 808 00:49:04,090 --> 00:49:04,600 Büyük. 809 00:49:04,600 --> 00:49:08,582 Yani oldukça basittir basit bir şey örneği 810 00:49:08,582 --> 00:49:09,790 Eğer Laravel ile yapabilirsiniz. 811 00:49:09,790 --> 00:49:13,230 >> Ama burada dikkat olabilir Biz çok şey yaptık 812 00:49:13,230 --> 00:49:16,200 kod oldukça az miktarda. 813 00:49:16,200 --> 00:49:19,420 Laravel yapmamızı sağlar Perde arkasında SQL sorguları. 814 00:49:19,420 --> 00:49:21,960 Bu sanitasyon yapar perde arkasında bizim için. 815 00:49:21,960 --> 00:49:25,940 Bize bu ilişkileri yapmak verir çok kolay bize gerek kalmadan 816 00:49:25,940 --> 00:49:33,350 Herhangi bir SQL yapmak için ifadeleri katılmak ne mesajlar yorumları birleştirir. 817 00:49:33,350 --> 00:49:36,480 Bize bunu sağlar şablonlar miras 818 00:49:36,480 --> 00:49:43,780 bu yüzden bu iç içe tanımlayabilirsiniz Dosyaları yüzden, kendimizi tekrarlamak değil 819 00:49:43,780 --> 00:49:47,020 Sadece biz vardı böyle Blog yazılarına ekran 820 00:49:47,020 --> 00:49:50,770 biz yok kopyalayıp yapıştırın. 821 00:49:50,770 --> 00:49:55,450 >> Ve buradan inşa edebilirsiniz giderek karmaşık uygulamalar. 822 00:49:55,450 --> 00:49:58,370 Hayal eğer biz uygulamak istedim log-in, 823 00:49:58,370 --> 00:50:05,532 Biz üçüncü parti getirmek, söyleyebiliriz Bize bunu sağlar çerçeve. 824 00:50:05,532 --> 00:50:07,490 Onlardan bir sürü var Bu gerçekten, gerçekten 825 00:50:07,490 --> 00:50:09,970 gibi yapabilirsiniz harika, Şifre kurtarma. 826 00:50:09,970 --> 00:50:14,450 Ve seni bir göndereceğiz Şifre e-posta sıfırlama. 827 00:50:14,450 --> 00:50:18,260 Biz izin uygulayabilirsiniz Ben bir yazı oluşturmak, böylece 828 00:50:18,260 --> 00:50:20,350 ama başkası düzenleyemezsiniz. 829 00:50:20,350 --> 00:50:24,610 Biz uygulayabilirsiniz işlevselliği mesajları silmek için. 830 00:50:24,610 --> 00:50:28,160 >> Ama biz oldukça var burada görebilirsiniz hemen tüm ilkel bileşenler 831 00:50:28,160 --> 00:50:31,640 gerçekten bazı inşa etmek, gerçekten, dinamik ve heyecan verici web uygulamaları. 832 00:50:31,640 --> 00:50:34,035 Bununla Yani, biz iyi olduğunu düşünüyorum. 833 00:50:34,035 --> 00:50:35,720 Siz herhangi bir sorunuz var mı? 834 00:50:35,720 --> 00:50:36,220 Evet? 835 00:50:36,220 --> 00:50:38,090 >> HOPARLÖR 3: Nasıl do you statik içerik olsun? 836 00:50:38,090 --> 00:50:39,256 >> ERIC Ouyang: Statik içerik. 837 00:50:39,256 --> 00:50:45,520 Biz ne zaman Yani daha önce gördüm Burada bu hakkı, bu düzen içeriği, 838 00:50:45,520 --> 00:50:49,625 görünümü yapmak, biz bu vardı sonradan bu dizi olmadan. 839 00:50:49,625 --> 00:50:56,440 840 00:50:56,440 --> 00:50:59,152 Blog.index, bu vardı Sadece statik dosya olarak. 841 00:50:59,152 --> 00:51:00,860 Biz geçemiyor Yani buna birlikte bir şey, 842 00:51:00,860 --> 00:51:03,340 sadece doğrudan HTML işlemek gerekir. 843 00:51:03,340 --> 00:51:09,240 Ama biz bu ilişkisel geçmek durumunda dinamik olan mesajların dizisi, 844 00:51:09,240 --> 00:51:12,950 veritabanından çekilen biz sayfa dinamik yapabilirsiniz. 845 00:51:12,950 --> 00:51:13,450 Serin. 846 00:51:13,450 --> 00:51:14,830 Başka sorunuz var mı? 847 00:51:14,830 --> 00:51:16,786 848 00:51:16,786 --> 00:51:19,720 HOPARLÖR 3: Nasıl karşılaştırmak istiyorsunuz Belki bazı diğer seçeneklere Laravel? 849 00:51:19,720 --> 00:51:20,525 ERIC Ouyang: Tabii. 850 00:51:20,525 --> 00:51:21,025 Evet. 851 00:51:21,025 --> 00:51:23,430 Yani Laravel işte bu-- büyük question-- 852 00:51:23,430 --> 00:51:26,190 Web çerçeveler için birçok seçenekten birini. 853 00:51:26,190 --> 00:51:31,160 Yani Ruby on Rails popüler biridir. 854 00:51:31,160 --> 00:51:34,590 Ben Twitter'da olarak kullanılan inanıyorum Ruby on Rails ile uyguladı. 855 00:51:34,590 --> 00:51:37,600 Ben onlar beri açık düşünüyorum. 856 00:51:37,600 --> 00:51:40,780 FuelPHP denilen bir tane daha var. 857 00:51:40,780 --> 00:51:46,120 >> Peki Ruby on Rails Ruby dilini kullanır ve MVC bir sürü uygular 858 00:51:46,120 --> 00:51:48,200 Burada görüyoruz. 859 00:51:48,200 --> 00:51:52,320 FuelPHP başka bir PHP çerçevedir. 860 00:51:52,320 --> 00:51:54,490 Django benim favorilerimden biridir. 861 00:51:54,490 --> 00:51:57,010 Python için bir web çerçevesi var. 862 00:51:57,010 --> 00:52:01,270 Yani Python web uygulaması yazabilirsiniz. 863 00:52:01,270 --> 00:52:03,760 Peki bu seçenekleri bir ton var. 864 00:52:03,760 --> 00:52:06,170 >> Laravel, sanırım tarafından ve Büyük sevdiğim sağ 865 00:52:06,170 --> 00:52:08,232 Hemen PHP için sırf bileşenlerin 866 00:52:08,232 --> 00:52:09,440 Daha önce hakkında konuştuk. 867 00:52:09,440 --> 00:52:11,910 It Besteci sağladı. 868 00:52:11,910 --> 00:52:15,750 Gerçekten, gerçekten içerir ifade orm sistemi. 869 00:52:15,750 --> 00:52:18,800 Ayrıca gerçekten harika çiftleşmiş vardır dil başkalarının bazı 870 00:52:18,800 --> 00:52:20,630 Sadece vermeyin. 871 00:52:20,630 --> 00:52:21,400 Ve göçler. 872 00:52:21,400 --> 00:52:23,432 Göçler de müthiş. 873 00:52:23,432 --> 00:52:24,860 Serin? 874 00:52:24,860 --> 00:52:25,390 Korku. 875 00:52:25,390 --> 00:52:27,560 Için Eh, çok teşekkürler Bu seminere izlerken, 876 00:52:27,560 --> 00:52:30,650 son projeler üzerinde ve iyi şanslar. 877 00:52:30,650 --> 00:52:31,616