1 00:00:00,000 --> 00:00:02,150 >> [Seminar] [Kohana: A Yüngül PHP Framework] 2 00:00:02,150 --> 00:00:04,000 [Brandon Liu] [Harvard Universiteti] 3 00:00:04,000 --> 00:00:07,270 [Bu CS50 edir.] [CS50.TV] 4 00:00:07,270 --> 00:00:09,130 >> Hi everyone. My name Brandon edir. 5 00:00:09,130 --> 00:00:11,000 Mən kollec bunu informatika burada kiçik, və bu gün biz haqqında danışmaq olacaq 6 00:00:11,000 --> 00:00:14,460 Bir PHP web inkişaf çərçivəsində olan Kohana. 7 00:00:14,460 --> 00:00:17,260 Bu gün canlı kodlaşdırma seminar olacaq, 8 00:00:17,260 --> 00:00:21,000 mən əsasən, Kohana nə izah 5-10 dəqiqə sərf etmək gedirəm 9 00:00:21,000 --> 00:00:25,000 və sonra mən sözün bir super sadə blog qurmaq gedirəm 10 00:00:25,000 --> 00:00:28,570 burada sanki sıfırdan sizin üçün. 11 00:00:28,570 --> 00:00:32,229 Biz Kohana veb kodu download olacaq 12 00:00:32,229 --> 00:00:35,000 və biz bir blog bina başlamaq olacaq və ümid çox ibrətamiz olacaq 13 00:00:35,000 --> 00:00:37,000 bəlkə bəlkə görmək lazımdır, çünki Mən bəzi səhvlər etmək lazımdır, 14 00:00:37,000 --> 00:00:39,000 və siz mənə onlardan bərpa görürsünüz, 15 00:00:39,000 --> 00:00:42,040 Mən bu blog vasitəsilə qurmaq kimi ya mənim fikir prosesi görürsünüz, 16 00:00:42,040 --> 00:00:44,000 və eyni zamanda, siz də çərçivəsində özü ilə tanış almaq lazımdır. 17 00:00:44,000 --> 00:00:48,000 Ümid edirəm ki, bir çox ibrətamiz həyata olacaq. 18 00:00:48,000 --> 00:00:51,370 >> Birincisi, bir çərçivə dəqiq nə? 19 00:00:51,370 --> 00:00:54,000 Siz indiyə qədər CS50 alaraq etdik, əgər həqiqətən, heç bir işləmişdir deyil 20 00:00:54,000 --> 00:00:56,000 çərçivələr hələ, və şey bu. 21 00:00:56,000 --> 00:01:00,000 Siz yəqin ki, artıq 1 web inkişaf pset etdik 22 00:01:00,000 --> 00:01:03,000 və siz web qurmaq və tikinti saytları saxlamaq üçün davam deyirlər. 23 00:01:03,000 --> 00:01:05,000 Siz bir neçə şeyi qeyd etmək başlamaq lazımdır. 24 00:01:05,000 --> 00:01:07,000 Siz görəcəksiniz ilk şey yəqin ki, eyni şeyi edirik ki, 25 00:01:07,000 --> 00:01:09,150 yenidən üzərində hər zaman, 26 00:01:09,150 --> 00:01:13,000 istifadəçi input data təmizləmə kimi şeylər, 27 00:01:13,000 --> 00:01:17,250 müəyyən bir şəkildə faylları təşkil kimi şeylər. 28 00:01:17,250 --> 00:01:19,000 Siz də yəqin ki, görəcəksiniz başqa bir şey ki, sizin kodu 29 00:01:19,000 --> 00:01:21,000 çox, çox messy olmaq başlaya bilər, 30 00:01:21,000 --> 00:01:24,000 və messy onu tərk və yalnız bir çox ağır vaxt saxlanılması ola bilər, 31 00:01:24,000 --> 00:01:26,000 və ya sizin kodu strukturu başlamaq və modul edilməsi bilər 32 00:01:26,000 --> 00:01:28,510 daha maintainable etmək üçün müəyyən yollarla. 33 00:01:28,510 --> 00:01:31,020 Web çərçivələr əsasən daxil gəldiyi >> Bu 34 00:01:31,020 --> 00:01:33,680 Web sites bir çox inşa etmiş bu insanlar, dedilər, 35 00:01:33,680 --> 00:01:35,820 "Biz, bunun bir web qurmaq hər bir zaman redo ehtiyac yoxdur." 36 00:01:35,820 --> 00:01:39,050 "Niyə biz yalnız sizin üçün bütün bu şeyi bir paketi yoxdur 37 00:01:39,050 --> 00:01:41,250 hər bir zaman bir web qurmaq istəyirsiniz? " 38 00:01:41,250 --> 00:01:43,030 Və belə ki, yeni bir web etmək zaman, 39 00:01:43,030 --> 00:01:45,880 yalnız məhz bu xüsusi veb haqqında nə diqqət. 40 00:01:45,880 --> 00:01:48,630 Siz bütün müxtəlif konfiqurasiya təkrar etmək lazım deyil 41 00:01:48,630 --> 00:01:53,070 və kodlar ayrılması və yeniden kodu 42 00:01:53,070 --> 00:01:56,180 Əgər tez-tez web edirik zaman nə var ki. 43 00:01:56,180 --> 00:01:59,410 Ideyası çərçivə daha yüksək səviyyəli kod yazmaq üçün imkan verir ki, 44 00:01:59,410 --> 00:02:01,030 aşağı səviyyəli detalları barədə narahat olmadan. 45 00:02:01,030 --> 00:02:03,670 A aşağı səviyyədə ətraflı kimi bir şey ola bilər 46 00:02:03,670 --> 00:02:07,250 istifadəçi input data təmizlənməsi ilə məşğul. 47 00:02:07,250 --> 00:02:09,320 Ki, siz həqiqətən narahat ehtiyac yoxdur ki, bir şey var. 48 00:02:09,320 --> 00:02:12,370 Siz web ayrılması haqqında əslində nə yönəlməlidir. 49 00:02:12,370 --> 00:02:14,790 Bu boilerplate kodu bir çox aradan qaldırır. 50 00:02:14,790 --> 00:02:16,640 Bu layihə üçün bir memarlıq edir. 51 00:02:16,640 --> 00:02:18,680 >> Ən məşhur bir Model-View-Controller, olardı 52 00:02:18,680 --> 00:02:20,380 Mən ikinci haqqında danışmaq üçün gedirəm olan. 53 00:02:20,380 --> 00:02:22,790 Və bir çox dəfə bu çərçivələr prosedurlar bir sıra təcəssüm, 54 00:02:22,790 --> 00:02:25,750 istifadə etmək üçün qaydalar və ən yaxşı təcrübələr 55 00:02:25,750 --> 00:02:28,190 ki, siz web çərçivəsində qəbul edərkən 56 00:02:28,190 --> 00:02:30,050 Siz müəyyən bir şəkildə kodunuzu yazın 57 00:02:30,050 --> 00:02:32,430 və ümumiyyətlə bir prinsiplərinin set razılaşdırılmış oldu 58 00:02:32,430 --> 00:02:34,290 ümumiyyətlə qəbul ki, ictimaiyyət tərəfindən 59 00:02:34,290 --> 00:02:36,230 kodu yazılı yaxşı bir yoldur. 60 00:02:36,230 --> 00:02:38,260 Bu, daha lazımlı, kodu daha maintainable edir 61 00:02:38,260 --> 00:02:40,030 belə və s. 62 00:02:40,030 --> 00:02:42,740 Və nəhayət, mən istədiyiniz şey çərçivəsində haqqında qeyd etmək 63 00:02:42,740 --> 00:02:45,980 kitabxanaların qarşı nəzarət inversiya bu fikir və şey bu. 64 00:02:45,980 --> 00:02:48,430 Kitabxana və çərçivə arasında fərq olduğunu bir kitabxana ilə 65 00:02:48,430 --> 00:02:51,990 Siz hələ də əsas proqram yazılı, 66 00:02:51,990 --> 00:02:54,460 və sort kitabxana invoking edirik 67 00:02:54,460 --> 00:02:56,810 və sizin üçün bir şey etmək üçün kitabxana çağırırdı. 68 00:02:56,810 --> 00:02:58,180 Kitabxana və çərçivə arasında fərq 69 00:02:58,180 --> 00:03:01,620 çərçivə nəzarət ilə başlayır ki, 70 00:03:01,620 --> 00:03:03,260 və sizin kodu çağırır, 71 00:03:03,260 --> 00:03:06,190 belə ki, kimi hesab edə bilər - bir çərçivə deyirlər niyə bu - 72 00:03:06,190 --> 00:03:09,700 çərçivə sizin kodu bu çərçivə və strukturu təmin edir, 73 00:03:09,700 --> 00:03:11,320 və deşik doldurmaq, 74 00:03:11,320 --> 00:03:13,990 və bu ikinci daha aydın olacaq 75 00:03:13,990 --> 00:03:16,670 Gördüyünüz zaman mənə çərçivəsində kontekstində kodu yazmaq başlayın. 76 00:03:16,670 --> 00:03:19,130 Mən boşluqların doldurulması edirəm ki, görəcəksiniz, 77 00:03:19,130 --> 00:03:22,450 və çərçivə cür, bütün hərəkət ədəd nəzarət edir 78 00:03:22,450 --> 00:03:27,420 və mən doğru yerlərdə parçaları qoymaq lazımdır. 79 00:03:27,420 --> 00:03:29,360 >> Bu gün biz Kohana haqqında danışmaq olacaq, 80 00:03:29,360 --> 00:03:31,610 bir çox PHP çərçivəsində biridir. 81 00:03:31,610 --> 00:03:34,550 , Web çərçivələr var, və olanları faktiki olaraq hər bir dildə var 82 00:03:34,550 --> 00:03:38,330 Kohana arguably, çünki mən Kohana aldığınız alıram 83 00:03:38,330 --> 00:03:43,250 və ümumiyyətlə almaq üçün asan PHP çərçivəsində kimi tanınır. 84 00:03:43,250 --> 00:03:45,940 Bu ən yüngül var. 85 00:03:45,940 --> 00:03:48,470 Çox, daha çox xüsusiyyətləri ilə gəlib ki, orada digər olanlar var 86 00:03:48,470 --> 00:03:51,590 lakin onlar almaq üçün daha çətin olur. 87 00:03:51,590 --> 00:03:54,920 Və nəhayət, Kohana MVC memarlıq istifadə edir. 88 00:03:54,920 --> 00:03:57,780 Bu biz sözün bir layihə inşa edə bilərsiniz ki, kifayət qədər yüngül 89 00:03:57,780 --> 00:03:59,620 burada gözlerinizin qarşısında, və olduqca çox bilərsiniz 90 00:03:59,620 --> 00:04:02,780 olduqca asanlıqla boyunca edin. 91 00:04:02,780 --> 00:04:04,420 >> Bu MVC memarlıq nədir? 92 00:04:04,420 --> 00:04:06,540 Bu, Model-View-Controller dayanır 93 00:04:06,540 --> 00:04:09,560 siz kodu haqqında düşünmək əgər və bəlkə siz bu günə qədər yazılı olduğunuz 94 00:04:09,560 --> 00:04:11,280 web inkişaf psets bəzi 95 00:04:11,280 --> 00:04:14,710 yazılı başlamaq zaman adətən bu bəzi görmək mümkün ola bilər, lakin 96 00:04:14,710 --> 00:04:16,500 daha mürəkkəb web tətbiqi, 97 00:04:16,500 --> 00:04:21,209 bu 3 seqmentlər arasında bölgüsü daha çox aydın olur. 98 00:04:21,209 --> 00:04:26,740 I, sort bir yığın kimi burada MVC ortaya qoydu 99 00:04:26,740 --> 00:04:29,920 və tez-tez insanların web inkişaf blokları haqqında danışmaq eşitmək lazımdır, 100 00:04:29,920 --> 00:04:33,760 və bu fikir göstərmək üçün ki, 101 00:04:33,760 --> 00:04:37,510 hər təbəqədən, hər bir komponenti həqiqətən yalnız ünsiyyət çalışır 102 00:04:37,510 --> 00:04:40,750 2 digər komponentləri arasında. 103 00:04:40,750 --> 00:04:44,550 Biri bir müştəri və ya bir brauzer kimi sizin web çatmaz. 104 00:04:44,550 --> 00:04:48,870 Onlar görünüşü kod vasitəsilə proqram ilə qarşılıqlı. 105 00:04:48,870 --> 00:04:50,500 Görünüşü kodu nəzarətçi ilə qarşılıqlı. 106 00:04:50,500 --> 00:04:52,400 Nəzarətçi, model ilə qarşılıqlı 107 00:04:52,400 --> 00:04:55,090 və model SQL verilənlər bazası ilə qarşılıqlı. 108 00:04:55,090 --> 00:04:59,670 Siz düzgün kodu yazmaq əgər arasında heç bir hoppana-hoppana var. 109 00:04:59,670 --> 00:05:01,670 >> Bunlar nə etməliyəm? 110 00:05:01,670 --> 00:05:06,020 Bu model mahiyyətcə sizin data ilə məşğul olan kod parça. 111 00:05:06,020 --> 00:05:09,100 Siz saxlamaq ki, obyektləri ilə, sizin bazası ilə məşğul ki, bir şey, 112 00:05:09,100 --> 00:05:11,280 və ya verilənlər bazası həmin obyektlərin alanda, 113 00:05:11,280 --> 00:05:13,450 bütün model idarə edir. 114 00:05:13,450 --> 00:05:15,290 Bəlkə siz bazasında obyektləri var. 115 00:05:15,290 --> 00:05:17,700 Biz ismarıc ilə olan bir model yaratmaq olacaq, 116 00:05:17,700 --> 00:05:19,760 belə bir post ona bəzi atributları ola bilər. 117 00:05:19,760 --> 00:05:23,900 Siz həmin mesajları saxlanılması və ya ismarışları alanda ətrafında funksiyaları ola bilər 118 00:05:23,900 --> 00:05:26,270 və ya belə və s mesajları və filtreleme, 119 00:05:26,270 --> 00:05:28,880 ki, model ele ki, bütün kodu var. 120 00:05:28,880 --> 00:05:31,780 Nəzarətçi proqram məntiq sort, 121 00:05:31,780 --> 00:05:37,910 və müxtəlif şeyi bir çox proqram məntiq bilərsiniz. 122 00:05:37,910 --> 00:05:39,790 Farklı bir API söhbət edirsinizsə, 123 00:05:39,790 --> 00:05:42,310 Siz proqram məntiqi ilə məşğul olduğunuz ki, ola bilər. 124 00:05:42,310 --> 00:05:47,990 Bir neçə müxtəlif modelləri məlumat gətirmək üçün çalışdığınız Əgər 125 00:05:47,990 --> 00:05:51,540 və tez-tez nəzarətçi tərəfindən ele ola bilər ki, bir şəkildə onları birləşdirmək lazımdır. 126 00:05:51,540 --> 00:05:53,820 Məsələn, Facebook, siz dost kimsə əgər, 127 00:05:53,820 --> 00:05:58,500 ki, əlaqələr qurulması sonra bəlkə ki, akt 128 00:05:58,500 --> 00:06:00,490 nəzarətçi tərəfindən edilə bilər. 129 00:06:00,490 --> 00:06:04,350 >> Və nəhayət, görünüşü həqiqətən görmək nə yaradan ki, kodu. 130 00:06:04,350 --> 00:06:07,410 Bir çox dəfə mən CS50 psets hesab 131 00:06:07,410 --> 00:06:10,050 Onlar, həqiqətən, bu 3 şeyi ayırmaq üçün sizə uşaqlar təşviq etmir. 132 00:06:10,050 --> 00:06:12,430 Siz yəqin ki, üst bu böyük, uzun fayl lazımdır 133 00:06:12,430 --> 00:06:15,130 bəzi SQL sorğu etmək və bəlkə bəzi emal etmək 134 00:06:15,130 --> 00:06:17,020 Bu data siz bazasında alınan 135 00:06:17,020 --> 00:06:19,370 və sonra altındakı bütün HTML var. 136 00:06:19,370 --> 00:06:22,840 Daha çox və daha çox pages yaratmaq kimi və siz tapa bilərsiniz 137 00:06:22,840 --> 00:06:25,790 Siz həmçinin bəzi kodu təkrar üçün gedir, və edirik ki, 138 00:06:25,790 --> 00:06:29,600 şey fayl həqiqətən böyük və uzun alır 139 00:06:29,600 --> 00:06:32,370 və idarə etmək üçün yöndəmsiz olur. 140 00:06:32,370 --> 00:06:34,500 MVC yaxşı hesab edir səbəbi 141 00:06:34,500 --> 00:06:36,120 səbəblərdən bir sıra üçün. 142 00:06:36,120 --> 00:06:38,110 Ilk şey narahatlıqlar ayrılması bir şey adlanır 143 00:06:38,110 --> 00:06:40,370 siz zaman ki, fikir - 144 00:06:40,370 --> 00:06:43,520 kodu ideal 1 ədəd, 1 şey və həqiqətən də bunu etməlidir 145 00:06:43,520 --> 00:06:47,210 və disparate şeyi kodu parçaları birləşdirmək lazımdır. 146 00:06:47,210 --> 00:06:49,230 Məsələn, kodu və model kodu keçirmək 147 00:06:49,230 --> 00:06:51,040 Onlar, həqiqətən, bağlı yoxdur. 148 00:06:51,040 --> 00:06:53,290 Siz onları ayıra bilməz zaman onlar eyni faylları olmalıdır, belə ki, yoxdur 149 00:06:53,290 --> 00:06:55,300 belə ki, saxlamaq üçün asan. 150 00:06:55,300 --> 00:06:57,130 >> Digər şey kodu təkrar edir. 151 00:06:57,130 --> 00:06:59,770 Siz özünüz həmin SQL sorğu yazılı və ya bunu tapa bilər 152 00:06:59,770 --> 00:07:03,060 1 funksiyası daxil götürülə bilər ki, oxşar queries, 153 00:07:03,060 --> 00:07:05,440 ki, fikir modelləri və kontrollerlər arxasında 154 00:07:05,440 --> 00:07:09,690 Sizin layihənin müxtəlif yerlərdə yenidən istifadə edə bilərsiniz ki, bir ayrı funksiyası olan. 155 00:07:09,690 --> 00:07:12,420 Və nəhayət ki,, kodu qurutma bağlı oldu 156 00:07:12,420 --> 00:07:14,700 və ya özünüz təkrar deyil, özünüzü təkrar etməyin. 157 00:07:14,700 --> 00:07:18,090 Bu inkişaf çox anlaşıqlı. 158 00:07:18,090 --> 00:07:20,110 , Siz özünüz təkrar, çünki özünüz təkrar etmək istəmirəm edə bilərsiniz olduqda, 159 00:07:20,760 --> 00:07:23,400  daha bahalı qorumaq üçün var. 160 00:07:23,400 --> 00:07:26,040 1 şey dəyişmək istəyirsinizsə, siz hər yerdə dəyişdirmək üçün 161 00:07:26,040 --> 00:07:30,230 və hatalar gətirib çıxarır və bu, dəhşətli deyil. 162 00:07:30,230 --> 00:07:32,010 >> Bütün hüququ. 163 00:07:32,010 --> 00:07:37,270 Bu günə qədər Kohana haqqında hər hansı bir sualınız bütün? 164 00:07:37,270 --> 00:07:39,200 Böyük. 165 00:07:39,200 --> 00:07:42,300 İndi biz canlı kodlaşdırma sessiya daxil dalış olacaq, 166 00:07:42,300 --> 00:07:48,050 və inşallah hər şey yaxşı gedir. 167 00:07:57,200 --> 00:08:00,050 Mən əsasən bu web qurmaq üçün gedirəm 168 00:08:00,050 --> 00:08:03,910 mənim uzaq server bir və uşaqlar da bilər ki, yolda 169 00:08:03,910 --> 00:08:06,310 veb görmək və web daxil olmaq, 170 00:08:06,310 --> 00:08:10,990 və ətraf mühit, həmçinin, mənim uzaq maşın daha yaxşı yapılandırılmış 171 00:08:10,990 --> 00:08:14,580 əvəzinə OS X Linux çalışan, çünki 172 00:08:14,580 --> 00:08:16,260 Biz sözün başlamaq olacaq. 173 00:08:16,260 --> 00:08:18,110 KohanaFramework.org. 174 00:08:18,110 --> 00:08:21,350 Mən web kodu yükləmək üçün gedirəm. 175 00:08:21,350 --> 00:08:24,610 Mən link ünvanı surəti gedirəm, 176 00:08:24,610 --> 00:08:29,770 mənim server getmək, download, 177 00:08:29,770 --> 00:08:33,000 və mən onu çıxarış gedirəm. 178 00:08:38,330 --> 00:08:45,710 >> [Tələbə] Siz mətn edə bilərsiniz ən böyük nədir? 179 00:08:45,710 --> 00:08:47,330 [Brandon Liu] daha yaxşı deyilmi? 180 00:08:47,330 --> 00:08:50,070 [Tələbə] [Brandon Liu] Bəli, bu gözəl var ki doable? >> Mı. 181 00:08:50,070 --> 00:08:54,500 Mən bir ZIP faylı yükləyə və Kohana adlı dizine ki unzipped 182 00:08:54,500 --> 00:08:58,820 və biz ki, CS50-Kohana adını dəyişmək olacaq 183 00:08:58,820 --> 00:09:01,140 və-nin daxil gedək 184 00:09:01,140 --> 00:09:03,610 Awesome. 185 00:09:03,610 --> 00:09:06,870 Burada müxtəlif faylları bir dəstə görmək. 186 00:09:06,870 --> 00:09:10,140 Sizin ən iqnor edə bilər - burada var ki, hər bir fayl yolu ilə getmək niyyətində deyil BİZ beləyik 187 00:09:10,140 --> 00:09:13,130 bizim vaxt məhdudiyyətləri, çünki, 188 00:09:13,130 --> 00:09:16,310 lakin adətən siz Kohana, siz ilk şey yüklemek zaman 189 00:09:16,310 --> 00:09:23,210 Siz kataloq getmək, 190 00:09:23,210 --> 00:09:26,050 və əsasən ətraf mühitin testlər və etajer edəcəyik 191 00:09:26,050 --> 00:09:28,640 əmin etmək üçün ətraf mühit düzgün Kohana çalıştırmak üçün müəyyən edilir 192 00:09:28,640 --> 00:09:31,450 və hər şey doğru əmin olun. 193 00:09:31,450 --> 00:09:35,510 Siz çox şey keçmədi bilər, lakin adətən siz həmişə bu 1 problem daxil 194 00:09:35,510 --> 00:09:38,180 Bu, bəzi kataloq yazılan deyil ki, şikayət olduğu 195 00:09:38,180 --> 00:09:40,410 və çünki bəzi icazələrin var. 196 00:09:40,410 --> 00:09:43,080 Mən sizə uşaqlar CS50 fayl izinleri haqqında öyrəndim nə qədər bilmirəm 197 00:09:43,080 --> 00:09:47,920 Siz web inkişaf, əgər bu məsələ bir çox axır olacaq. 198 00:09:47,920 --> 00:09:58,340 Mən bu yazılabilir etmək gedirəm 199 00:09:58,340 --> 00:10:03,390 biz getmək var - və mən mən də var. 200 00:10:03,390 --> 00:10:07,040 >> Okay, indi hər şey keçdi bilərsiniz, 201 00:10:07,040 --> 00:10:10,000 və indi install.php fayl adını dəyişmək üçün sizə xəbər verəcəkdir. 202 00:10:10,000 --> 00:10:15,630 Mən installed.php üçün install.php fayl hərəkət etmək üçün gedirəm, 203 00:10:15,630 --> 00:10:19,610 və indi, Yenile Əgər 204 00:10:19,610 --> 00:10:22,810 Bu mənə bir səhv verir və ayıklama girer bu 205 00:10:22,810 --> 00:10:25,610 Siz həqiqətən baş neler bilərsiniz yerdir. 206 00:10:25,610 --> 00:10:28,460 Şey ismarıcları, Kohana ki, nəzərdə tutur ki, 207 00:10:28,460 --> 00:10:31,480 layihə, domen kök qovluğuna edir 208 00:10:31,480 --> 00:10:35,920 belə ki, siz demo.brandonkliu.com olmaq gözləyirik. 209 00:10:35,920 --> 00:10:37,540 Biz bir alt həqiqətən var ki, demək lazımdır. 210 00:10:37,540 --> 00:10:39,820 Bu CS50 Kohana adlı alt var. 211 00:10:39,820 --> 00:10:42,640 Şey CS50-Kohana təhrif edir ki, 212 00:10:42,640 --> 00:10:45,680 Mən ikinci sizə izah edəcəyik ki, başqa bir şey kimi. 213 00:10:45,680 --> 00:10:49,910 Amma gözlənilir ki, bir şey var demək lazımdır. 214 00:10:49,910 --> 00:10:53,700 Biz nə olacaq, biz bootstrap.php adlanan bu qovluğa getmək olacaq edir 215 00:10:53,700 --> 00:10:59,260 müxtəlif şeyi bir çox qurmaq olduğu konfiqurasiya qovluq deyil. 216 00:10:59,260 --> 00:11:01,570 Mən açmaq. 217 00:11:01,570 --> 00:11:09,790 Sonra bəlkə mən nə lazımdır ilk şey bir vaxt zonasını dəyişdirmək deyil. 218 00:11:09,790 --> 00:11:13,910 >> Və sonra görək. 219 00:11:13,910 --> 00:11:15,180 Aha! Burada. 220 00:11:15,180 --> 00:11:18,690 Müxtəlif konfiqurasiya sözləri bir dəstə burada var, 221 00:11:18,690 --> 00:11:21,700 lakin mən arıyorum bir, baza URL adlanan bu şey 222 00:11:21,700 --> 00:11:24,570 və ismarıcları mən, bu Kohana müəyyən almaq 223 00:11:24,570 --> 00:11:29,020 amma, CS50-Kohana ki, dəyişə gedirəm 224 00:11:29,020 --> 00:11:32,880 və mən bunu düzeltmek lazımdır. 225 00:11:32,880 --> 00:11:34,150 Bəli, böyük. 226 00:11:34,150 --> 00:11:39,530 Mənim cari olaraq, o, deyir, iş görmək "Hello World". 227 00:11:39,530 --> 00:11:42,930 Ki, haradan gəldi? Necə Hello World almaq idi? 228 00:11:42,930 --> 00:11:47,640 Harada dəqiq həqiqətən olduğunu yazdı kodu edir? 229 00:11:47,640 --> 00:11:50,240 Ki, anlamaq üçün, marşrutlaşdırma adlanan bu konsepsiya təqdim edəcəyik. 230 00:11:50,240 --> 00:11:52,590 Pretty çox bütün web çərçivələr, marşrutlaşdırma adlanan anlayışı var 231 00:11:52,590 --> 00:11:57,230 müəyyən bir URL xəritəsi edəcək ki, proqram parçası olan 232 00:11:57,230 --> 00:12:01,550 Sizin çərçivəsində kodu müəyyən parça. 233 00:12:01,550 --> 00:12:07,510 Bəzi URL və əgər Məsələn, sizin kimi foo.com / blog / bütün bir URL üçün getmək 234 00:12:07,510 --> 00:12:11,170 sonra nə çərçivə nə gedir - və ya ən azı nə Kohana nə gedir - 235 00:12:11,170 --> 00:12:15,540 Bu, nəzarətçi blog adlı sinif tapmaq olacaq ki, 236 00:12:15,540 --> 00:12:18,720 və bütün funksiyası adlı tədbir çalıştırmak olacaq. 237 00:12:18,720 --> 00:12:20,160 Mən sinif və funksiyaları haqqında söhbət alıram bilirik, 238 00:12:20,160 --> 00:12:23,860 və Mən sizə uşaqlar dərsləri və funksiyaları əhatə deyil bilirik 239 00:12:23,860 --> 00:12:26,470 hələ CS50, lakin indi üçün, 240 00:12:26,470 --> 00:12:29,800 funksiyaları yalnız bir qrup kimi dərsləri hesab edə bilər, 241 00:12:29,800 --> 00:12:32,900 birlikdə funksiyaları qruplaşdırılması yolu. 242 00:12:32,900 --> 00:12:37,690 Bu, həqiqətən, siz bilmək lazımdır bütün var. 243 00:12:37,690 --> 00:12:43,120 >> İndi bizim qovluq strukturu baxsaq, 244 00:12:43,120 --> 00:12:47,110 proqram qovluq içərisində dərsləri adlı bir qovluq var 245 00:12:47,110 --> 00:12:49,200 və digər qovluq Controller və Model deyilir. 246 00:12:49,200 --> 00:12:52,530 Siz Controller qovluq içərisində baxsaq, 247 00:12:52,530 --> 00:12:56,330 biz xoş gəlmisiniz adlı bir fayl var olduğunu görürük 248 00:12:56,330 --> 00:13:00,370 və siz burada görmək Controller xoş gəlmisiniz adlı bir sinif bilər 249 00:13:00,370 --> 00:13:02,340 və Fəaliyyət Index adlı bir funksiyası var 250 00:13:02,340 --> 00:13:06,360 və nə edir o Hello Dünya üçün cavab orqanı müəyyən edir. 251 00:13:06,360 --> 00:13:08,730 Kodu yazılı olunur harada. 252 00:13:08,730 --> 00:13:11,610 Digər sual, yaxşı, mən getmədim olunur 253 00:13:11,610 --> 00:13:13,680 blah, blah, blah, / salamlayıram / index. 254 00:13:13,680 --> 00:13:16,250 Mən burada necə son idi? 255 00:13:16,250 --> 00:13:20,410 Bəli, sadəcə, çünki 256 00:13:20,410 --> 00:13:22,410 Burada bizim Bootstrap fayl altındakı 257 00:13:22,410 --> 00:13:24,550 biz marşrutları müəyyən yerləşir 258 00:13:24,550 --> 00:13:26,570 Əgər onlar sizin üçün bir yetirilməməsi müəyyən edə bilərsiniz. 259 00:13:26,570 --> 00:13:28,990 The default nəzarətçi xoş gəlmisiniz. The default fəaliyyət Index edir. 260 00:13:28,990 --> 00:13:31,600 Biz orada heç bir şey qoymaq zaman avtomatik olaraq xoş gəlmisiniz nəzarətçi getdi görə 261 00:13:31,600 --> 00:13:33,940 və index Action. 262 00:13:33,940 --> 00:13:37,460 >> Hər şey bu günə qədər mənada etmək? 263 00:13:37,460 --> 00:13:40,850 İndi, yalnız Controller getmək daha çox edə bilərsiniz 264 00:13:40,850 --> 00:13:43,670 və konkret fəaliyyət. 265 00:13:43,670 --> 00:13:48,480 Siz həmçinin nəzarətçi parametrləri keçə bilər. 266 00:13:48,480 --> 00:13:56,390 Yalnız bir misal kimi, 267 00:13:56,390 --> 00:14:04,070 Mən sizə göstərmək üçün bu nəzarətçi başqa bir tədbir əlavə etmək üçün gedirəm. 268 00:14:04,070 --> 00:14:09,130 Siz onu vermək nə sizə olacaq, çünki, Echo bu hərəkəti zəng 269 00:14:09,130 --> 00:14:17,510 və mən əsasən işğalçı gedirəm 270 00:14:17,510 --> 00:14:20,960 marşrutlaşdırma proqram mənə vasitəsilə göndəriləcək gedir ki, bir parametri, 271 00:14:20,960 --> 00:14:24,440 və burada görə bilərsiniz kimi, 272 00:14:24,440 --> 00:14:28,440 burada bu xətt, siz bilərsiniz 273 00:14:28,440 --> 00:14:31,270 Bu əsasən, siz nəzarətçi var, və bir / var deməkdir 274 00:14:31,270 --> 00:14:33,480 və siz hərəkət var, başqa bir var / 275 00:14:33,480 --> 00:14:39,140 və parametrləri olacaq, və biz bu adı ID çünki 276 00:14:39,140 --> 00:14:42,450 bucaq mötərizədə ərzində biz bu parametr ID adlandırma edirik deməkdir. 277 00:14:42,450 --> 00:14:45,490 Sonra mənim nəzarətçi kodu edirəm ki, parametri bir gözləməyə işğalçı istəyirsinizsə, 278 00:14:45,490 --> 00:14:51,790 Mən ID adına parametri tapmaq, mən yazırdı kodu istifadə edə bilərsiniz. 279 00:14:51,790 --> 00:14:59,290 Ki, mən burada nə var, mən qayıtmaq və demək gedirəm, 280 00:14:59,290 --> 00:15:07,090 , "Siz" dedi. 281 00:15:07,090 --> 00:15:10,760 Və indi mən, bizim web getmək əgər 282 00:15:10,760 --> 00:15:19,550 Mən cs50-kohana/welcome/echo/Helloooo-- getmək 283 00:15:19,550 --> 00:15:21,420 oh, doğru. 284 00:15:21,420 --> 00:15:23,930 Mən sol 1 addım var. 285 00:15:23,930 --> 00:15:27,020 Bu canlı kodlaşdırma fikir hissəsidir. 286 00:15:27,020 --> 00:15:36,100 >> Here 1 şey var. Baxaq. 287 00:15:36,100 --> 00:15:38,870 Belə ki, adətən bu web applications bir çox ismarıcları 288 00:15:38,870 --> 00:15:42,820 Sizin URL bu index.php şey daxil var, 289 00:15:42,820 --> 00:15:46,410 fikir index.php giriş nöqtəsi növ edir, çünki 290 00:15:46,410 --> 00:15:48,250 Sizin tətbiqi, lakin əlbəttə, 291 00:15:48,250 --> 00:15:50,110 ki, sort annoying var var. 292 00:15:50,110 --> 00:15:53,790 Siz index.php URL görünür var istəmirəm 293 00:15:53,790 --> 00:15:56,080 və qutusuna həyata olduqca çox hər web framework 294 00:15:56,080 --> 00:15:58,440 Bu index.php problem var, 295 00:15:58,440 --> 00:16:03,370 və belə ki, aradan qaldırılması etmək üçün bəzi tədbirlər almaq lazımdır. 296 00:16:03,370 --> 00:16:07,540 Və bu halda, 297 00:16:07,540 --> 00:16:11,450 biz nə olacaq, biz. htaccess adlı bir fayl istifadə etmək olacaq ki, 298 00:16:11,450 --> 00:16:13,900 və bu, Apache web server üçün xüsusi ki, bir şey 299 00:16:13,900 --> 00:16:16,290 və yeniden yazma URL'leri kimi şeylər edə bilərsiniz 300 00:16:16,290 --> 00:16:19,350 və s və s URL və yönlendirme 301 00:16:19,350 --> 00:16:24,280 və Kohana biz istifadə edə bilərsiniz bir şablon. htaccess fayl təmin etmək üçün kifayət qədər gözəl. 302 00:16:24,280 --> 00:16:28,300 Gördüyünüz kimi >> example.htaccess adlı bir fayl var 303 00:16:28,300 --> 00:16:33,410 və biz. Htaccess ki surəti olacaq. 304 00:16:33,410 --> 00:16:36,950 Mən bu açmaq və redaktə etmək üçün gedirəm, 305 00:16:36,950 --> 00:16:40,840 və əsasən müxtəlif şeyi bir dəstə edir. 306 00:16:40,840 --> 00:16:45,320 Siz baxmaq istəyirəm bilər əsas line sağ burada. 307 00:16:45,320 --> 00:16:49,840 Bu fikir, bu deyir ki, bir qayda müəyyən edir 308 00:16:49,840 --> 00:16:56,400 "OK, nə ki, başına index.php yazın." 309 00:16:56,400 --> 00:16:58,710 Siz görə bilərsiniz. 310 00:16:58,710 --> 00:17:00,370 The. * Şey uyğun şey üçün dayanır 311 00:17:00,370 --> 00:17:03,300 sonra ikinci hissəsi, index.php / $ 0 312 00:17:03,300 --> 00:17:07,410 və $ 0 əvvəllər eşleştirildiğini nə aiddir. 313 00:17:07,410 --> 00:17:09,500 Ki, hissi edirmi? 314 00:17:09,500 --> 00:17:12,190 Amma dəyişdirmək istədiyiniz həqiqətən əsas şey, bu rewrite bazası dəyişdirmək 315 00:17:12,190 --> 00:17:14,300 olan URL bazası. 316 00:17:14,300 --> 00:17:17,780 Siz iş olduğunuz bu cür tutur. 317 00:17:17,780 --> 00:17:22,560 Mən ki, CS50 Kohana əlavə etmək üçün gedirəm, 318 00:17:22,560 --> 00:17:26,530 və yol indi index.php aradan qaldırılması, 319 00:17:26,530 --> 00:17:32,110 işləməlidir, və mən bəzi nömrələri əlavə etmək üçün gedirəm 320 00:17:32,110 --> 00:17:36,380 bu, həqiqətən iş etdi ki göstərmək üçün. 321 00:17:36,380 --> 00:17:38,130 Yaxşı səslənir. 322 00:17:38,130 --> 00:17:40,260 >> Günə qədər hər hansı suallar? 323 00:17:40,260 --> 00:17:42,300 [Tələbə] Necə 123 etmək bilirdinizmi? 324 00:17:42,300 --> 00:17:44,120 Ki, bir dəlil var? 325 00:17:44,120 --> 00:17:46,560 Məhz. Siz yalnız bir arqument kimi hesab edə bilər. 326 00:17:46,560 --> 00:17:52,410 Amma qəribə bir şey, baxmayaraq ki, Kohana yoxdur yolu 327 00:17:52,410 --> 00:17:54,910 Onlar məhz bir arqument kimi bunu bilmirəm. 328 00:17:54,910 --> 00:17:56,930 Siz bu kimi qamarlamaq üçün. 329 00:17:56,930 --> 00:18:01,030 Siz sorğu obyekt işğalçı və ID adına olan parametri üçün xahiş var, 330 00:18:01,030 --> 00:18:03,240 və adı ID ki bootstrap faylı gəlir 331 00:18:03,240 --> 00:18:06,990 Mən əvvəllər göstərdi və adı ID həmin bucaq mötərizədə idi ki, 332 00:18:06,990 --> 00:18:11,580 və bu parametrləri qamarlamaq necə. 333 00:18:11,580 --> 00:18:14,010 Awesome. 334 00:18:14,010 --> 00:18:17,550 Hər hansı digər suallar? 335 00:18:17,550 --> 00:18:20,500 Dediyim kimi, kontrollerlər, onlar, proqram məntiq idarə 336 00:18:20,500 --> 00:18:22,980 belə ki, siz that görə bilərsiniz 1 instansiya var - 337 00:18:22,980 --> 00:18:24,830 , bu, çox əsas, lakin hələ də tətbiq məntiq var 338 00:18:24,830 --> 00:18:27,980 parametri qənimətçilik və yeni simli yaradılması ideyası 339 00:18:27,980 --> 00:18:31,920 "Siz blah etdi", deyir və sonra üçün geri spitting ki. 340 00:18:31,920 --> 00:18:34,030 Və ümumiyyətlə nə siz müxtəlif kontrollerlər yaratmaq edir. 341 00:18:34,030 --> 00:18:36,450 Sizin veb müxtəlif hissələri üçün ayrı-ayrı kontrollerlər yaradır. 342 00:18:36,450 --> 00:18:38,160 >> Bu gün biz bir çox sadə veb etmək olacaq, 343 00:18:38,160 --> 00:18:40,420 və bir çox əsas blog olacaq. 344 00:18:40,420 --> 00:18:43,780 Biz yalnız bir blog ismarıc üçün yeni nəzarətçi etmək olacaq. 345 00:18:43,780 --> 00:18:47,060 Lakin sonra mən də blog şərh əlavə etmək olsaydı 346 00:18:47,060 --> 00:18:50,140 sonra mən yəqin ki, o şərh üçün yeni nəzarətçi etmək istəyirəm. 347 00:18:50,140 --> 00:18:53,380 Mən istifadəçi əlavə etmək istəyirdi, mən yəqin ki, o istifadəçilər üçün yeni bir nəzarətçi əlavə edəcək, 348 00:18:53,380 --> 00:18:57,000 və ümumiyyətlə, fikir, yeni bir model var zaman, 349 00:18:57,000 --> 00:18:59,630 Siz ilə məşğul olduğunuz bir yeni məlumatlar obyekt, 350 00:18:59,630 --> 00:19:02,970 ki, data obyekt üçün bir nəzarətçi var. 351 00:19:02,970 --> 00:19:04,370 Bu gün biz yalnız 1 data obyekt ilə işləməyə davam edirik, 352 00:19:04,370 --> 00:19:06,250 və ismarıc olacaq, 353 00:19:06,250 --> 00:19:08,710 və həmçinin masalar uyğun olaraq, data obyektlərin hesab edə bilər. 354 00:19:08,710 --> 00:19:12,160 Ümumiyyətlə hər masa data obyekt 1 tipli uyğundur, 355 00:19:12,160 --> 00:19:15,160 belə ki, post masa, 1 post model olacaq 356 00:19:15,160 --> 00:19:18,230 ki, müvafiq 1 post nəzarətçi olacaq, 357 00:19:18,230 --> 00:19:22,190 və şərh, belə ki, və s istifadəçilər üçün eyni, və eyni. 358 00:19:22,190 --> 00:19:24,070 Və ki, thumb bir qayda var. 359 00:19:24,070 --> 00:19:27,460 Ki, fərqlənə bilər xüsusi hallarda olmalıdır gedir, 360 00:19:27,460 --> 00:19:29,300 lakin siz bunu etmək olacaq nə var ki, vaxt 90%, 361 00:19:29,300 --> 00:19:32,810 və mən ki, biz bu gün bunu etmək olacaq nə sizə göstərmək lazımdır. 362 00:19:32,810 --> 00:19:35,490 1 geri kodu daxil dalış əvvəl daha konsepsiyası, 363 00:19:35,490 --> 00:19:37,710 object relational mapping bu fikir. 364 00:19:37,710 --> 00:19:41,200 >> Siz uşaqlar artıq bir web inkişaf pset görmüşük, 365 00:19:41,200 --> 00:19:43,820 və siz bir SQL sorğu etmək olduğunu gördüm 366 00:19:43,820 --> 00:19:46,510 və sizə qaytarır nə satır var. 367 00:19:46,510 --> 00:19:50,040 Siz, bəzi adı ilə onları bu satır, və siz index 368 00:19:50,040 --> 00:19:55,480 sütun və masa adı, 369 00:19:55,480 --> 00:19:57,630 və ki, bu iş necə 370 00:19:57,630 --> 00:19:59,290 və bir az çətin ola bilər. 371 00:19:59,290 --> 00:20:01,810 Amma bundan əlavə, sizin bazası çərçivəsində əlaqələrin varsa, 372 00:20:01,810 --> 00:20:05,280 Məsələn kimi I, şərh və ismarışlarını varsa 373 00:20:05,280 --> 00:20:11,240 sonra bəlkə bir comment ana post işğalçı istəyirəm. 374 00:20:11,240 --> 00:20:14,350 Mən SQL yalnız satır istifadə, onda mən əldə edə bilərsiniz bütün ID edir 375 00:20:14,350 --> 00:20:19,310 ana post deyil, faktiki post özü. 376 00:20:19,310 --> 00:20:21,680 Biz kodlaşdırma etdiyiniz zaman, nə biz, həqiqətən, istədiyiniz həqiqətən qamarlamaq üçün 377 00:20:21,680 --> 00:20:23,550  valideyn bəzən özünü göndərin. 378 00:20:23,550 --> 00:20:25,730 Relational mapping edir nə object 379 00:20:25,730 --> 00:20:29,480 Bu verilənlər bazası sorğu nəticələri alır 380 00:20:29,480 --> 00:20:32,420 və işləmək üçün çox gözəl olan sizin üçün obyektlərin, onu qoyur 381 00:20:32,420 --> 00:20:34,770 düz seriallarda və satır daha. 382 00:20:34,770 --> 00:20:37,550 >> Məsələn, indi, bəlkə bir şərh zaman 383 00:20:37,550 --> 00:20:40,900 və mən onun ana post işğalçı istəyirəm, 384 00:20:40,900 --> 00:20:43,440 və bəlkə arrow post şərh yoxdur 385 00:20:43,440 --> 00:20:45,230 o, həqiqətən mənə post obyekt verəcək 386 00:20:45,230 --> 00:20:47,940 faktiki valideyn vəzifəsinə müvafiq, bəzi ID yalnız, 387 00:20:47,940 --> 00:20:52,210 Mən başqa post işğalçı başqa bir SQL sorğu istifadə etmək lazımdır, 388 00:20:52,210 --> 00:20:57,430 ağır və lazımsız edir. 389 00:20:57,430 --> 00:21:01,840 Və bundan əlavə, obyektlərin bütün bu məlumatların satır Xəritəçəkmə, 390 00:21:01,840 --> 00:21:03,760 siz də obyektlərin daha çox funksiyaları əlavə edə bilərsiniz, 391 00:21:03,760 --> 00:21:09,700 Belə ki, məsələn, mən dərsləri mahiyyətcə funksiyaları gruplarıdır necə danışıb. 392 00:21:09,700 --> 00:21:11,620 Siz kimi hesab edə bilər. 393 00:21:11,620 --> 00:21:15,290 Məsələn, bəlkə mən bu post obyekt var, 394 00:21:15,290 --> 00:21:17,830 və bəlkə ona əlavə funksiyası bir növ istiyorum 395 00:21:17,830 --> 00:21:20,300 ki, əsasən mənə bu yaxınlarda dərc edilib deyir? 396 00:21:20,300 --> 00:21:23,570 Doğru və ya yalan, son həftə ərzində dərc edilib? 397 00:21:23,570 --> 00:21:27,320 Və mən ki, obyekt üzərində əlavə edə bilərsiniz bir funksiyası var, 398 00:21:27,320 --> 00:21:31,300 və bu, eyni yerdə üçün həqiqətən rahat 399 00:21:31,300 --> 00:21:33,820 və siz yarada müxtəlif funksiyaları bir ana var 400 00:21:33,820 --> 00:21:37,990 Bu obyektlər üçün, və bir sinif əlavə etmək üçün həqiqətən gözəl, 401 00:21:37,990 --> 00:21:41,700 bir obyekt üçün, yalnız sizin bazası gələn satır idi əgər halbuki, 402 00:21:41,700 --> 00:21:43,790 sonra həqiqətən hər hansı bir funksionallığı əlavə edə bilməz. 403 00:21:43,790 --> 00:21:47,850 Bu sözün yalnız məlumat var. 404 00:21:47,850 --> 00:21:50,550 Bütün bu barədə hər hansı bir sualınız? 405 00:21:50,550 --> 00:21:52,710 ORMs çox web inkişafı, 406 00:21:52,710 --> 00:21:56,330 və ORMs müxtəlif növ bir çox var, 407 00:21:56,330 --> 00:21:58,450 və Kohana öz ORM var. 408 00:21:58,450 --> 00:22:05,050 Bu, çox əsas, lakin siz bu kimi görünür nə bir dad almaq lazımdır. 409 00:22:05,050 --> 00:22:08,780 >> Bizim blog ismarıc bir model yaratmaq edək 410 00:22:08,780 --> 00:22:12,350 və biz açıq-aydın nə etmək lazımdır ilk şey bir faktiki masa yaratmaq üçün 411 00:22:12,350 --> 00:22:16,680 Bizim verilənlər bazası ərzində, həqiqətən, bu ismarıc üçün veri. 412 00:22:16,680 --> 00:22:19,260 Mən gedirəm ilk şey phpMyAdmin getmək edir. 413 00:22:19,260 --> 00:22:21,410 Sizlərin əvvəl phpMyAdmin istifadə? 414 00:22:21,410 --> 00:22:23,400 OK, zəhmli, belə ki, uşaqlar artıq nə, 415 00:22:23,400 --> 00:22:32,200 və mən Kohana Posts adlı yeni masa yaratmaq üçün gedirəm, 416 00:22:32,200 --> 00:22:37,820 və həqiqətən sadə olacaq. 417 00:22:37,820 --> 00:22:40,190 Mən da geri daxil etmək lazımdır 418 00:23:02,620 --> 00:23:04,640 Biz bu gün nə olacaq bütün müəllif və bədən var, 419 00:23:04,640 --> 00:23:11,930 yalnız sadə saxlamaq. 420 00:23:11,930 --> 00:23:15,620 Mən masa yaratmaq üçün gedirəm, 421 00:23:15,620 --> 00:23:19,620 və indi biz yalnız bizim ismarışları təmsil bir masa var 422 00:23:19,620 --> 00:23:23,370 bizim müəllif və bədən üçün 2 sahələri ilə. 423 00:23:23,370 --> 00:23:26,290 İndi gedirəm başqa bir şey deyil 424 00:23:26,290 --> 00:23:29,820 Bu bazasında bağlanmak üçün necə bilir mənim web proqram konfiqurasiya, 425 00:23:29,820 --> 00:23:31,950 və bu, təkrar, siz bütün web applications ilə etmək lazımdır ki, bir şey. 426 00:23:31,950 --> 00:23:34,790 Siz istifadəçi adı və parol demək lazımdır 427 00:23:34,790 --> 00:23:36,990 və verilənlər bazası adı və s və s 428 00:23:36,990 --> 00:23:40,000 həqiqətən, sizin bazasında bağlanmak üçün necə anlamaq üçün. 429 00:23:40,000 --> 00:23:58,710 >> Kohana, biz bir verilənlər bazası modul deyilən bir şey var 430 00:23:58,710 --> 00:24:02,690 və konfiqurasiya qovluq biz Database adlanan bu qovluq var 431 00:24:02,690 --> 00:24:07,330 Gördüyünüz kimi, burada müəyyən etmək ayarları bir dəstə var 432 00:24:07,330 --> 00:24:09,860 istifadəçi adı və parol var nə demək 433 00:24:09,860 --> 00:24:13,110 verilənlər bazası üçün mən, həqiqətən ona qoşula bilər. 434 00:24:13,110 --> 00:24:15,010 Və Mən sizə uşaqlar həqiqətən bilmək istəmirəm-ci ildən 435 00:24:15,010 --> 00:24:17,190 istifadəçi adı və verilənlər bazası parol, 436 00:24:17,190 --> 00:24:23,840 Mən artıq bütün qurmaq bir fayl var və mən surəti və üzərində yapışdırıb gedirəm. 437 00:24:33,080 --> 00:24:36,870 Awesome. 438 00:24:36,870 --> 00:24:39,880 Okay. Mən ki, mən nə etmək lazımdır bütün konfiqurasiya hesab edirəm ki, 439 00:24:39,880 --> 00:24:41,070 amma görək. 440 00:24:41,070 --> 00:24:43,720 Bir şey çökerse Biz, bu iş saxlamaq və edəcəyik 441 00:24:43,720 --> 00:24:47,490 onda biz bunu düzeltmek lazımdır. 442 00:24:47,490 --> 00:24:51,830 İndi mən nə gedirəm yeni bir nəzarətçi yaratmaq gedirəm edir. 443 00:24:51,830 --> 00:24:53,190 Və ya həqiqətən, sorry. 444 00:24:53,190 --> 00:24:55,080 Birinci mən yeni bir model yaratmaq lazımdır. 445 00:24:55,080 --> 00:25:01,620 Mən Post.php adlı yeni model yaratmaq lazımdır 446 00:25:01,620 --> 00:25:12,440 və biz nə olacaq, biz sinif Model_Post zəng olacaq edir. 447 00:25:12,440 --> 00:25:15,390 Bəzi syntax vurğulayaraq almaq, 448 00:25:15,390 --> 00:25:19,750 və mən deyəndə ki, əsasən var "ORM, uzanır" 449 00:25:19,750 --> 00:25:21,210 bir daha obyekt-yönümlü proqramlaşdırma, 450 00:25:21,210 --> 00:25:23,340 olan təəssüf ki, siz uşaqlar hələ CS50 öyrənildi, 451 00:25:23,340 --> 00:25:25,290 lakin almaq üçün olduqca asandır. 452 00:25:25,290 --> 00:25:27,950 Bu, mənə bu ORM paketi gəlir ki, bütün bu əlavə funksionallıq verir 453 00:25:27,950 --> 00:25:31,120 və mən əlavə funksiyaları və pulsuz etajer bir dəstə almaq 454 00:25:31,120 --> 00:25:34,810 Siz ikinci bir az görmək lazımdır. 455 00:25:34,810 --> 00:25:37,670 >> Hal-hazırda, həqiqətən, Mən nə etmək lazımdır bütün bu sinif yaratmaq edir. 456 00:25:37,670 --> 00:25:39,160 Mən hətta bir funksiyası və ya bir şey etmək lazım deyil, 457 00:25:39,160 --> 00:25:41,770 amma masa təmsil edən bir sinif yaratdıq, 458 00:25:41,770 --> 00:25:44,140 və mən bu ORM sinif uzadıla etdik, çünki, 459 00:25:44,140 --> 00:25:51,080 Mən pulsuz üçün hər şeyi bir dəstə almaq, belə ki, indi siz daha çox bir şey qurmaq yoxdur. 460 00:25:51,080 --> 00:25:53,530 Və indi nə mən gedirəm yeni bir nəzarətçi yaratmaq gedirəm, 461 00:25:53,530 --> 00:25:58,480 Mən blog.php ad gedirəm, 462 00:25:58,480 --> 00:26:04,350 və mən xoş gəlmisiniz nəzarətçi üzərində surəti gedirəm 463 00:26:04,350 --> 00:26:11,950 mən bəzi məhsulları köçürmək yoxdur, 464 00:26:11,950 --> 00:26:20,720 və indi bu adını dəyişmək üçün var. 465 00:26:20,720 --> 00:26:24,710 İndi nə mən hər şeyi həyata iş etmək üçün test etmək üçün gedirəm, 466 00:26:24,710 --> 00:26:27,820 Mən bazasında olan ilk post işğalçı gedirəm 467 00:26:27,820 --> 00:26:32,680 və ekranda vəzifəsinə orqanı çap. 468 00:26:32,680 --> 00:26:37,920 Nə mən ilk gedirəm mən mesajları saxlamaq üçün gedirəm ki etmək 469 00:26:37,920 --> 00:26:48,770 dəyişən belə biz nə olacaq edir - 470 00:26:48,770 --> 00:26:52,090 Kohana nə siz nə post obyekt qamarlamaq üçün 471 00:26:52,090 --> 00:26:55,380 , bu cür çətin, lakin siz ORM adlanan bu şey :: zavod nə var 472 00:26:55,380 --> 00:26:57,750 və sonra siz istədiyiniz model adı keçmək, 473 00:26:57,750 --> 00:27:00,490 və bu model təmsil edən ORM obyekt qaytarır. 474 00:27:00,490 --> 00:27:04,860 Və sonra, kimi, biz ORM obyekt genişləndirmək zaman, 475 00:27:04,860 --> 00:27:07,320 biz pulsuz üçün bütün bu üsulları almaq, belə ki, məsələn, 476 00:27:07,320 --> 00:27:09,200 biz adlanan bu yeni funksiyası ", bütün tapa olsun" 477 00:27:09,200 --> 00:27:12,160 avtomatik bazasında hər bir post qaytarır, 478 00:27:12,160 --> 00:27:14,850 olan olduqca rahatdır. 479 00:27:14,850 --> 00:27:17,480 >> İndi bədəndə I qayıtmaq üçün gedirəm 480 00:27:17,480 --> 00:27:24,860 ilk post və onun meyitinin qaytarılması. 481 00:27:24,860 --> 00:27:27,930 Və, əlbəttə, mən bir post yaratmaq lazımdır, 482 00:27:27,930 --> 00:27:31,880 belə ki, yeni bir yazı daxil edək. 483 00:27:31,880 --> 00:27:37,870 Mən, "Brandon, mənim ilk post." Demək lazımdır 484 00:27:37,870 --> 00:27:40,010 Awesome. 485 00:27:40,010 --> 00:27:45,910 Və indi biz blog getmək olacaq 486 00:27:45,910 --> 00:27:50,960 bütün yaxşı işləyir, əgər - oh, bu yenə bəzi digər lal fayl icazə şeydir. 487 00:27:50,960 --> 00:27:56,090 1 saniyə tutun. Bu cür absurd var. 488 00:28:06,700 --> 00:28:08,490 Orada getmək. Okay. 489 00:28:08,490 --> 00:28:10,040 Mən icazə problem müəyyən. 490 00:28:10,040 --> 00:28:12,040 Bu, bəzi faylları və bəzi log yaratmaq üçün çalışır, 491 00:28:12,040 --> 00:28:15,400 və icazələrin, yenə düzgün müəyyən deyil, mən bunu 492 00:28:15,400 --> 00:28:18,320 həmin faylları yazılabilir və çalıştırılabilir idi 493 00:28:18,320 --> 00:28:21,090 belə ki, həqiqətən şeyi daxil edə bilər. 494 00:28:21,090 --> 00:28:24,220 İndi "sinif ORM tapılmadı" Mənə bir istisna deyərək verilməsi oldu 495 00:28:24,220 --> 00:28:26,960 Mən bir addım unuttum çünki və ki. 496 00:28:26,960 --> 00:28:37,010 Ki, çox pis. 497 00:28:37,010 --> 00:28:40,270 Bootstrap qovluq fayl, burada bu modulları var, 498 00:28:40,270 --> 00:28:42,480 etkinleştirmek və ya aradan bırakmak üçün seçə bilər. 499 00:28:42,480 --> 00:28:44,340 Bu istifadə edə bilərsiniz ki, müxtəlif funksiyalar bir dəstə var 500 00:28:44,340 --> 00:28:46,180 sort gözəl olan Kohana çərçivəsində. 501 00:28:46,180 --> 00:28:49,090 >> Məsələn, onlar identifikasiyası modulu 502 00:28:49,090 --> 00:28:51,170 siz istifadəçilər kimlik üçün istifadə edə bilərsiniz. 503 00:28:51,170 --> 00:28:53,390 Siz həyata keçirilməsi üçün istəyirsinizsə Onlar caching modulu 504 00:28:53,390 --> 00:28:57,870 ərizə iş daha sürətli və etajer etmək son geri caching bir növ. 505 00:28:57,870 --> 00:29:02,140 Biz bazası və ORM modul imkan lazımdır, 506 00:29:02,140 --> 00:29:04,280 dediyim kimi, çünki biz, təbii ki, verilənlər bazası istifadə etdiyiniz 507 00:29:04,280 --> 00:29:08,200 və biz də ORM modul imkan lazımdır, 508 00:29:08,200 --> 00:29:12,220 biz üçün gözəl olan əlavə funksionallığı var istədiyiniz çünki. 509 00:29:12,220 --> 00:29:14,240 Mən nə üçün bütün, o 2 xətləri uncomment edir 510 00:29:14,240 --> 00:29:18,760 Mən yenileyin və indi, mənə başqa bir səhv verdi. 511 00:29:18,760 --> 00:29:22,100 Bu "Class Model_Post tapılmadı." Deyir 512 00:29:22,100 --> 00:29:30,210 İndi bu üçün yaxşı bir problem deyil. 513 00:29:30,210 --> 00:29:37,660 Baxaq. 514 00:29:37,660 --> 00:29:42,200 Ictimai olun. 515 00:29:42,200 --> 00:29:46,450 No tutun. 516 00:30:11,610 --> 00:30:13,160 Oh, əziz. 517 00:30:13,160 --> 00:30:18,590 Ki, tapa deyil nə bilmirəm. 518 00:30:18,590 --> 00:30:21,030 Ki, həqiqətən qəribə deyil. 519 00:30:21,030 --> 00:30:23,820 Mən burada bu sinif var. 520 00:30:23,820 --> 00:30:28,650 Oh - Mən ola bilər danışarlar. 521 00:30:28,650 --> 00:30:32,010 Mən lal deyiləm. Mən PHP tag əlavə etmək unuttum. 522 00:30:32,010 --> 00:30:34,670 Ki, niyə var. 523 00:30:34,670 --> 00:30:41,260 İndi 1 dəyişiklik Mən yalnız etdi ki, geri var. 524 00:30:41,260 --> 00:30:44,270 Okay. >> Orada getmək. 525 00:30:44,270 --> 00:30:47,500 Ki, həqiqətən silly idi. Mən açılış PHP tag yox idi. 526 00:30:47,500 --> 00:30:49,900 Gördüyünüz kimi, indi sağ, düzgün iş var? 527 00:30:49,900 --> 00:30:51,240 Biz 1 yazı var. 528 00:30:51,240 --> 00:30:54,730 Biz ilk post tutdu, indi biz onun bədən çap. 529 00:30:54,730 --> 00:30:58,010 Böyük. Fantastic. 530 00:30:58,010 --> 00:31:01,470 Hər hansı bir sualınız indiyə qədər? 531 00:31:01,470 --> 00:31:04,100 Xeyr? Hər hansı bir sualınız? 532 00:31:04,100 --> 00:31:08,340 OK, belə ki, biz yalnız, çox əsas, sonrakı model yaratmışdır 533 00:31:08,340 --> 00:31:10,930 və biz sonra bəzi funksiyaları əlavə olacaq. 534 00:31:10,930 --> 00:31:13,600 Biz validations və filtreleme əlavə edə bilərsiniz. 535 00:31:13,600 --> 00:31:15,650 Qiymətləndirmələrin şeyi biridir 536 00:31:15,650 --> 00:31:18,150 çərçivələr həqiqətən də, həqiqətən, sizin üçün həll ki, 537 00:31:18,150 --> 00:31:21,310 və Mən sizə uşaqlar sizin CS50 pset üçün bu nə idi düşünmürəm, 538 00:31:21,310 --> 00:31:24,000 lakin sizin yekun layihə üçün web inkişaf əgər, 539 00:31:24,000 --> 00:31:26,280 siz çox güman ki dəyərləndirmə bir növ etmək istəyirəm olacaq, 540 00:31:26,280 --> 00:31:28,290 kimi boş istifadəçi adları olmayan, 541 00:31:28,290 --> 00:31:31,950 bəlkə ən azı bəzi uzunluğu ilə bir parol olan, belə şeylər. 542 00:31:31,950 --> 00:31:34,750 Və bu, özümüz bu şeyi həyata həqiqətən çətin deyil 543 00:31:34,750 --> 00:31:37,390 və olduqca çox hər bir web çərçivə sizin üçün bunu edir 544 00:31:37,390 --> 00:31:41,140 və bir çox təmiz şəkildə bunu etməyə imkan verir. 545 00:31:41,140 --> 00:31:44,340 Siz, ümumiyyətlə, o doğrulama qaydaları ifadə harada və model deyil, 546 00:31:44,340 --> 00:31:48,790 bir model etibarlı olub-olmadığını doğrulama, çünki. 547 00:31:48,790 --> 00:31:51,350 >> Amma indi, biz, sonra qədər qoymaq olacaq 548 00:31:51,350 --> 00:31:53,520 və indi biz başqa bir hissəsi işləmək olacaq, 549 00:31:53,520 --> 00:31:55,400 və biz yeni görünüşü cəhd və olacaq 550 00:31:55,400 --> 00:31:59,580 bütün ismarışları siyahıları. 551 00:31:59,580 --> 00:32:02,490 Bütün mövzuları listing yeni bir hərəkət edilməsi cəlb addımlar 552 00:32:02,490 --> 00:32:04,810 bütün ismarışları siyahısı qamarlamaq üçün 553 00:32:04,810 --> 00:32:11,990 və sonra bir görünüşü bütün ismarışları siyahısını göstərir. 554 00:32:11,990 --> 00:32:16,420 Burada, xoşbəxtlikdən kifayət qədər, biz artıq bütün mövzuları tutdu 555 00:32:16,420 --> 00:32:20,310 Bu ilk xətt istifadə edərək, bütün funksiyası tapmaq 556 00:32:20,310 --> 00:32:22,520 və indi biz nə olacaq bu günə qədər 557 00:32:22,520 --> 00:32:25,350 Mən birbaşa cavab orqanı qəbulu etdik 558 00:32:25,350 --> 00:32:29,090 simli keçən, lakin indi mən bir görünüşü istifadə etmək istədiyiniz edərək, 559 00:32:29,090 --> 00:32:31,870 və yalnız bunu bir görünüşü və arasında fərq 560 00:32:31,870 --> 00:32:35,330 məqsədi ilə bir gözəl, böyük HTML şablon ola bilər ki, 561 00:32:35,330 --> 00:32:37,710 və nə edə bilərsiniz bunu müəyyən dəyişənlərin keçirlər 562 00:32:37,710 --> 00:32:42,200 və sonra görünüşü avtomatik olaraq şablon yaşayır var 563 00:32:42,200 --> 00:32:44,690 o dəyişənlər istifadə. 564 00:32:44,690 --> 00:32:50,780 Mən nə lazımdır, mən yeni görünüşü yaratmaq lazımdır edir 565 00:32:50,780 --> 00:32:55,940 və mən ", blog / indeksi" kimi görünüşü bir şey adını lazımdır 566 00:32:55,940 --> 00:33:08,480 və mən əsasən bu məcburidir gedirəm - oh, mən nə yazıram? 567 00:33:08,480 --> 00:33:12,910 Mənim beyin başqa bir yerdə. 568 00:33:12,910 --> 00:33:16,600 Mən görünüşü dəyişən ismarışları bağladığı gedirəm 569 00:33:16,600 --> 00:33:19,950 belə ki, yol baxımından bu post dəyişən çıxışı var. 570 00:33:19,950 --> 00:33:26,140 >> Və indi mən bu fikri yaratmaq lazımdır, 571 00:33:26,140 --> 00:33:28,500 belə ki, burada biz "Views" adlanan bu qovluq var 572 00:33:28,500 --> 00:33:32,150 və ilk, mən adlı altında yeni bir qovluq yaratmaq üçün gedirəm "Blog". 573 00:33:32,150 --> 00:33:35,810 Bu gözəl. Bu yolla biz views üçün gözəl iyerarxiya ola bilər. 574 00:33:35,810 --> 00:33:43,910 Və sonra mən adlanır orada bir fayl yaratmaq üçün gedirəm "index.php". 575 00:33:43,910 --> 00:33:45,780 Awesome. 576 00:33:45,780 --> 00:33:52,930 Əslində, burada onlara həm edək. 577 00:33:52,930 --> 00:33:56,760 Bir görünüşü fayl edilməsi yəqin ki, bütün bu sadə hissəsi, 578 00:33:56,760 --> 00:33:59,090 və bu yəqin ki, artıq tanış olduğunuz şeylər. 579 00:33:59,090 --> 00:34:01,240 Biz, həqiqətən sadə bir şey olacaq 580 00:34:01,240 --> 00:34:05,360 , deyərək başlamaq "blog ismarıc Mənim siyahısı." 581 00:34:05,360 --> 00:34:14,860 Sonra biz vasitəsilə getmək bilər, 582 00:34:14,860 --> 00:34:17,920 və biz ismarıc array vasitəsilə təkrarlamaq olar, 583 00:34:17,920 --> 00:34:21,760 hər bir post işğalçı və kimi bir şey demək - 584 00:34:21,760 --> 00:34:25,290 bəlkə bir xətt əlavə 585 00:34:25,290 --> 00:34:42,460 və sonra müəllif və bədən çap. 586 00:34:42,460 --> 00:34:44,480 Bu günə qədər mənada etmək? 587 00:34:44,480 --> 00:34:50,870 Və bu işləri nin görək. 588 00:34:50,870 --> 00:34:53,489 Heç bir şey baş verib. 589 00:34:53,489 --> 00:34:55,090 Mən niyə görəsən. 590 00:34:55,090 --> 00:34:58,760 Oh, 1 addım buraxılmış. Mənə çox silly. 591 00:34:58,760 --> 00:35:01,640 Mən bir baxış yerləşdirilmişdir, ancaq cavab olaraq görünüşü müəyyən etməyib, 592 00:35:01,640 --> 00:35:03,190 belə ki, 1 şey etmək lazımdır. 593 00:35:03,190 --> 00:35:12,610 Siz "Bu cavab bədən" nə və görünüşü olmaq üçün müəyyən etmək lazımdır. 594 00:35:12,610 --> 00:35:14,760 Orada getmək. 595 00:35:14,760 --> 00:35:17,200 Biz mal var, və sonra bir post var, 596 00:35:17,200 --> 00:35:20,500 və yalnız kicks üçün, bir digər post daxil edək 597 00:35:20,500 --> 00:35:23,390 belə ki, biz bir siyahısını görə bilərsiniz. 598 00:35:31,800 --> 00:35:36,650 Və bu 2 ismarıcları daxil, 599 00:35:36,650 --> 00:35:39,500 və indi səhifəni yenileyin əgər, 600 00:35:39,500 --> 00:35:42,060 biz burada bütün bu mesajları görmək. 601 00:35:42,060 --> 00:35:44,250 >> Bu günə qədər mənada edirmi? 602 00:35:44,250 --> 00:35:46,400 Bəli, bir sual? Oh, tamam. 603 00:35:46,400 --> 00:35:51,440 Gördüyünüz kimi, biz bütün bu kodları ayırmaq üçün edə bilərsiniz 604 00:35:51,440 --> 00:35:53,920 müxtəlif bölmələr, və sonra bu görünüşü kodu ilə ən aydın görə bilərsiniz. 605 00:35:53,920 --> 00:35:57,810 Bu görünüşü təmsil ki, burada fayl, 606 00:35:57,810 --> 00:36:01,220 yalnız data tapılanlar data təmsil qayğısına qalır. 607 00:36:01,220 --> 00:36:04,310 Bu data bir növ keçmiş olur, və bunu yalnız sizə göstərir. 608 00:36:04,310 --> 00:36:07,660 Kodunuzu bütün digər yerlərində, siz heç narahat olmaz, 609 00:36:07,660 --> 00:36:10,480 və eyni, görünüşü kodu haqqında bir şey narahat yoxdur 610 00:36:10,480 --> 00:36:13,390 verilənlər bazası daxil olmaq və belə və s, necə 611 00:36:13,390 --> 00:36:19,950 həqiqətən yaxşı deyil və kodu bir çox maintainable edir. 612 00:36:19,950 --> 00:36:23,390 Dediyim kimi, views, onlar dinamik istəyirik 613 00:36:23,390 --> 00:36:27,080 bu 1 fayl var, lakin müxtəlif fikir yaratmaq 614 00:36:27,080 --> 00:36:29,940 Siz həqiqətən keçmək dəyişənlərin əsasında, 615 00:36:29,940 --> 00:36:32,370 və bundan əlavə, müxtəlif köməkçi funksiyaları bir çox var 616 00:36:32,370 --> 00:36:34,230 siz daha sürətli kodu yazmaq üçün istifadə edə bilərsiniz ki, 617 00:36:34,230 --> 00:36:36,320 Mən yalnız bir ikinci sizə göstərmək lazımdır. 618 00:36:36,320 --> 00:36:38,050 Bəli. 619 00:36:38,050 --> 00:36:42,490 >> [Tələbə] Belə $ 0 sağ, bir nəzarətçi edir? 620 00:36:42,490 --> 00:36:44,000 Ki, ikinci şey. 621 00:36:44,000 --> 00:36:46,090 Sual $ 0 nəzarətçi edir? 622 00:36:46,090 --> 00:36:48,610 $ 0 Mən burada yaradılmış bir dəyişir. 623 00:36:48,610 --> 00:36:51,320 Mən ilk bir görünüşü yaratmışdır. Mən bəzi dəyişən üçün təyin. 624 00:36:51,320 --> 00:36:54,960 Sonra, bu funksiyası onu keçdi cavab orqanı kimi müəyyən. 625 00:36:54,960 --> 00:36:57,260 Ki, hissi edirmi? 626 00:36:57,260 --> 00:37:02,200 [Tələbə] Belə fikir :: zavodu, bir sinif kimi rəyidir 627 00:37:02,200 --> 00:37:06,610 və ya bir kitabxana [Işitilemez] fabriki funksiyası? 628 00:37:06,610 --> 00:37:10,640 Sual, görünüşü :: zavod funksiyası haqqında 629 00:37:10,640 --> 00:37:14,020 və əsasən bu mahiyyətcə bir daha obyekt-yönümlü proqramlaşdırma edir. 630 00:37:14,020 --> 00:37:18,000 "Factory" View görünüşü sinif və bu deyilən bir üsul var 631 00:37:18,000 --> 00:37:24,170 ki, adına olan obyekt qamarlamaq üçün bir yol var "blog / index." 632 00:37:24,170 --> 00:37:27,140 Və bir daha obyekt-yönümlü proqramlaşdırma stuff var 633 00:37:27,140 --> 00:37:33,010 Mən çox burada daxil getmək niyyətində deyiləm ki. 634 00:37:33,010 --> 00:37:36,400 İndi təbii ki, biz yeni mesajları yaratmaq istəyirik, 635 00:37:36,400 --> 00:37:38,790 lakin biz bir verilənlər bazası vasitəsilə bunu etmək istəmirəm, 636 00:37:38,790 --> 00:37:41,280 belə ki, biz yeni bir yazı yaratmaq üçün yeni bir hərəkət yaratmaq olacaq, 637 00:37:41,280 --> 00:37:43,050 və biz nə üçün məhsullarının bir çox var. 638 00:37:43,050 --> 00:37:45,910 >> Biz nə olacaq ilk şey - Gəlin bu şeylər bir-bir həll edək. 639 00:37:45,910 --> 00:37:48,320 Biz edəcəyik ilk şey biz bir formada yaratmaq üçün var edir 640 00:37:48,320 --> 00:37:54,460 yeni bir yazı daxil üçün, 641 00:37:54,460 --> 00:37:57,360 amma mən də, ilk yeni tədbir əlavə etmək üçün gedirəm 642 00:37:57,360 --> 00:38:01,050 belə bir yeni fəaliyyət əlavə kimi asandır 643 00:38:01,050 --> 00:38:03,490 Sizin nəzarətçi ilə yeni bir funksiyası əlavə, 644 00:38:03,490 --> 00:38:13,710 və indi mən, çox əsas bir şey gedirəm 645 00:38:13,710 --> 00:38:20,850 yalnız bu görünüşü işğalçı və onu göndərmək, yalnız sizin üçün göstərilir. 646 00:38:20,850 --> 00:38:26,220 Və sonra indi yeni görünüşü fayl yaratmaq üçün gedirəm, 647 00:38:26,220 --> 00:38:33,690 və mən bəzi stuff yazı başlamaq üçün gedirəm. 648 00:38:33,690 --> 00:38:36,540 Nə Kohana haqqında gözəl müxtəlif köməkçi funksiyaları bir çox təmin edir 649 00:38:36,540 --> 00:38:38,790 Siz daha asan keçirmək kodu yazmaq üçün 650 00:38:38,790 --> 00:38:41,970 o köməkçi funksiyaları və ya köməkçi modulları və 1 651 00:38:41,970 --> 00:38:45,860 ətrafında formaları yazır. 652 00:38:45,860 --> 00:38:49,460 Formaları yazmaq üçün, mən, həqiqətən, birbaşa hər hansı bir HTML yazmağa yoxdur. 653 00:38:49,460 --> 00:38:51,100 Siz uşaqlar HTML formaları yazıblar. 654 00:38:51,100 --> 00:38:54,850 Siz, həqiqətən, həqiqətən ağrılı və formaları yazmaq üçün çətin ola bilər necə. 655 00:38:54,850 --> 00:38:59,970 Bu, belə ki, xoşbəxtlikdən, əyləncə deyil 656 00:38:59,970 --> 00:39:04,860 biz əsasən Kohana nin istifadə şəklində yaza bilərsiniz 657 00:39:04,860 --> 00:39:11,190 bizim üçün bunu köməkçi funksiyaları yaratmaq. 658 00:39:11,190 --> 00:39:17,340 Biz, əsasən biz hər bir şey üçün sahələri var olacaq 659 00:39:17,340 --> 00:39:23,160 ki, müəlliflər üçün bir və orqanları üçün bir. 660 00:39:23,160 --> 00:39:27,090 Biz bir etiket var olacaq və biz bir daxil olacaq. 661 00:39:37,450 --> 00:39:41,360 >> Və sonra nəhayət, biz təqdim olacaq. 662 00:39:49,350 --> 00:39:52,230 Və gördüyünüz kimi, bu yazmaq üçün daha təmiz 663 00:39:52,230 --> 00:39:58,150 cür gözəl olan bütün messy HTML, çox. 664 00:39:58,150 --> 00:40:00,930 Düzdür, çox daha təmiz var ki, digər web çərçivələr var, 665 00:40:00,930 --> 00:40:04,440 lakin ən azı bu HTML özünüzü yazılı daha yaxşıdır. 666 00:40:09,400 --> 00:40:11,130 Awesome, belə ki, bu bax budur. 667 00:40:11,130 --> 00:40:13,530 Bu cür messy var 668 00:40:13,530 --> 00:40:19,720 mən orada bir xətt fasilə əlavə etmək üçün gedirəm 669 00:40:19,720 --> 00:40:21,180 ki, bir az gözəl baxmaq üçün. 670 00:40:21,180 --> 00:40:23,330 Bəli, əlbəttə, hələ, həqiqətən, həqiqətən pis görünür, amma biz yalnız diqqət edirik 671 00:40:23,330 --> 00:40:26,050 estetik indi deyil funksionallığa. 672 00:40:26,050 --> 00:40:28,010 Hər şeyi heç bir zaman. 673 00:40:28,010 --> 00:40:30,600 Gördüyünüz kimi, indi biz bir super əsas forması var, 674 00:40:30,600 --> 00:40:32,080 hansı növ gözəl edir. 675 00:40:32,080 --> 00:40:36,730 Mən deyərdim bu kodu özünüz yaratmaq bir HTML yazmaq üçün çalışırıq çox təmiz, 676 00:40:36,730 --> 00:40:40,290 belə ki, gözəl. 677 00:40:40,290 --> 00:40:42,030 Növbəti nədir? 678 00:40:42,030 --> 00:40:49,260 İndi biz hərəkət şeyi etmək lazımdır. 679 00:40:49,260 --> 00:40:51,240 HTML formaları yazmaq Adətən zaman, 680 00:40:51,240 --> 00:40:54,070 Siz şəklində təqdim hara gedir onu demək lazımdır. 681 00:40:54,070 --> 00:40:56,050 Ən web çərçivəsində ismarıcları, 682 00:40:56,050 --> 00:40:58,200 , bu eyni URL təqdim, belə şey 683 00:40:58,200 --> 00:41:01,310 Siz / blog / yeni, bir get sorğu göndərmək əgər 684 00:41:01,310 --> 00:41:03,240 bu formu göstərmək lazımdır, 685 00:41:03,240 --> 00:41:06,810 ancaq bir post sorğu göndərmək əgər / blog / data ilə yeni, 686 00:41:06,810 --> 00:41:10,000 bu həqiqətən ki, post saxlamaq üçün cəhd etməlidir 687 00:41:10,000 --> 00:41:13,300 və bu bir şey. 688 00:41:20,630 --> 00:41:22,180 >> Biz nə olacaq edir 689 00:41:22,180 --> 00:41:25,320 əsasən bütün biz bir post sorğu və ya get tələbi var olub-olmadığını yoxlamaq üçün nə etmək lazımdır 690 00:41:25,320 --> 00:41:29,350 Siz bilərsiniz post dəyişənlər nə kontrol edir. 691 00:41:29,350 --> 00:41:34,560 Bu post dəyişən müəyyən edilir, onda biz cəhd və yeni bir vəzifə olacaq. 692 00:41:34,560 --> 00:41:38,440 Yenə biz yalnız bu, 693 00:41:38,440 --> 00:41:41,090 ki, bir yeni post yaradır, və biz sözün olacaq 694 00:41:41,090 --> 00:41:51,150 bu kimi onun sahələri qurmaq, 695 00:41:51,150 --> 00:41:55,640 və sonra biz onu saxlamaq olacaq. 696 00:41:55,640 --> 00:41:59,200 Və sonra mən yönlendirme gedirəm 697 00:41:59,200 --> 00:42:07,660 indeksi səhifəyə onlar ismarıc siyahısını bir daha görmək olar. 698 00:42:07,660 --> 00:42:09,620 Ki cəhd edək. 699 00:42:09,620 --> 00:42:15,160 I ", Brandon" demək lazımdır 700 00:42:15,160 --> 00:42:18,140 və sonra post təqdim, və bütün yaxşı gedir əgər 701 00:42:18,140 --> 00:42:21,390 Gördüyünüz kimi, bu, index səhifə üçün mənə istiqamətləndirilmişdir 702 00:42:21,390 --> 00:42:24,140 Mən aşağı diyirləyin əgər, biz yeni daxil post var. 703 00:42:24,140 --> 00:42:26,430 Yay! 704 00:42:26,430 --> 00:42:28,430 Bəli, sual. 705 00:42:28,430 --> 00:42:31,760 >> [Tələbə] Siz eyni şey girmişdi əgər 706 00:42:31,760 --> 00:42:33,380 Siz əvvəl daxil? 707 00:42:33,380 --> 00:42:36,950 Bu əmin təqlid deyil olun varmı 708 00:42:36,950 --> 00:42:38,810 Eyni təqdim? 709 00:42:38,810 --> 00:42:41,660 Default olun, heç, çünki default - 710 00:42:41,660 --> 00:42:46,470 Siz şəklində eyni data daxil əgər sorry, sual 711 00:42:46,470 --> 00:42:50,180 və, bir cüt obyekt daxil imkan verir ki, təqdim 712 00:42:50,180 --> 00:42:52,550 bir mahiyyətcə, giriş dublikat? 713 00:42:52,550 --> 00:42:54,070 Hal-hazırda, bəli, siz bunu imkan verir, 714 00:42:54,070 --> 00:42:58,860 VB-tamamilə cüt satır üçün mükəmməl etibarlı, çünki, 715 00:42:58,860 --> 00:43:02,260 ki, bir narahatlıq varsa, sonra, misal üçün, validations əlavə edə bilərsiniz, 716 00:43:02,260 --> 00:43:06,430 bu artıq mövcud olan bir şey kimi tam eyni əgər əmin etmək üçün, 717 00:43:06,430 --> 00:43:08,720 sonra bir etibarsız obyekt var ki, 718 00:43:08,720 --> 00:43:11,200 və sonra hətta səhv mesaj belirtebilirsiniz 719 00:43:11,200 --> 00:43:14,390 "Bu artıq mövcuddur, çünki Invalid" və ya kimi bir şey və demək. 720 00:43:14,390 --> 00:43:22,420 Lakin bu halda, yalnız cüt bir şey yarada bilər. 721 00:43:22,420 --> 00:43:26,010 İndi cəhd edək və bəzi validations əlavə edin. 722 00:43:26,010 --> 00:43:30,400 Bu problem indi ki, 723 00:43:30,400 --> 00:43:34,220 Mən sanki tamamilə boş post təqdim edə bilər. 724 00:43:34,220 --> 00:43:37,500 İndi bu düyməsini basın bilər və orada getmək. 725 00:43:37,500 --> 00:43:40,290 Siz, həqiqətən görmək bilməz, lakin burada bu əlavə xətt 726 00:43:40,290 --> 00:43:43,830 Mən sözün yeni bir yazı var ki, göstərir. 727 00:43:43,830 --> 00:43:46,050 Bu yalnız bir boş müəllif və boş orqan var, 728 00:43:46,050 --> 00:43:48,630 və biz bunu imkan istəmirəm. 729 00:43:48,630 --> 00:43:52,550 Qiymətləndirmə girer bu 730 00:43:52,550 --> 00:43:57,540 >> Mən model obyekt getmək bilər, 731 00:43:57,540 --> 00:43:59,530 və indi ifadə edən yeni bir funksiyası əlavə edə bilərsiniz 732 00:43:59,530 --> 00:44:02,000 Mən bu model əlavə nə qiymətləndirmə qaydaları 733 00:44:02,000 --> 00:44:06,840 etibarlı əmin etmək üçün və ya müəyyən etmək üçün nə cari post olmaq nə deməkdir? 734 00:44:06,840 --> 00:44:10,210 Mən yalnız bir etibarlı post var demək istəyirəm, əgər müəllif və bədən, həm də 735 00:44:10,210 --> 00:44:15,150 boş deyil və bu Kohana bunu necə edir. 736 00:44:15,150 --> 00:44:18,750 Siz "Qaydalar" adlı yeni funksiya yaratmaq 737 00:44:18,750 --> 00:44:20,210 və sonra əsasən bir assosiativ array qayıtmaq 738 00:44:20,210 --> 00:44:24,230 bu obyekt üçün qiymətləndirmə qaydalarını müəyyən edir. 739 00:44:24,230 --> 00:44:27,530 Biz array qayıtmaq niyyətində, sonra biz nə olacaq edirik 740 00:44:27,530 --> 00:44:32,820 demək "müəllif" bir sıra gedir, 741 00:44:32,820 --> 00:44:37,720 olan adlı bir serialın gedir "boş deyil." 742 00:44:37,720 --> 00:44:41,480 Və sonra mən demək gedirəm "bədən". 743 00:44:50,980 --> 00:44:54,120 Bu Okay, və bu sintaksis və strukturu 744 00:44:54,120 --> 00:44:56,530 bir az çətin və bir az mürəkkəb görünə bilər. 745 00:44:56,530 --> 00:44:59,330 Siz sənədləri oxumaq, bu, anlamaq üçün olduqca sadə var 746 00:44:59,330 --> 00:45:02,500 Amma mahiyyətcə bu belirttiğiniz üçün nə etmək lazımdır nə 747 00:45:02,500 --> 00:45:04,130 bəzi qiymətləndirmə qaydaları, müxtəlif qaydaları var 748 00:45:04,130 --> 00:45:06,810 Siz demək qaydaları əlavə edə bilərsiniz kimi Kohana, pulsuz üçün sizə verəcək 749 00:45:06,810 --> 00:45:08,410 ən azı bu uzunluğu olmalıdır. 750 00:45:08,410 --> 00:45:11,800 Bəlkə rəqəmli olmalıdır. Bəlkə alpha rəqəmli olmalıdır. 751 00:45:11,800 --> 00:45:14,410 Bəlkə belə və s, ən azı bu uzunluğu olmalıdır. 752 00:45:14,410 --> 00:45:17,730 Kohana sizin üçün təmin edən müxtəlif qaydaları bir çox var 753 00:45:17,730 --> 00:45:19,610 və siz, sənədlərin baxmaq, onların veb getmək bilər 754 00:45:19,610 --> 00:45:23,150 və siz edə bilərsiniz ki, bütün müxtəlif şeylər edə bilərsiniz. 755 00:45:23,150 --> 00:45:25,650 >> Amma bu nə üçün bütün, 756 00:45:25,650 --> 00:45:30,490 və indi nə görmək edək 757 00:45:30,490 --> 00:45:34,060 Mən boş post təqdim əgər. 758 00:45:34,060 --> 00:45:36,960 Nə olacaq? Oh, yox, mən bir səhv almaq. 759 00:45:36,960 --> 00:45:39,440 Mən bir qiymətləndirmə istisna almaq. 760 00:45:39,440 --> 00:45:41,070 Bəli, bu yaxşı. 761 00:45:41,070 --> 00:45:43,200 Bu, mənim model etibarsız olduğunu mənə, 762 00:45:43,200 --> 00:45:45,780 amma bir istisna göstərmək istəmirəm 763 00:45:45,780 --> 00:45:48,720 Mənim istifadəçilər üçün onlar sağ, etibarsız bir şey təqdim etmək çalıştığınızda? 764 00:45:48,720 --> 00:45:51,560 Mən onlara friendlier səhv mesajı bir növ vermək istəyirəm 765 00:45:51,560 --> 00:45:53,610 bir şey yanlış gedir zaman. 766 00:45:53,610 --> 00:46:01,830 Biz nə olacaq, biz olacaq edir 767 00:46:01,830 --> 00:46:04,490 Bir cəhd tutmaq loop hər şeyi kesmek. 768 00:46:04,490 --> 00:46:06,750 Əslində, bu da hələ öyrəndim deyil bir şey hesab 769 00:46:06,750 --> 00:46:10,820 CS50, çünki C proqramlaşdırma dili C, 770 00:46:10,820 --> 00:46:14,000 demək olar ki, hər bir digər dillərdə istisnalar var, deyil, 771 00:46:14,000 --> 00:46:16,700 , belə ki, həqiqətən, həqiqətən, qısa istisnalar var 772 00:46:16,700 --> 00:46:19,430 istisna kodu bir parça bilər ki, bir şey deyil 773 00:46:19,430 --> 00:46:21,430 bir şey yanlış gedir zaman, bir istisna atmaq 774 00:46:21,430 --> 00:46:23,410 up lakin sonra bəlkə kodu bəzi digər parça ali 775 00:46:23,410 --> 00:46:25,810 ki, istisna tutmaq və bir şey edə bilərsiniz. 776 00:46:25,810 --> 00:46:27,710 >> Məsələn, bu halda, 777 00:46:27,710 --> 00:46:29,940 bir model saxlamaq üçün çalışırıq ki, kod parça, 778 00:46:29,940 --> 00:46:33,170 "OK, bu model yanlışdır" bu model doğrular və deyir əgər, 779 00:46:33,170 --> 00:46:36,150 Bu istisna atmaq olacaq və bu ekvivalent növü 780 00:46:36,150 --> 00:46:39,870 C bir -1 və ya kimi bir şey geri bilər. 781 00:46:39,870 --> 00:46:42,320 Və sonra mənim üçün, bu funksiya, mənim kodu 782 00:46:42,320 --> 00:46:46,310 daha yüksək səviyyədə, mən istisna cəhd və tutmaq olar 783 00:46:46,310 --> 00:46:49,330 və əsasən "OK, Mən istisna tutmaq əgər, mən nə üçün gedirəm?", deyə 784 00:46:49,330 --> 00:46:51,570 Yoxsa mən ki, istisna tutmaq və kimsə ali imkan seçə bilər 785 00:46:51,570 --> 00:46:54,400 istisna tutmaq, və ya heç kim onu ​​olarsınız, 786 00:46:54,400 --> 00:46:56,820 sonra bütün proqram, qəzaları və deyir 787 00:46:56,820 --> 00:46:59,170 "Bir şey yanlış getdi və mən onu idarə edə bilməz." 788 00:46:59,170 --> 00:47:04,490 >> Amma nə biz nə, bir cəhd blok kodu bir parça kesmek edir 789 00:47:04,490 --> 00:47:09,030 və sonra siz də, bir tutmaq blok deyilən bir şey əlavə 790 00:47:09,030 --> 00:47:17,300 cəhd və ola bilər ki, istisna tutmaq ki, kodu sortudur. 791 00:47:17,300 --> 00:47:20,430 Və mən bu istisna tutmaq əgər 792 00:47:20,430 --> 00:47:23,110 və ya ləğv istisna, sonra mən nə gedirəm edir 793 00:47:23,110 --> 00:47:31,210 Mən səhvlər müəyyən gedirəm - Mən ki, mən bunu necə hesab edirəm - 794 00:47:31,210 --> 00:47:35,370 və mən bir obyekt üçün səhvlər müəyyən gedirəm. 795 00:47:35,370 --> 00:47:40,920 Bu istisna xit Və sonra mən nə gedirəm, 796 00:47:40,920 --> 00:47:43,090 bu yönlendirme deyil əgər, yönlendirme gedir, və deyil 797 00:47:43,090 --> 00:47:46,160 Bu əgər blog çıxmaq olacaq 798 00:47:46,160 --> 00:47:49,920 və mən etmək istəyirəm istəyirəm ki, bu blog / yeni hit. 799 00:47:49,920 --> 00:47:53,190 Bir səhv, onda mən şəklində geri getmək istəyirəm 800 00:47:53,190 --> 00:47:55,100 və həmin səhvləri göstərilir. 801 00:47:55,100 --> 00:48:00,780 İndi nə etmək istədiklərini mən bu səhvlər keçmək istəyirəm 802 00:48:00,780 --> 00:48:07,010 görünüşü üçün. 803 00:48:07,010 --> 00:48:10,360 Okay, mən burada görünüşü var 804 00:48:10,360 --> 00:48:14,660 və əsasən mən varsa həmin səhvləri göstərmək istəyirəm. 805 00:48:14,660 --> 00:48:19,740 Mən ki, HTML yazmaq əvvəl, mən, həqiqətən, tez gedirəm 806 00:48:19,740 --> 00:48:21,720 Bu səhvlərin quruluşu dəyişən görünür istəyirəm nə göstərmək, 807 00:48:21,720 --> 00:48:23,080 və bu, ümumiyyətlə yaxşı bir təcrübə deyil. 808 00:48:23,080 --> 00:48:25,070 Bir çox dəfə, siz geri bir üsulu bir şey almaq 809 00:48:25,070 --> 00:48:27,250 web çərçivəsində bəzi funksiyası, 810 00:48:27,250 --> 00:48:29,410 və siz dəyişən kimi görünür nə bilmirəm 811 00:48:29,410 --> 00:48:31,210 belə ki, bu iş necə bilmirəm. 812 00:48:31,210 --> 00:48:37,790 Mən əsasən onu çap üçün çap r metodu istifadə gedirəm. 813 00:48:37,790 --> 00:48:41,100 Gördüyünüz kimi >> Və, o, asılı array var mənə deyir 814 00:48:41,100 --> 00:48:44,880 və siz, bu simli üçün əsas, müəllif, xal var 815 00:48:44,880 --> 00:48:47,050 müəllif boş ola bilər, və başqa əsas, bədən, olmaz 816 00:48:47,050 --> 00:48:49,680 başqa string, bədən bal boş olmamalıdır. 817 00:48:49,680 --> 00:48:52,130 Mən sərin, tamam, kimi deyiləm. 818 00:48:52,130 --> 00:48:56,230 Sonra array vasitəsilə təkrarlamaq və hər bir mesaj çap edə bilərsiniz. 819 00:48:56,230 --> 00:49:02,150 Bu mesaj bir dəstə ilə assosiativ array kimi əsasən var. 820 00:49:02,150 --> 00:49:13,500 Mən gedirəm ", əgər səhvlər" dir 821 00:49:13,500 --> 00:49:17,140 və mən bir unordered siyahısını yaratmaq üçün gedirəm, 822 00:49:17,140 --> 00:49:20,860 və bütün səhvlər vasitəsilə təkrarlamaq üçün gedirəm. 823 00:49:33,730 --> 00:49:38,710 Və bu, və indi yenidən bu təqdim cəhd gedirəm 824 00:49:38,710 --> 00:49:41,200 və biz almaq nə görmək edək. 825 00:49:41,200 --> 00:49:45,370 İndi biz səhvlərin bu gözəl siyahısını almaq 826 00:49:45,370 --> 00:49:48,630 və bu hələ olduqca çirkin, lakin bu açıq-aydın gözəl baxmaq biçimlendirilmiş bilər 827 00:49:48,630 --> 00:49:51,620 lakin əsas ideyası, yalnız kodu bir neçə xətləri var 828 00:49:51,620 --> 00:49:53,720 Biz model doğrulamak etmək idi, 829 00:49:53,720 --> 00:49:56,510 müəyyən sahələri boş deyil ki, əmin olun, 830 00:49:56,510 --> 00:49:59,740 və bir şey yanlış getdi əgər, sonra səhv mesajı bir növ qayıtmaq 831 00:49:59,740 --> 00:50:01,760 Mən istifadəçi geri təqdim edə bilər. 832 00:50:01,760 --> 00:50:03,910 Siz həmçinin qiymətləndirmə edə bilərsiniz 833 00:50:03,910 --> 00:50:07,590 Siz, həqiqətən, bir səhv mesajı ola bilər ki, 834 00:50:07,590 --> 00:50:09,620 ki, öz proqram və ya kimi bir şey üçün daha xarakterikdir. 835 00:50:09,620 --> 00:50:14,600 Bütün ümumiyyətlə özelleştirilebilir. 836 00:50:14,600 --> 00:50:17,150 >> Təəssüf ki, biz, vaxt həyata çalışan edirik 837 00:50:17,150 --> 00:50:20,040 mən burada canlı kodlaşdırma sessiya kəsmək üçün gedirəm. 838 00:50:20,040 --> 00:50:22,980 Mən sizin üçün nümayiş etmək istəyirəm ki, digər funksiyalar bir dəstə var 839 00:50:22,980 --> 00:50:25,650 bu nümunə. 840 00:50:25,650 --> 00:50:27,620 Məsələn, sizin saytınıza şablonları əlavə edə bilərsiniz, 841 00:50:27,620 --> 00:50:31,110 belə ki, bəlkə sizə müraciət etmək istəyirəm ki, HTML kodu bir növ var 842 00:50:31,110 --> 00:50:35,190 Sizin sayta hər bir səhifə üçün, əvəzinə sovuşdurmaq ki, 843 00:50:35,190 --> 00:50:40,630 hər bir görünüşü faylı, açıq-aydın bir pis təcrübə olacaq var 844 00:50:40,630 --> 00:50:43,020 əsasən bu şablonları müəyyən edə bilərsiniz, 845 00:50:43,020 --> 00:50:46,660 və sonra nəzarətçi "OK, Mən bu şablonu istifadə edirəm." deyirlər 846 00:50:46,660 --> 00:50:50,130 "Bütün views bu şablonu istifadə etdiniz." 847 00:50:50,130 --> 00:50:52,470 Və mən də sizə nümayiş etdirmək istədiyiniz son şey 848 00:50:52,470 --> 00:50:57,800 biz, cross-site scripting üçün vaxt yoxdur ki, 849 00:50:57,800 --> 00:51:01,430 və əsasən Mən sizə uşaqlar yəqin ki, CS50 gördük edirəm - 850 00:51:01,430 --> 00:51:03,770 Mən David Malan yəqin ki, siz adətən yeritmək bilər necə haqqında danışdı düşünmək 851 00:51:03,770 --> 00:51:08,040 Daxil JavaScript kodu - Bu barədə danışdıq? 852 00:51:08,040 --> 00:51:10,220 Bəlkə? Bəlkə deyil? 853 00:51:10,220 --> 00:51:12,670 >> Lakin bir çox dəfə siz zərərli JavaScript kodu yeritmək bilər 854 00:51:12,670 --> 00:51:15,630 kiminsə bazasında və onlar düzgün xilas yoxdur, əgər, 855 00:51:15,630 --> 00:51:18,280 onlar geri istifadəçi məlumat təqdim zaman, 856 00:51:18,280 --> 00:51:21,310 sonra siz baş istəmirəm təsadüfi JavaScript kodu bir növ ola bilər, 857 00:51:21,310 --> 00:51:23,050 və mən Kohana ərzində bunu istədiyiniz necə nümayiş etdirmək niyyətində idi. 858 00:51:23,050 --> 00:51:25,380 Bu, həqiqətən, həqiqətən, həqiqətən asandır. 859 00:51:25,380 --> 00:51:31,920 Mən sözün 2 saniyə indi bunu edə bilər. 860 00:51:31,920 --> 00:51:34,560 Siz var Bütün əsasən bu şeyi kesmek edir 861 00:51:34,560 --> 00:51:46,920 bu şey HTML şəxslərin çağırıb. 862 00:51:46,920 --> 00:51:51,180 Və avtomatik olaraq düzgün bütün simvol xilas edəcək 863 00:51:51,180 --> 00:51:54,730 və bu problem almaq deyil əmin olun. 864 00:51:54,730 --> 00:51:57,220 [Tələbə] Siz səhv ilk test yazıldığına. 865 00:51:57,220 --> 00:52:01,030 [Brandon Liu] oops, Oh. 866 00:52:01,030 --> 00:52:06,420 >> Okay, mən bu gün sizinlə bölüşmək idi bütün var. 867 00:52:06,420 --> 00:52:09,930 Bu slaydlar olunub olacaq, lakin bu ümumiyyətlə 868 00:52:09,930 --> 00:52:13,900 yalnız resursları həqiqətən Kohana başlamaq lazımdır olmalıdır. 869 00:52:13,900 --> 00:52:16,770 Siz web bilərsiniz. Onlar istifadəçi təlimatına var və onlar da bir API explorer var. 870 00:52:16,770 --> 00:52:20,630 Biz onlar sizin üçün bütün müxtəlif funksiyaları və köməkçi funksiyaları tədqiq edə bilərsiniz. 871 00:52:20,630 --> 00:52:22,070 Onlar ümumiyyətlə saytında kifayət qədər məlumat var 872 00:52:22,070 --> 00:52:25,310 Siz başlamaq üçün və Kohana ilə başlamaq istifadə edə bilərsiniz ki. 873 00:52:25,310 --> 00:52:30,840 Ki, bir çox tutorials kənarda, Kohana üçün, mən hesab edirəm ki, yoxdur 874 00:52:30,840 --> 00:52:33,880 nə onlar burada saytında var, belə ki, bu, yəqin ki, ən yaxşı şey deyil. 875 00:52:33,880 --> 00:52:35,600 Amma web çərçivəsində getmək istəyirsinizsə 876 00:52:35,600 --> 00:52:37,120 və yeni bir dil seçin var istəmirəm, 877 00:52:37,120 --> 00:52:39,780 və siz, nisbətən yüngül və asan bir öyrənmə curve var ki, bir şey istəyirəm 878 00:52:39,780 --> 00:52:41,570 Mən mütləq Kohana təklif edir. 879 00:52:41,570 --> 00:52:44,040 Bu yəqin ki, ən yaxşı təklif edir. 880 00:52:44,040 --> 00:52:46,830 Biz Rails haqqında Ruby istifadə edilmişdir funny şey, baxmayaraq ki, 881 00:52:46,830 --> 00:52:48,550 biz yalnız nə təkrar ola bilər 882 00:52:48,550 --> 00:52:51,430 və yəqin ki, 3 dəqiqə altında daha. 883 00:52:51,430 --> 00:52:54,710 No zarafat, lakin Rails haqqında Ruby öyrənmək çox uzun çəkir 884 00:52:54,710 --> 00:52:56,780 Bu Kohana öyrənmək almaq daha. 885 00:52:56,780 --> 00:52:58,840 Bu, siz öyrənmək seçə istəyirəm nə əsasən sizin seçimi var 886 00:52:58,840 --> 00:53:01,260 amma siz və tez çalışan almaq istəyirsinizsə, 887 00:53:01,260 --> 00:53:03,870 Kohana mütləq çox yaxşı bir seçimdir. 888 00:53:03,870 --> 00:53:06,730 >> Biz başa hər hansı bir son suallar əvvəl? Bəli. 889 00:53:06,730 --> 00:53:08,020 [Tələbə] Necə ki, inteqrə 890 00:53:08,020 --> 00:53:13,120 Siz təlimatlandırılması zaman siz istifadə kimi bir CSS çərçivəsində? 891 00:53:13,120 --> 00:53:16,700 Sualına necə biz CSS çərçivəsində ilə inteqrasiya olardı? 892 00:53:16,700 --> 00:53:18,740 Nə biz yəqin ki, nə olardı biz yəqin ki, daxil olardı 893 00:53:18,740 --> 00:53:21,090 biz bütün CSS faylları dump harada yeni bir qovluq, 894 00:53:21,090 --> 00:53:23,010 və sonra da yeni bir şablon əlavə ediyorum. 895 00:53:23,010 --> 00:53:26,090 Şablon biz o CSS faylları daxildir istədiyiniz 896 00:53:26,090 --> 00:53:28,410 onlar hər səhifədə istinad etdiyiniz əmin etmək üçün, 897 00:53:28,410 --> 00:53:32,220 və sonra həqiqətən HTML yazılı zaman, 898 00:53:32,220 --> 00:53:34,010 yalnız müvafiq dərsləri və etajer əlavə, 899 00:53:34,010 --> 00:53:36,100 və məsələn, zaman forma kimi bir şey istifadə etdiyiniz 900 00:53:36,100 --> 00:53:40,710 köməkçi funksiyası, siz sonra daha parametrləri əlavə edə bilərsiniz 901 00:53:40,710 --> 00:53:42,830 müxtəlif şeylər əlavə etmək istəyirəm nə dərsləri müəyyən etmək 902 00:53:42,830 --> 00:53:47,820 onlar düzgün stil bilər, və siz getmək necə əsasən var. 903 00:53:47,820 --> 00:53:50,100 >> Hansı digər suallar? 904 00:53:50,100 --> 00:53:52,090 Awesome. 905 00:53:52,090 --> 00:53:58,540 Zaman üçün təşəkkür edirik və gələn üçün təşəkkür edirik. 906 00:53:58,540 --> 00:54:05,170 Mən çox başqa əlavə niyyətində deyil 907 00:54:05,170 --> 00:54:08,560 lakin 1 həqiqətən sürətli olan bir link yoxdur 908 00:54:08,560 --> 00:54:12,590 şəklində. 909 00:54:12,590 --> 00:54:14,310 Həqiqətən lal. 910 00:54:14,310 --> 00:54:20,110 Bir əlavə edək - əslində baxımından, blog, index, 911 00:54:20,110 --> 00:54:23,890 yeni səhifədən gedir ki, bir link əlavə həqiqətən tez edək, 912 00:54:23,890 --> 00:54:26,770 biz yeni bir yazı əlavə edə bilərsiniz harada səhifə. 913 00:54:26,770 --> 00:54:29,950 Biz bunu olacaq. 914 00:54:29,950 --> 00:54:34,020 Nə gözəl HTML köməkçi funksiyaları bu bütün qrup var edir 915 00:54:34,020 --> 00:54:37,090 sizin üçün müxtəlif şeylər, belə ki, artıq şəxslərin gördüm 916 00:54:37,090 --> 00:54:41,980 "anker" Burada fəaliyyət, lakin onlar da deyilən bir funksiyası var 917 00:54:41,980 --> 00:54:45,400 Siz blog / yeni yazın bilər 918 00:54:45,400 --> 00:54:49,550 və "Yeni bir blog." demək 919 00:54:49,550 --> 00:54:51,850 Və bu, sizin üçün link yaradacaq 920 00:54:51,850 --> 00:54:54,120 və bunu həqiqətən mənasız görünür, lakin bu gözəl 921 00:54:54,120 --> 00:54:58,720 1 domain başqa üçün web hərəkət olduğunu güman çünki. 922 00:54:58,720 --> 00:55:01,390 Və yalnız URL'leri özünüzü həyata yazdığı halda, 923 00:55:01,390 --> 00:55:04,350 sonra bütün URL'leri dəyişdirmək lazımdır. 924 00:55:04,350 --> 00:55:06,850 Və ya bəlkə siz başqa alt 1 alt onu köçürülüb. 925 00:55:06,850 --> 00:55:08,790 Siz bütün bu url özünüz dəyişdirmək lazımdır 926 00:55:08,790 --> 00:55:12,180 və heç bir əyləncə var. 927 00:55:12,180 --> 00:55:14,510 Siz burada bu anker istifadə edə bilərsiniz 928 00:55:14,510 --> 00:55:18,950 və domain və ya alt prefiks dəyişə bilərsiniz 929 00:55:18,950 --> 00:55:20,640 bir konfiqurasiya faylı 930 00:55:20,640 --> 00:55:22,980 və sonra hər yerdə tətbiq edəcək və bu yenidən, 931 00:55:22,980 --> 00:55:26,930 böyük bir nümunəsidir kodunuzu həyata qurutma, özünüzü təkrar etməyin. 932 00:55:26,930 --> 00:55:30,370 Özünüzü təkrar etdiyiniz yerdə, cəhd və konfiqurasiya faylını bir növ çıxarış 933 00:55:30,370 --> 00:55:34,160 və ya başqa bir funksiyası və bu sizin üçün idarə edir. 934 00:55:34,160 --> 00:55:42,930 >> Mən sizə göstərmək istəyirdi ki, son şey idi 935 00:55:42,930 --> 00:55:50,250 biz bu vəzifədə geri istəyirik, və mən həqiqətən uzun inşa ibarət ki, güman, 936 00:55:50,250 --> 00:55:52,670 lakin mən müəllifi daxil unuttum. 937 00:55:52,670 --> 00:55:55,210 İndi "Post Submit" basın zaman 938 00:55:55,210 --> 00:55:57,270 Mən hər şey itirdi. 939 00:55:57,270 --> 00:56:00,000 Xeyr! Həqiqətən kədərli. 940 00:56:00,000 --> 00:56:03,870 Belə ki, necə ki, ilə məşğul yoxdur? 941 00:56:03,870 --> 00:56:06,070 Bu nə edir. 942 00:56:06,070 --> 00:56:09,340 Biz nə bu giriş və mətn sahəsi funksiyaları üçün burada, 943 00:56:09,340 --> 00:56:12,700 biz ikinci parametri, ikinci parametri sonra dəyəri daxildir əgər 944 00:56:12,700 --> 00:56:16,620 sahəsində ilkin məskunlaşdığı olacaq nə olacaq. 945 00:56:16,620 --> 00:56:23,570 Biz nə edə bilər bizim blog nəzarətçi edir, 946 00:56:23,570 --> 00:56:25,360 biz bir dəyişən bind bilər. 947 00:56:25,360 --> 00:56:27,050 Bəlkə "dəyərlər" zəng. 948 00:56:27,050 --> 00:56:30,620 Və sanki post array keçmək. 949 00:56:30,620 --> 00:56:32,620 Ki, doğrulama uğursuz əgər o deməkdir ki, 950 00:56:32,620 --> 00:56:36,570 mənə Mən son tələbi təqdim ki, post array keçir, 951 00:56:36,570 --> 00:56:38,420 ki, yol mən son təqdim olan dəyərləri istifadə edə bilərsiniz 952 00:56:38,420 --> 00:56:44,540 sahələri repopulate üçün. 953 00:56:44,540 --> 00:56:49,600 İndi dəyərlər müəllifi kimi bir şey edə bilərsiniz 954 00:56:49,600 --> 00:56:55,180 Mən bəzi təsadüfi məhsulları və əgər indi bədən ki, yol dəyərlər 955 00:56:55,180 --> 00:57:01,490 və sonra orada qalır ", Post Submit" basın. 956 00:57:01,490 --> 00:57:03,830 Amma biz başqa problem daxil olacaq. 957 00:57:03,830 --> 00:57:07,670 Mən page ilk dəfə getmək əgər ki, işləyir, lakin 958 00:57:07,670 --> 00:57:09,720 qəza olacaq ki, var çox ilk dəfə çünki 959 00:57:09,720 --> 00:57:13,730 biz sayfasına getmək, bu post dəyişən hələ müəyyən olunmayıb. 960 00:57:13,730 --> 00:57:18,170 Bu null var. Bu mövcud deyil. 961 00:57:18,170 --> 00:57:21,630 Bu əsas varsa >> Və nə biz demək istəyirəm ki, 962 00:57:21,630 --> 00:57:27,750 sonra bu serialın dəyəri qayıtmaq, 963 00:57:27,750 --> 00:57:30,450 əsas yoxdur əgər, sonra bir boş string qayıtmaq. 964 00:57:30,450 --> 00:57:32,150 Yəni, biz burada istədiyimiz funksionallığı var. 965 00:57:32,150 --> 00:57:34,690 Biz əsas array daxil olmaq üçün çalışır əvvəl mövcud yoxlamaq istəyirsinizsə, 966 00:57:34,690 --> 00:57:36,580 və xoşbəxtlikdən kifayət qədər, 967 00:57:36,580 --> 00:57:38,570 Kohana də bizə bir köməkçi funksiyası verir. 968 00:57:38,570 --> 00:57:41,040 Onlar funksiyaları bu bütün suite var 969 00:57:41,040 --> 00:57:43,660 adı Varış altında, qısa array üçün, 970 00:57:43,660 --> 00:57:45,800 və onlar "almaq" adlı 1 funksiyası var 971 00:57:45,800 --> 00:57:48,690 və siz array keçmək bilər, 972 00:57:48,690 --> 00:57:50,740 və əsas adı keçə bilər. 973 00:57:50,740 --> 00:57:54,330 Sonra əsasən nə edəcəyik ki, açarı almaq üçün cəhd edir, 974 00:57:54,330 --> 00:57:56,470 lakin əsas array mövcud olmadıqda, 975 00:57:56,470 --> 00:58:00,900 , mən inanıram ki, o boş qayıdacaqlar, və ya biz də bir default belirtebilirsiniz 976 00:58:00,900 --> 00:58:03,500 olan gözəldir. 977 00:58:09,740 --> 00:58:13,150 İndi biz yenə eyni şey varsa, 978 00:58:13,150 --> 00:58:15,970 sonra, onun ətrafında ilk dəfə işləyir indi bax 979 00:58:15,970 --> 00:58:18,080 və yenə biz bəzi təsadüfi məhsulları yazın əgər 980 00:58:18,080 --> 00:58:23,210 və sonra orada qalır, cəhd və təqdim. 981 00:58:23,210 --> 00:58:31,640 >> Və mən də necə, həqiqətən, tez bir şablon əlavə etmək üçün sizə göstərmək olar danışarlar. 982 00:58:31,640 --> 00:58:36,140 Biz ilk nə edə bilər biz "template.php" adlı yeni görünüşü əlavə edə bilərsiniz 983 00:58:36,140 --> 00:58:38,890 Bu Views qovluğu ərzində 984 00:58:38,890 --> 00:58:44,730 və nə mən gedirəm ", content" Mən adlı bir şey çap gedirəm edir 985 00:58:44,730 --> 00:58:49,130 mənim əsas content olacaq olan. 986 00:58:49,130 --> 00:58:51,380 Və bəlkə çox alt Mən, demək, əlavə etmək üçün gedirəm 987 00:58:51,380 --> 00:58:53,340 copyright. 988 00:58:53,340 --> 00:58:56,150 [Işitilemez tələbə sual] 989 00:58:56,150 --> 00:58:58,050 [Brandon Liu] Bəlkə bu mən istifadə etmək istədiyiniz bir super əsas şablon edir. 990 00:58:58,050 --> 00:59:02,840 Mən hər bir səhifəsində mənim müəllif ilə bir qovluq var istəyirəm, 991 00:59:02,840 --> 00:59:05,560 və indi mən nəzarətçi ərzində gedirəm nə 992 00:59:05,560 --> 00:59:07,740 əvəzinə söyləyərək, indi "Controller uzanır" 993 00:59:07,740 --> 00:59:11,870 I ", Controller_Template uzanır" demək gedirəm 994 00:59:11,870 --> 00:59:15,890 əvəzinə deyərək və indi ", cavab bədən, bu görünüşü bərabərdir" 995 00:59:15,890 --> 00:59:24,110 Mən demək gedirəm "Bu şablon content edir -" 996 00:59:24,110 --> 00:59:27,690 və mən hesab edirəm - Mən bir bərabər işarəsi qoymaq bilərəm? 997 00:59:27,690 --> 00:59:32,710 Mən unutmuram. Bəli, mən belə düşündüm. 998 00:59:32,710 --> 00:59:37,710 Və indi content dəyişən görünüşü bərabər seçin. 999 00:59:37,710 --> 00:59:40,960 Mən burada eyni edə bilərsiniz. 1000 00:59:49,620 --> 00:59:57,170 Mən yenileyin və indi, siz bu copyright orada əlavə indi bilərsiniz 1001 00:59:57,170 --> 01:00:00,350 və yalnız bir təsadüfi post etmək, 1002 01:00:00,350 --> 01:00:06,760 və sonra, yenidən, siz müəllif hüquqları səhifə çox altında olduğunu görəcəksiniz. 1003 01:00:06,760 --> 01:00:10,730 >> Great. Mən sizə uşaqlar göstərmək istəyirdi bütün var. 1004 01:00:10,730 --> 01:00:14,970 [Alqış] 1005 01:00:14,970 --> 01:00:18,950 Hər hansı bir sualınız? 1006 01:00:18,950 --> 01:00:21,000 [CS50.TV]