1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [8 savaitė, Tęsinys] 2 00:00:02,000 --> 00:00:04,000 [David J. Malan] [Harvardo universiteto] 3 00:00:04,000 --> 00:00:08,000 [Tai CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:13,000 >> Tai CS50, todėl tai yra 8 Savaitės čia pabaiga. 5 00:00:13,000 --> 00:00:16,000 Mes, žinoma, buvo šiek tiek per uraganą anksčiau šią savaitę, 6 00:00:16,000 --> 00:00:19,000 kad dabar tai tikrai tik tu ir aš Ši paskaita salėje, 7 00:00:19,000 --> 00:00:22,000 tačiau šiandien mes ir toliau mūsų pokalbį apie PHP 8 00:00:22,000 --> 00:00:25,000 ir apie web programavimą apskritai, ir mes taip pat pristatyti idėją 9 00:00:25,000 --> 00:00:29,000 duomenų bazių, ypač vienas vadinamas MySQL, kuris yra gana populiarus šių dienų, 10 00:00:29,000 --> 00:00:34,000 didele dalimi dėl jo mastelio, taip pat dėl ​​to, kad jos yra nemokama ir atviro kodo. 11 00:00:34,000 --> 00:00:37,000 >> Bet pirmiausia, kur mes baigėte paskutinį kartą išvaizdą. 12 00:00:37,000 --> 00:00:40,000 Prisiminkite, kad mes ieškojome kelių Frosh momentiniams žinučių pavyzdžių, 13 00:00:40,000 --> 00:00:44,000 ir tai buvo šlykštus forma, kad aš atėjau su 15 + metų 14 00:00:44,000 --> 00:00:49,000 norint turėti studentus į universiteto pirmakursis vidines sporto registre 15 00:00:49,000 --> 00:00:52,000 be realiai Persikelti nebėra per kiemą Wigglesworth 16 00:00:52,000 --> 00:00:56,000 skaidrių fizinį popieriaus lapo apačioje kai Procter duris. 17 00:00:56,000 --> 00:00:59,000 Vietoj to mes persikėlė viską internetu, bet padaryti, kad mums reikia pasinaudoti 18 00:00:59,000 --> 00:01:03,000 kelias technologijas, todėl vienas, mums reikia HTML Hypertext Markup Language, 19 00:01:03,000 --> 00:01:07,000 o tai vėlgi tai yra žymėjimo kalba, su kuria jūs tinklalapius struktūriškai. 20 00:01:07,000 --> 00:01:10,000 >> Naudojant CSS tiek šių dienų, Cascading Style Sheets, 21 00:01:10,000 --> 00:01:16,000 , kuriuo mes naudojame stylizations tinklalapį naudojant šiek tiek kitokią sintaksę, 22 00:01:16,000 --> 00:01:19,000 kadangi HTML buvo visa informacija apie jų struktūrą. 23 00:01:19,000 --> 00:01:21,000 Mums taip pat reikia įvesti programavimo kalbą. 24 00:01:21,000 --> 00:01:25,000 Šiuo atveju, mes naudoti PHP ir PHP leidžia mums 25 00:01:25,000 --> 00:01:28,000 dinamiškai išvesties turinio, taip pat daryti programinius dalykus, pavyzdžiui, 26 00:01:28,000 --> 00:01:33,000 siųsti elektroninius laiškus, kaip buvo atveju pastabos, mes palikome praėjusią savaitę. 27 00:01:33,000 --> 00:01:35,000 >> Prisiminkite, kad šis kodeksas buvo 2 dalis. 28 00:01:35,000 --> 00:01:38,000 Vienas, mes turėjome froshims3.php 29 00:01:38,000 --> 00:01:42,000 ir tai buvo daugiausia žymėjimo HTML formą viduje ji, 30 00:01:42,000 --> 00:01:45,000 Odrobineczkę CSS čia, stiliaus atributais 31 00:01:45,000 --> 00:01:48,000 taip, kad forma pati būtų orientuota į puslapį, bet be to 32 00:01:48,000 --> 00:01:51,000 mes turėjome atstovai formų įvedimo, į teksto lauką, žymėjimą, 33 00:01:51,000 --> 00:01:55,000 kai radijo mygtukus, pasirinkite meniu ir mygtuką "Siųsti". 34 00:01:55,000 --> 00:02:01,000 Ir per šią formą, mes pateikti failą, kuris, matyt, buvo vadinamas register3.php 35 00:02:01,000 --> 00:02:04,000 kuri pati atrodė šiek tiek kažką panašaus į tai. 36 00:02:04,000 --> 00:02:08,000 Dabar, dauguma, prisiminti, register3.php kodas buvo visa informacija apie elektroninio pašto. 37 00:02:08,000 --> 00:02:11,000 Tai šiek tiek patvirtinimo formą, kuri buvo pateikta įsitikinti, 38 00:02:11,000 --> 00:02:14,000 kad laukai buvo iš tikrųjų su sąlyga, kad buvo tikimasi. 39 00:02:14,000 --> 00:02:18,000 Tada mes vadinami PHP funkcijas, naudojant šiek tiek naujos sintaksės, 40 00:02:18,000 --> 00:02:20,000 nors tai pasiskolintas iš C 41 00:02:20,000 --> 00:02:24,000 >> Ši rodyklė operatorius leidžia mums pasinaudoti Objektinis programavimas kažką vadinama. 42 00:02:24,000 --> 00:02:27,000 Mes ne eiti į bet išsamiai čia, bet žinau, dabar 43 00:02:27,000 --> 00:02:31,000 tai būdas turėti funkcijas, susijusias su objektais, 44 00:02:31,000 --> 00:02:34,000 kurios yra specialaus tipo struktūra, kaip matėme C. 45 00:02:34,000 --> 00:02:37,000 Bet dabar, tiesiog dėl tikėjimo, kad tai yra teisinga sintaksė naudoti 46 00:02:37,000 --> 00:02:41,000 kai naudojant biblioteką kaip šis phpmailer bibliotekoje. 47 00:02:41,000 --> 00:02:44,000 Ir tada šio failo pabaigoje mes turėjome dinamiškai generuojami laišką 48 00:02:44,000 --> 00:02:47,000 kad gavo išsiųstas į mano jharvard@cs50.net sąskaitą 49 00:02:47,000 --> 00:02:50,000 iš mano jharvard@cs50.net sąskaitą, 50 00:02:50,000 --> 00:02:54,000 ir mes apie tai vartotojui, kad jie buvo įregistruotas šio sporto. 51 00:02:54,000 --> 00:02:57,000 Kad yra gana daug, ką infrastruktūros valdytojai puslapį Frosh padarė visus tuos metus 52 00:02:57,000 --> 00:03:00,000 kai aš jį įgyvendino, suteikta kita kalba, 53 00:03:00,000 --> 00:03:02,000 bet tai rodo, tai turbūt galios, kad jūs turite 54 00:03:02,000 --> 00:03:05,000 dabar, kad jūs galite išreikšti save ne tik programiškai 55 00:03:05,000 --> 00:03:08,000 žemo lygio kalba kaip C, bet daug aukštesnio lygio 56 00:03:08,000 --> 00:03:11,000 su šiais labai realaus pasaulio, pavyzdžiui, elektroninio pašto, kad iš tikrųjų išspręsti 57 00:03:11,000 --> 00:03:13,000 keletas realių pasaulio problemų. 58 00:03:13,000 --> 00:03:16,000 >> Dabar, žinoma, nors aš naudoju šį scenarijų sukurti dar 59 00:03:16,000 --> 00:03:20,000 laiškus dinamiškai jharvard@cs50.net, kuris iš tiesų yra sąskaitos 60 00:03:20,000 --> 00:03:23,000 kad aš turiu priėjimą prie, nereikia būti labai atsargūs, kad siųsti 61 00:03:23,000 --> 00:03:26,000 paštu tik iš sąskaitų, kurie iš tikrųjų savo, 62 00:03:26,000 --> 00:03:30,000 kitaip dalykų jums į karšto vandens, tiek gyvenime. 63 00:03:30,000 --> 00:03:35,000 Turint tai sakė, tegul dabar perėjimas į kitą problemą spręsti apskritai, 64 00:03:35,000 --> 00:03:37,000 kad saugoti valstybėmis. 65 00:03:37,000 --> 00:03:39,000 Dabar, ką tai iš tikrųjų reiškia? 66 00:03:39,000 --> 00:03:42,000 HTTP, šis hiperteksto perdavimo protokolas, 67 00:03:42,000 --> 00:03:45,000 iš tikrųjų yra be pilietybės protokolas, ir ką tai reiškia, kad 68 00:03:45,000 --> 00:03:48,000 kai jūs atsigriebti Google.com kažką panašaus ir tada paspauskite Enter 69 00:03:48,000 --> 00:03:51,000 paprastai jūsų naršyklė turi kažkokį verpimo piktogramą, kad tada 70 00:03:51,000 --> 00:03:54,000 rezultatai kai kurių interneto puslapyje parsisiųsti, 71 00:03:54,000 --> 00:03:57,000 ir tada, kad šiek tiek piktograma sustoja verpimo, ir kad iš tiesų rodo 72 00:03:57,000 --> 00:04:02,000 HTTP baigė kažkokį ryšį su serveriu ir viskas. 73 00:04:02,000 --> 00:04:05,000 HTTP yra be pilietybės prasme, kad ji neteigia 74 00:04:05,000 --> 00:04:08,000 nuolatinis ryšys su serveriu, tokiu pat būdu "Skype" nėra 75 00:04:08,000 --> 00:04:11,000 arba gchat daro, nes su HTTP 76 00:04:11,000 --> 00:04:15,000 daroma prielaida, kad, kai jūs paėmė tinklalapį, kad viskas. 77 00:04:15,000 --> 00:04:18,000 >> Dabar iš tikrųjų šių dienų svetainių, kaip "Facebook" ir "Google Maps" 78 00:04:18,000 --> 00:04:21,000 ir "Twitter" ir kaip ten yra daug daugiau dinamiškumo, kad 79 00:04:21,000 --> 00:04:25,000 net po to, piktograma sustoja verpimui, galite iš tikrųjų gauti daugiau atnaujinimų 80 00:04:25,000 --> 00:04:29,000 serverio, daugiau "Twitter", "Facebook" Būsenos atnaujinimai ir pan. 81 00:04:29,000 --> 00:04:33,000 Bet net ir tai naudojant techniką, kad mes kalbame apie savaitę ar dvi 82 00:04:33,000 --> 00:04:36,000 žinomas kaip Ajax, naudojant kalba vadinama "JavaScript", 83 00:04:36,000 --> 00:04:38,000 bet dienos pabaigoje, HTTP yra be pilietybės. 84 00:04:38,000 --> 00:04:42,000 Ir dar, jei norite kažkaip prisiminti dalykų apie vartotoją 85 00:04:42,000 --> 00:04:44,000 net po to, kai jie jau atjungtas nuo jūsų serveryje 86 00:04:44,000 --> 00:04:47,000 PHP suteikti jums tai daryti 87 00:04:47,000 --> 00:04:52,000 , nes, kaip matėme paskutinį kartą, PHP turi daug superglobals 88 00:04:52,000 --> 00:04:55,000 superglobal, vėlgi, speciali pasaulio kintamasis 89 00:04:55,000 --> 00:04:59,000 kad perduodamas žiniatinklio serverio ir PHP pati. 90 00:04:59,000 --> 00:05:02,000 >> Jums nereikia nieko daryti, įdėti vertybes, 91 00:05:02,000 --> 00:05:05,000 mes matėme iki šiol tarp superglobals GET ir POST 92 00:05:05,000 --> 00:05:08,000 kur yra formos laukus automatiškai už jus, 93 00:05:08,000 --> 00:05:11,000 taip pat, kad mes nematėme dar pora kitų. 94 00:05:11,000 --> 00:05:17,000 Viduje $ _SERVER yra kai kurie specialūs kintamieji, susiję su paties serverio. 95 00:05:17,000 --> 00:05:22,000 Kas yra IP adresas, protokolas, HTTP ar HTTPS Jūs naudojatės, 96 00:05:22,000 --> 00:05:25,000 užklausos metodas jūs naudojate ir kaip, kad yra keletas įdomus, 97 00:05:25,000 --> 00:05:29,000 sultingas informacija apie serverį, ir iš tiesų, ten vartotojas taip pat. 98 00:05:29,000 --> 00:05:33,000 Yra $ _cookie, kur yra šie dalykai vadinami Slapukai saugomi. 99 00:05:33,000 --> 00:05:36,000 Mes ne praleisti laiką slapukus save šiandien 100 00:05:36,000 --> 00:05:40,000 bet žinau, kad Slapukas - tai tik maža dalis informacijos 101 00:05:40,000 --> 00:05:43,000 kad žiniatinklio serveris gali sodinti interneto naršyklėje 102 00:05:43,000 --> 00:05:46,000 ir, savo ruožtu savo RAM arba savo kompiuterio kietajame diske 103 00:05:46,000 --> 00:05:49,000 saugoti informaciją apie klientą, pavyzdžiui, savo vartotojo vardą 104 00:05:49,000 --> 00:05:52,000 taip, kad jie neturi įveskite jį kiekvieną kartą prisijungiant arba kai 105 00:05:52,000 --> 00:05:55,000 unikalus numeris, ar to vartotojo identifikatorius 106 00:05:55,000 --> 00:05:58,000 taip, kad jūs neturite kvaršinti jiems klausimus apie tos pačios rūšies 107 00:05:58,000 --> 00:06:00,000 lengvatos ateityje, tačiau dauguma interesų 108 00:06:00,000 --> 00:06:02,000 dabar yra $ _SESSION. 109 00:06:02,000 --> 00:06:07,000 >> Ši superglobal, kuris, kaip ir kiti, yra perduodamas automatiškai by PHP 110 00:06:07,000 --> 00:06:10,000 kai rašote PHP-svetaines 111 00:06:10,000 --> 00:06:13,000 galima laikyti viską, ką nori, stygos, sveikieji skaičiai, 112 00:06:13,000 --> 00:06:16,000 plaukiojantieji taškų, vertybes, masyvai, objektai, 113 00:06:16,000 --> 00:06:20,000 tikrai nieko, kad jūs norite, ir jis leidžia jums laikyti jį tokiu būdu, 114 00:06:20,000 --> 00:06:23,000 kad net jei vartotojas apsilanko dabar ir tada 115 00:06:23,000 --> 00:06:26,000 grįžta minutę iš dabar arba 5 minutes nuo dabar, nes 116 00:06:26,000 --> 00:06:28,000 jie imasi savo laiką prieš paspaudžiant nors kitą nuorodą 117 00:06:28,000 --> 00:06:32,000 PHP bus užtikrinti, kad viskas, ką jūs įtraukėte į tos sesijos superglobal 118 00:06:32,000 --> 00:06:37,000 per minutę arba 5 minutes vis dar bus ten, kai vartotojas grįžta. 119 00:06:37,000 --> 00:06:40,000 Ir po kapotu tai superglobal vykdomi atliekant 120 00:06:40,000 --> 00:06:44,000 tie dalykai vadinama slapukus, bet dabar, tai tik abstrakcija 121 00:06:44,000 --> 00:06:47,000 , kuriuo tarsi programine krepšelį ekvivalentu. 122 00:06:47,000 --> 00:06:50,000 , Ką jūs, programuotojas, įdėti, kad 123 00:06:50,000 --> 00:06:53,000 superglobal Association masyvas ten bus keletas minučių vėliau 124 00:06:53,000 --> 00:06:59,000 , kol nepašalinamas arba tol, kol vartotojas meta savo naršyklę apskritai. 125 00:06:59,000 --> 00:07:02,000 >> Paimkime bent pavyzdį, kaip tai, ką iš tikrųjų yra naudojamas išvaizdą. 126 00:07:02,000 --> 00:07:07,000 Counter.php tarp šiandienos kodo gabalus 127 00:07:07,000 --> 00:07:09,000 mes turime šią eilutę. 128 00:07:09,000 --> 00:07:13,000 Tuo šios bylos pradžios mes turime mėlynos komentarus, kurie yra neįdomių dabar krūva. 129 00:07:13,000 --> 00:07:15,000 , Bet atitinka 13, mes turime naują eilutę, 130 00:07:15,000 --> 00:07:18,000 session_start, ir kad iš tikrųjų tai, ką ji sako. 131 00:07:18,000 --> 00:07:20,000 Jis prasideda sesijas. 132 00:07:20,000 --> 00:07:25,000 Tai leidžia jums naudoti, kad didelis superglobal $ _SESSION, ir tai taip paprasta, kaip kad. 133 00:07:25,000 --> 00:07:30,000 Dabar, jei mes toliau pažvelgti line 16, pabandykime išsiaiškinti, ką šis tinklalapis ketinate daryti. 134 00:07:30,000 --> 00:07:35,000 If (isset ($ _SESSION ["skaitiklis"), tada eiti į priekį 135 00:07:35,000 --> 00:07:39,000 ir saugoti kovos kintamasis, mažosiomis skaitiklis, 136 00:07:39,000 --> 00:07:42,000 $ _SESSION ["Skaitiklis"]. 137 00:07:42,000 --> 00:07:45,000 Tai, atrodo, skelbiantis vietos kintamasis vadinamas skaitiklis 138 00:07:45,000 --> 00:07:48,000 kurio viduje išleisti viską, kas yra viduje superglobal kopiją 139 00:07:48,000 --> 00:07:52,000 vadinamas sesija vietos "Counter". 140 00:07:52,000 --> 00:07:56,000 Kita, matyt, tai šiek tiek vietos kintamąjį skaitiklis, yra inicializuoti iki 0. 141 00:07:56,000 --> 00:08:01,000 >> Bet tada yra tik keletas eilučių vėliau 26 įspėjimo, kad sesijos kopija, skaitiklis, 142 00:08:01,000 --> 00:08:06,000 jos pagrindinis, turi naują priskirta vertė, kuri yra jo dabartinė vertė plius 1. 143 00:08:06,000 --> 00:08:09,000 Trumpai tariant, ši byla, atrodo, turi būti atnaujinti 144 00:08:09,000 --> 00:08:13,000 skaitiklis, kad saugomas viduje sesijos superglobal 145 00:08:13,000 --> 00:08:16,000 , jį didinant iki 1, bet jis pirmą kartą pasilieka kopiją su anksčiau buvusia reikšme 146 00:08:16,000 --> 00:08:20,000 saugodami ją į vietinį kintamąjį, vadinamas $ skaitiklis, 147 00:08:20,000 --> 00:08:22,000 ir tada žemyn čia pažiūrėkime, kas lieka. 148 00:08:22,000 --> 00:08:24,000 Pasirodo, tai gana daug tik HTML. 149 00:08:24,000 --> 00:08:29,000 Pasibaigus šio puslapio apačioje matome 37 eilutėje, kad aš aplankė šią svetainę 150 00:08:29,000 --> 00:08:33,000 kovoti skaičių kartų, todėl yra pora įdomių funkcijų. 151 00:08:33,000 --> 00:08:36,000 Vienas iš jų, tai yra aiškiai kintamasis, bet jo nepakanka tiesiog įdėti 152 00:08:36,000 --> 00:08:39,000 $ Skaitiklis savo HTML, nes, žinoma, kūno 153 00:08:39,000 --> 00:08:43,000 jei tai tik ten tarp jūsų HTML PHP ketina daryti prielaidą, kad tik HTML. 154 00:08:43,000 --> 00:08:48,000 Jūs tiesiog norite $ skaitiklis turi būti spausdinami ant ekrano. 155 00:08:48,000 --> 00:08:51,000 >> Bet vietoj to, nuleisti į režimo PHP 156 00:08:51,000 --> 00:08:55,000 su šia sintaksę gabalas, mes galime dinamiškai įterpti reikšmės 157 00:08:55,000 --> 00:08:58,000 labai panašus į dvasią, ką mes padarėme paskutinį kartą 158 00:08:58,000 --> 00:09:00,000 įterpiant vertybes stygos. 159 00:09:00,000 --> 00:09:04,000 Tiesą sakant, tai yra tik trumpa notacijos sakydamas kažką panašaus į tai pažodžiui, 160 00:09:04,000 --> 00:09:12,000 print ($ skaitiklis) ar net kažkas panašaus printf (% s, counter), 161 00:09:12,000 --> 00:09:14,000 ar net, kaip tu gali matyti internetu arba vadovėliuose, 162 00:09:14,000 --> 00:09:17,000 PHP funkcija vadinama aidas 163 00:09:17,000 --> 00:09:20,000 , kurie daro tą patį, ir visi iš jų yra tiesiog ilgiau kalbantis būdų 164 00:09:20,000 --> 00:09:25,000 pasakyti, <= 165 00:09:25,000 --> 00:09:28,000 Šiuo atveju jums nereikia įdėti 166 00:09:28,000 --> 00:09:30,000 žodis PHP po klaustuko. 167 00:09:30,000 --> 00:09:34,000 Tai yra sutrumpinimas notacijos, dar kartą, ką mes ką tik matė prieš akimirką 168 00:09:34,000 --> 00:09:37,000 , kuris atkartodamas tam tikrą vertę. 169 00:09:37,000 --> 00:09:39,000 >> Pažiūrėkime, ką galutinis rezultatas iš tikrųjų yra. 170 00:09:39,000 --> 00:09:43,000 Leiskite man eiti per į mūsų counter.php failo, 171 00:09:43,000 --> 00:09:47,000 ir mes pamatyti, kad Dovydas tiesiog padarė klaidą žaisti su kodu. 172 00:09:47,000 --> 00:09:50,000 Eikime fix, viskas, ką jis įsukus 173 00:09:50,000 --> 00:09:54,000 ir klaida, atrodo, būti ten, dingo, on line 37. 174 00:09:54,000 --> 00:09:59,000 Atsižvelgiant į šio puslapio viršuje, aš lankėsi šioje svetainėje: 0 kartus. 175 00:09:59,000 --> 00:10:02,000 Na, galime eiti į priekį ir dabar, o naršyklės viršuje spauskite 176 00:10:02,000 --> 00:10:05,000 iš naujo įkelkite piktogramą ir aš spustelėkite perkrauti, 177 00:10:05,000 --> 00:10:12,000 o dabar aš aplankė svetainės 1 kartą, 2, 3, 4, 5, 6, 7, 8. 178 00:10:12,000 --> 00:10:16,000 Ir iš tiesų, jei pažvelgsime į šio puslapio šaltinio tikrasis šaltinis kodas keičiasi, 179 00:10:16,000 --> 00:10:19,000 ir pastebėti visiškai nėra bet kokio PHP, ir tai todėl, kad 180 00:10:19,000 --> 00:10:23,000 PHP kodas yra vertinamos arba aiškinama serverio pusės, 181 00:10:23,000 --> 00:10:27,000 ir kad tai reiškia, kad produkcija yra PHP scenarijų, kas galiausiai išsiųstas į naršyklę, 182 00:10:27,000 --> 00:10:31,000 , kuris šiuo atveju yra kai grynasis HTML, o kai žalias tekstas. 183 00:10:31,000 --> 00:10:33,000 Kas čia vyksta? 184 00:10:33,000 --> 00:10:37,000 >> Na, gana keletą eilučių kodo, aš galiu laikyti 185 00:10:37,000 --> 00:10:40,000 nuolat per keletą sekundžių, arba jei mes laukėme pakankamai ilgai, 186 00:10:40,000 --> 00:10:44,000 minučių, net valandas, kai vertė taip, kad HTTP 187 00:10:44,000 --> 00:10:47,000 atrodo taip, tarsi mes lieka Stateful 188 00:10:47,000 --> 00:10:51,000 šis ryšys su serveriu, ir ji tiesiog prisiminti, ką aš pasakiau paskutinį kartą, 189 00:10:51,000 --> 00:10:55,000 bet iš tikrųjų ten visa krūva sudėtingumo vyksta po gaubtu 190 00:10:55,000 --> 00:10:59,000 įtraukti slapukus, kurie padeda PHP duok man šitą iliuziją 191 00:10:59,000 --> 00:11:02,000 šio krepšelį kaip funkcija. 192 00:11:02,000 --> 00:11:05,000 Dabar, trivialus pavyzdys, kai mes tiesiog saugoti sveikasis skaičius, 193 00:11:05,000 --> 00:11:08,000 bet, kad funkcija grįš būti labai vertingas 194 00:11:08,000 --> 00:11:10,000 kai mes pradedame kalbėti apie sudėtingesnių projektų, 195 00:11:10,000 --> 00:11:12,000 tarp jų problema rinkinys 7. 196 00:11:12,000 --> 00:11:16,000 Tai jūsų labai paskutinė problema, nustatyti CS50. 197 00:11:16,000 --> 00:11:19,000 Aš žinau, tai taip liūdna, bet ką jūs rasite, yra tai, kad mes ketiname sudaryti 198 00:11:19,000 --> 00:11:22,000 tai semestro dalis iš tikrųjų pereinate 199 00:11:22,000 --> 00:11:25,000 nuo C, be abejo, PHP 200 00:11:25,000 --> 00:11:27,000 tačiau naudojant kai kurie iš tų pačių pagrindų 201 00:11:27,000 --> 00:11:29,000 mes kalbėjome apie tam tikrą laiką. 202 00:11:29,000 --> 00:11:33,000 >> Su pset 7 tikslas yra įgyvendinti CS50 Finansai, 203 00:11:33,000 --> 00:11:37,000 , kas jūsų versija Yahoo Finance "arba" Google Finance 204 00:11:37,000 --> 00:11:40,000 ar net Etrade.com, kuriuo turite galimybę 205 00:11:40,000 --> 00:11:43,000 ieškoti akcijų kainas konkrečiais simboliais, bet net daugiau nei 206 00:11:43,000 --> 00:11:48,000 jūs turite galimybę "pirkti" ir "parduoti" atsargas 207 00:11:48,000 --> 00:11:51,000 kuriomis prekiaujama įvairių vertybinių popierių biržose, nes pagrindiniame puslapyje 208 00:11:51,000 --> 00:11:55,000 čia rodo, kokie iš tiesų yra mastas, kuriuo mes pradėjome 209 00:11:55,000 --> 00:11:59,000 problemą, jums, jūs turite prisijungimo formą, kurioje prašoma įvesti vartotojo vardą ir slaptažodį. 210 00:11:59,000 --> 00:12:03,000 Ji turi mygtuką "Siųsti", bet po to, kaip mes galų gale pamatyti, 211 00:12:03,000 --> 00:12:06,000 nėra nieko, kas iš tikrųjų vyksta po kapotu dar, nes 212 00:12:06,000 --> 00:12:09,000 lieka jums įgyvendinti galimybę įregistruoti nauji vartotojai 213 00:12:09,000 --> 00:12:12,000 galimybė pirkti akcijas, parduoti atsargas, 214 00:12:12,000 --> 00:12:14,000 iš tikrųjų atrodo dabartines akcijų kainas. 215 00:12:14,000 --> 00:12:17,000 >> Ir iš tiesų, tai bus kaip realiame pasaulyje, kaip įmanoma, nes mes padarėme 216 00:12:17,000 --> 00:12:20,000 kenksmingą kodą, kuris leis jums tik vieną funkciją 217 00:12:20,000 --> 00:12:25,000 užklausą Yahoo Finance, kuri nuostabiai daro laisvos duomenis 218 00:12:25,000 --> 00:12:31,000 akcijų kainos, remiantis akcijų simbolis arba simboliu, žiūrint, 219 00:12:31,000 --> 00:12:34,000 ir jums dabartinis akcijų kursas dienos. 220 00:12:34,000 --> 00:12:37,000 Duomenys, jūs iš tikrųjų matome šioje konkrečioje pset bus 221 00:12:37,000 --> 00:12:40,000 apie realiame pasaulyje, kaip jis gali gauti taip, kad jūs iš tikrųjų sąsajos 222 00:12:40,000 --> 00:12:43,000 su realaus pasaulio atsargų, realiame pasaulyje kainos, 223 00:12:43,000 --> 00:12:47,000 ir matysime, kiek pinigų galite padaryti galbūt 224 00:12:47,000 --> 00:12:51,000 žaisti su savo problemą, per ateinančius keletą dienų. 225 00:12:51,000 --> 00:12:55,000 >> Bet tegul pirma nustatyti etape, kaip sukurti kažką, kad tikrai sudėtingiau 226 00:12:55,000 --> 00:12:59,000 , nei counter.php, tai sudėtingesnis nei bet kuris iš Frosh momentiniams žinučių pavyzdžių iki šiol, 227 00:12:59,000 --> 00:13:02,000 ir pabandykime įvesti keletą paradigmas čia, kad leidžia mums 228 00:13:02,000 --> 00:13:06,000 tiek. 7 pset ir gal jūsų galutinio projekto, jei jūs darote kažką žiniatinklio 229 00:13:06,000 --> 00:13:11,000 išlaikyti savo kodą, gerai organizuota, išlaikyti save sveiko proto, 230 00:13:11,000 --> 00:13:15,000 ir imtis žingsnį link bendradarbiauja, ar CS50 galutinę projekto 231 00:13:15,000 --> 00:13:18,000 ar po, jei ir toliau programuoti kažką ateityje. 232 00:13:18,000 --> 00:13:21,000 Ten tai bendras dizainas paradigma 233 00:13:21,000 --> 00:13:24,000 informatikos ir programinės įrangos kūrimo apskritai 234 00:13:24,000 --> 00:13:27,000 žinomas kaip MVC, modelis vaizdas valdiklio, 235 00:13:27,000 --> 00:13:30,000 ir tai yra kvailas akronimas, kuris apibūdina labai gražią idėją, 236 00:13:30,000 --> 00:13:34,000 kuris yra programos įvairių aspektų atskyrimas, 237 00:13:34,000 --> 00:13:39,000 konkrečiai išlaikyti atskirą logika ar verslo logiką interneto svetainėje 238 00:13:39,000 --> 00:13:42,000 todėl, kad kas nors, kuris apima tokius dalykus kaip 239 00:13:42,000 --> 00:13:45,000 skambinimo funkcijos ir užklausų duomenų bazių ir pan 240 00:13:45,000 --> 00:13:48,000 vyksta ne tarp savo HTML 241 00:13:48,000 --> 00:13:51,000 , o atskiruose failuose, ir iš tiesų, ten tai vienas failas 242 00:13:51,000 --> 00:13:54,000 paprastai, kad jūs vadinamas reguliatorius 243 00:13:54,000 --> 00:13:56,000 tai tikrai už operacijos smegenys, ir mes pamatyti pavyzdį 244 00:13:56,000 --> 00:13:58,000 tai vos akimirką. 245 00:13:58,000 --> 00:14:01,000 >> Yra modelis, programavimo kodą 246 00:14:01,000 --> 00:14:05,000 kad tai kalbėtis su savo duomenų bazes, kad pasakoja Yahoo Finance ir panašios, 247 00:14:05,000 --> 00:14:08,000 ir ten V MVC, nuomonę, 248 00:14:08,000 --> 00:14:11,000 stuff, kad estetika, bylos, kurią faktiškai yra susiję 249 00:14:11,000 --> 00:14:14,000 jūsų HTML, o gal jūsų CSS ir panašiai. 250 00:14:14,000 --> 00:14:17,000 Idėja, kaip šį paveiksliuką rodo, kad duomenų valdytojas 251 00:14:17,000 --> 00:14:21,000 yra failas, nes mes netrukus matysime, ir kaip jums ypač matyti pset 7, 252 00:14:21,000 --> 00:14:24,000 kad pasaulis pasakoja per savo interneto naršyklių. 253 00:14:24,000 --> 00:14:27,000 Kad yra failas, kuris gauna aplankė viešąjį internetą, 254 00:14:27,000 --> 00:14:30,000 tačiau duomenų valdytojas derybas potencialiai modelio, 255 00:14:30,000 --> 00:14:34,000 kuriame yra viena ar daugiau kitų failų, kurie yra kodas, susijusi su duomenų, 256 00:14:34,000 --> 00:14:37,000 kodas susiję su duomenų bazių ir, pavyzdžiui, ir tada ji pasakoja 257 00:14:37,000 --> 00:14:40,000 Kontrolieriaus vienas arba keli kiti failai žinomas kaip nuomonėmis, 258 00:14:40,000 --> 00:14:43,000 kurie yra iš tinklalapio estetika, šablonus rūšių, 259 00:14:43,000 --> 00:14:47,000 kad gali imtis tam tikrų kaip įvesties duomenis, bet ne dienos pabaigoje 260 00:14:47,000 --> 00:14:50,000 tik logika viduje siekiant turėtų būti šių duomenų atvaizdavimas, 261 00:14:50,000 --> 00:14:53,000 per kilpą iteravimu ir spjaudytis iš kai 262 00:14:53,000 --> 00:14:56,000 HTML perdavimų, ar net kažką panašaus į PDF. 263 00:14:56,000 --> 00:14:59,000 >> Kas yra malonu apie MVC yra, kad jūs galite turėti skirtingus požiūrius 264 00:14:59,000 --> 00:15:02,000 įtaiso tipo, remiantis tipo failo formatu, kad jūs iš tikrųjų grindžiamas 265 00:15:02,000 --> 00:15:04,000 noriu parodyti, kad vartotojas. 266 00:15:04,000 --> 00:15:10,000 Leiskite pažvelgti į keletą vis labiau sudėtingų ir gerai suprojektuoti pavyzdžių 267 00:15:10,000 --> 00:15:13,000 pradedant pirma versija 0 čia. 268 00:15:13,000 --> 00:15:16,000 Leiskite man eiti į priekį ir atverti mūsų MVC kataloge šiandien 269 00:15:16,000 --> 00:15:21,000 failą pavadinimu index.php kataloge 0. 270 00:15:21,000 --> 00:15:26,000 Atkreipkite dėmesį, tai yra super paprasta ir labai underwhelming svetainė 271 00:15:26,000 --> 00:15:29,000 tai tarsi pagrindinio puslapio 0 versijos CS50 272 00:15:29,000 --> 00:15:32,000 ir pastebėsite, kaip mes turime nuorodą į paskaitas, mes turime nuorodą į Syllabus 273 00:15:32,000 --> 00:15:35,000 ir jei po nuorodą į paskaitas įspėjimo, kad URL 274 00:15:35,000 --> 00:15:39,000 iki viršaus vyksta pakeisti į lectures.php. 275 00:15:39,000 --> 00:15:44,000 Jei aš sekite nuorodą Savaitė 1 įspėjimo, kad URL pakeitimai į week1.php. 276 00:15:44,000 --> 00:15:46,000 Atrodo, kad čia gana paprasta hierarchinė struktūra. 277 00:15:46,000 --> 00:15:49,000 >> Paimkime greitai pažvelgti apačioje gaubtu, kaip tai išdėstyta, 278 00:15:49,000 --> 00:15:53,000 ir iš tiesų, jei aš žiūriu į index.php tai gana paprasta. 279 00:15:53,000 --> 00:15:57,000 Tiesą sakant, nors aš tai pavadino PHP failas nėra tikrasis programinis kodas. 280 00:15:57,000 --> 00:16:01,000 Yra komentaras, kad aš parašiau čia PHP tik todėl vartotojas neturi galų gale pamatyti jį. 281 00:16:01,000 --> 00:16:05,000 Žinoma, kaip ir anksčiau, nieko, kad tarp PHP žymių 282 00:16:05,000 --> 00:16:08,000 bus aiškinama, net jei tai komentaras, ir aiškinti komentarą 283 00:16:08,000 --> 00:16:11,000 reiškia tik tai, kad jį išmeskite bent dienos pabaigoje, o ne realiai 284 00:16:11,000 --> 00:16:15,000 siųsti jį į naršyklę, kad viskas čia yra tik estetika. 285 00:16:15,000 --> 00:16:20,000 Jei aš atverti panašiai lectures.php tai taip pat yra tik sunkiai koduojami failas. 286 00:16:20,000 --> 00:16:23,000 Taip atsitinka, kad kažką. Php, 287 00:16:23,000 --> 00:16:27,000 bet jis tikrai yra tik html, ir week1.php, week2.php 288 00:16:27,000 --> 00:16:31,000 panašiai yra tik žymėjimo, todėl nėra šio dizaino trūkumų krūva. 289 00:16:31,000 --> 00:16:33,000 Viena, tai didžiulis copy / paste. 290 00:16:33,000 --> 00:16:37,000 Net jei vienintelis dalykas, kuris keičiasi tarp šių bylų yra netvarkingai sąrašas 291 00:16:37,000 --> 00:16:41,000 Li žodžius, aš vis dėlto turiu dok tipą, HTML, galva, 292 00:16:41,000 --> 00:16:44,000 pavadinimas, netoli kūno, netoli HTML ir daugiau 293 00:16:44,000 --> 00:16:47,000 kiekvieną failą, o tai reiškia, kad jei aš kada nors nori pertvarkyti 294 00:16:47,000 --> 00:16:50,000 šio tinklalapio, arba restylize turiu eiti ir keisti 295 00:16:50,000 --> 00:16:54,000 visi šių rinkmenų rankiniu būdu arba su kai masinis rasti ir pakeisti. 296 00:16:54,000 --> 00:17:01,000 >> Paimkime žingsnis link protingesni, ilgiau galvoja dizaino versijos 1 čia 297 00:17:01,000 --> 00:17:04,000 o kaip už mane, kad mes įtraukti, kad būtų galima žaisti kartu su 298 00:17:04,000 --> 00:17:07,000 tai daugiau laisvalaikio namuose pranešimo, kad mes turime čia 299 00:17:07,000 --> 00:17:10,000 failus šios svetainės versijos 1 santrauka, 300 00:17:10,000 --> 00:17:13,000 ir atrodo, kad aš jį ant savęs veiksnys 301 00:17:13,000 --> 00:17:17,000 kai bendras kodeksas, header.php ir footer.php. 302 00:17:17,000 --> 00:17:20,000 Na, tegul, kas viduje pirmasis iš tų išvaizdą. 303 00:17:20,000 --> 00:17:23,000 Header.php atrodo pažįstamas, 304 00:17:23,000 --> 00:17:26,000 bet pastebėsite, kur ji gauti nukirto? 305 00:17:26,000 --> 00:17:30,000 Iškart po eilutę 19, todėl, kad viskas, kas buvo įprasta 306 00:17:30,000 --> 00:17:33,000 nuo failus index.php, lectures.php, 307 00:17:33,000 --> 00:17:36,000 week1 ir week2.php ankstesniame pavyzdyje. 308 00:17:36,000 --> 00:17:40,000 Ką aš padariau buvo kopija ir supjaustyti viskas, kas buvo įprasta visus tuos failus, 309 00:17:40,000 --> 00:17:44,000 įdėti ją į atskirą antraštės faile, ir taip footer.php 310 00:17:44,000 --> 00:17:48,000 , aš taikyti tą patį principą, pagal kurį tik įdomių linijų 311 00:17:48,000 --> 00:17:52,000 į footer.php yra šių dviejų, arti kūno ir uždaryti HTML. 312 00:17:52,000 --> 00:17:55,000 >> Bet ką tai reiškia dabar yra tai, kad naujos redakcijos 313 00:17:55,000 --> 00:17:59,000 index.php įspėjimo kiek paprastesnis jis gali gauti. 314 00:17:59,000 --> 00:18:02,000 Natūralu, šiek tiek daugiau paslaptingas ieškote, šiek tiek mažiau intuityvus 315 00:18:02,000 --> 00:18:06,000 sekti iš viršaus į apačią, o mano Dieve, visa to atleidimo iš darbo dabar dingo. 316 00:18:06,000 --> 00:18:10,000 Mes reikalaujame, kad, naudojant PHP funkciją, tiesiog vadinamas reikalauja iki viršaus, 317 00:18:10,000 --> 00:18:15,000 kuris yra labai primenantis, prisiminti, C "# include mechanizmą. 318 00:18:15,000 --> 00:18:17,000 Mes reikalaujame, kad header.php viršuje. 319 00:18:17,000 --> 00:18:20,000 Mes reikalauja footer.php apačioje, ir vienintelis dalykas, kuris yra kitoks 320 00:18:20,000 --> 00:18:25,000 arba ypatingo apie šį failą turinio, kuris reiškia būti unikalus. 321 00:18:25,000 --> 00:18:29,000 Jei aš turiu eiti į, tarkim, lectures.php, tas pats principas taikomas. 322 00:18:29,000 --> 00:18:32,000 Vėlgi, kai iki viršaus komentarai, bet tada man reikia antraštę, reikia poraštę, 323 00:18:32,000 --> 00:18:35,000 ir tarp jų, tai tik turinys, kuris iš tikrųjų pasikeitė. 324 00:18:35,000 --> 00:18:38,000 Ir jei mes pažvelgė į 1 savaitė ir savaitė 2 mes norime pamatyti 325 00:18:38,000 --> 00:18:42,000 kad tas pats principas buvo taikomas. 326 00:18:42,000 --> 00:18:44,000 Na, mes ne labai pavargau. 327 00:18:44,000 --> 00:18:48,000 >> Paimkime bent 2 versija išvaizdą, kuri turi panašią struktūrą, 328 00:18:48,000 --> 00:18:50,000 , bet pastebėsite, dabar aš pristatė ką nors kita. 329 00:18:50,000 --> 00:18:53,000 10 eilutės aš įvestas helpers.php 330 00:18:53,000 --> 00:18:55,000 kuris, matyt, yra pagalbininkas funkcijas. 331 00:18:55,000 --> 00:18:58,000 Pagalbininkas funkcija yra gana trumpas funkcija 332 00:18:58,000 --> 00:19:01,000 , kad jums parašyti jums padėti įvairiose vietose, 333 00:19:01,000 --> 00:19:04,000 ir pažiūrėkime, kas viduje helpers.php. 334 00:19:04,000 --> 00:19:07,000 Šiuo atveju, atrodo, kad jis turi 2 funkcijas. 335 00:19:07,000 --> 00:19:10,000 Prisiminkite, kitą dieną su mūsų kubo pavyzdžiui 336 00:19:10,000 --> 00:19:13,000 galite nustatyti savo funkcijas PHP, ir ką aš padariau dabar aš 337 00:19:13,000 --> 00:19:17,000 apibrėžtos funkcijos vadinamas padaryti apačia ir teikti antraštę, 338 00:19:17,000 --> 00:19:21,000 iš kurių pirmasis mano parametras vadinamas duomenis, 339 00:19:21,000 --> 00:19:25,000 , kurio numatytoji reikšmė yra tuščias masyvas, kaip siūloma čia, 340 00:19:25,000 --> 00:19:29,000 ir mes iš tikrųjų gali rašyti tai net daugiau glaustai į naujausią versiją PHP 341 00:19:29,000 --> 00:19:32,000 sakydamas atvirą kvadratinių kronšteiną, uždarytas kvadratinių laikiklį. 342 00:19:32,000 --> 00:19:35,000 Tai reiškia, kad tuščias masyvas 0 dydžio, bet vis tiek masyvą. 343 00:19:35,000 --> 00:19:38,000 >> Ši ištrauka funkcija yra šiek tiek ypatingas tuo, kad 344 00:19:38,000 --> 00:19:41,000 ką ji daro, ji mano, kaip savo argumentą Association masyvas 345 00:19:41,000 --> 00:19:45,000 , kuri turi 0 arba daugiau pagrindinių vertės poras, ir, jei turite Foo mygtuką 346 00:19:45,000 --> 00:19:48,000 ir juostoje "Extract" funkcija vertė 347 00:19:48,000 --> 00:19:51,000 sukuria situaciją, kai dabar, nes linijos 11, 348 00:19:51,000 --> 00:19:57,000 turite vietos kintamasis vadinamas $ foo, kurio vertė yra baras. 349 00:19:57,000 --> 00:19:59,000 Ir jei jūs turėjo daugiau raktus ir reikšmes duomenų masyvas 350 00:19:59,000 --> 00:20:03,000 taip pat jie turėtų būti paimti į vietos sritį 351 00:20:03,000 --> 00:20:06,000 arba pavadinimas erdvė, kad footer.php ir 352 00:20:06,000 --> 00:20:09,000 pati idėja žemyn čia, kad header.php 353 00:20:09,000 --> 00:20:12,000 turi prieigą prie šių kintamųjų. 354 00:20:12,000 --> 00:20:15,000 Tiesą sakant, leiskite man vėl atverti header.php 355 00:20:15,000 --> 00:20:18,000 ir atkreipti dėmesį į tai, kas atrodo, kad šioje versijoje. 356 00:20:18,000 --> 00:20:22,000 >> Užuot sunku kodavimo CS50 už kiekvieną puslapį pavadinimu 357 00:20:22,000 --> 00:20:24,000 pastebėsite, dinamiškumą, tai įmanoma dabar. 358 00:20:24,000 --> 00:20:29,000 Atitinka 5 Aš pakartodamas tituliniame kintamąjį, 359 00:20:29,000 --> 00:20:34,000 bet pirmiausia aš artimųjų, kad pavadinimas kintamąjį funkcija vadinama htmlspecialchars. 360 00:20:34,000 --> 00:20:38,000 Kvailas pavadinimas funkcijos, tol, kol ji yra, bet tai tikrai, ką ji sako. 361 00:20:38,000 --> 00:20:41,000 Ji užtikrina, kad visi specialių simbolių 362 00:20:41,000 --> 00:20:46,000 į eilutę, kad buvo praėję tinkamai pabėgo HTML. 363 00:20:46,000 --> 00:20:49,000 Iš tikrųjų tai yra būdas išvengti kažką vadinama Cross Site Scripting ataka 364 00:20:49,000 --> 00:20:52,000 pagal kurį kas nors gali piktybiškai ar netyčia 365 00:20:52,000 --> 00:20:55,000 švirkšti savo HTML kodą į jūsų svetainę 366 00:20:55,000 --> 00:20:59,000 pagal įdėjimą į tam tikrą formą, pavyzdžiui, 367 00:20:59,000 --> 00:21:02,000 kažkas, kad buvo ne visai nesitikėjote gauti, ypač "JavaScript" kodas, 368 00:21:02,000 --> 00:21:05,000 kaip mes kalbame apie per savaitę ar netgi dvejų. 369 00:21:05,000 --> 00:21:08,000 >> Tai dabar header.php, tai vaizdas 370 00:21:08,000 --> 00:21:12,000 ta prasme, kad leidžia jums peržiūrėti estetiškai kai duomenų rinkinio turinį. 371 00:21:12,000 --> 00:21:14,000 Bet tiksliau, yra šablonas. 372 00:21:14,000 --> 00:21:19,000 Tai tarsi planą, dabar, ką mes norime kiekvieno puslapio antraštėje atrodyti, 373 00:21:19,000 --> 00:21:23,000 bet ten kai dinamiškumas, kad mes norime būti dinamiškai įterpiamas pavadinimas 374 00:21:23,000 --> 00:21:26,000 dėl pavadinimo kintamojo 375 00:21:26,000 --> 00:21:30,000 , kurie buvo išgauti dar kartą, kai mes vadinami, 376 00:21:30,000 --> 00:21:33,000 tinkas antraštės funkcija. 377 00:21:33,000 --> 00:21:36,000 Dabar, jei mes pažvelgė į apačią, tinko, tikrai ne daug naudoti, kad dabar 378 00:21:36,000 --> 00:21:40,000 nes footer.php kokia ne dinamiškumas. 379 00:21:40,000 --> 00:21:43,000 Gali būti, bet šiuo metu ji sunkiai koduojami sąrašas 2 žymeles, 380 00:21:43,000 --> 00:21:46,000 bet pati idėja, kad iš tikrųjų rodo, kodėl 381 00:21:46,000 --> 00:21:49,000 Ar mes gaišti laiko turintys render antraštės ir poraštės funkciją render? 382 00:21:49,000 --> 00:21:52,000 Leiskite man eiti, o dabar į 3 versija, 383 00:21:52,000 --> 00:21:56,000 ir 3 pagalbininkai versiją aš nusprendė dar labiau supaprastinti. 384 00:21:56,000 --> 00:21:58,000 >> Tegul man turi vieną render funkciją. 385 00:21:58,000 --> 00:22:02,000 Leiskite man, kad jis būtų dar vienas argumentas, šiuo metu vadinamas šablonas, 386 00:22:02,000 --> 00:22:05,000 , kuris yra skirtas būti šablono pavadinimą, 387 00:22:05,000 --> 00:22:11,000 ir tada aš Jungiant įžūliai PHP tas kintamo dydžio vertės, 388 00:22:11,000 --> 00:22:17,000 ir tada, jei jis egzistuoja foo.php, bar.php arba header.php ir footer.php 389 00:22:17,000 --> 00:22:20,000 tada aš ruošiuosi eiti į priekį ir išskleisti kintamųjų duomenis 390 00:22:20,000 --> 00:22:23,000 ir reikalauti, kad kelias. 391 00:22:23,000 --> 00:22:29,000 Kitaip tariant, tai dabar, jei aš atverti index.php 392 00:22:29,000 --> 00:22:32,000 pastebėti, kad aš ne skambinti render header nebėra. 393 00:22:32,000 --> 00:22:36,000 Aš tiesiog paskambinkite padaryti, bet aš pereiti kotiruojamos antraštės vertės 394 00:22:36,000 --> 00:22:39,000 aiškiai nustatyti, kuriai šablonas aš iš tikrųjų norite įkelti. 395 00:22:39,000 --> 00:22:41,000 >> Tada per čia pastebėti, ką aš darau. 396 00:22:41,000 --> 00:22:44,000 Aš einančios į dinamiškai nuosavybės rakte, 397 00:22:44,000 --> 00:22:47,000 CS50 vertė, o tai taip pat, kaip matėme anksčiau, 398 00:22:47,000 --> 00:22:51,000 galėtų būti labiau prigludusi į naujausią versiją PHP 399 00:22:51,000 --> 00:22:54,000 kur galiu pakeisti masyvo funkciją su laužtiniuose skliaustuose, 400 00:22:54,000 --> 00:22:57,000 siūlau dar skaitoma ir tikrai 401 00:22:57,000 --> 00:22:59,000 šiek tiek lengviau tipas. 402 00:22:59,000 --> 00:23:02,000 Ir, žinoma, su tinko poraštės kvietimo apačioje, 403 00:23:02,000 --> 00:23:05,000 mes neturime nerimauti einančios į antrąjį argumentą, ne visi, ne masyvą, 404 00:23:05,000 --> 00:23:07,000 nes ten nieko dinamiškas viduje tos poraštę. 405 00:23:07,000 --> 00:23:10,000 Tai tik keli artimi HTML tegai. 406 00:23:10,000 --> 00:23:14,000 Geras, mes žingsnius tikrai valymo dalykų čia, 407 00:23:14,000 --> 00:23:17,000 bet leiskite man atidaryti 2 galutinis pavyzdžius. 408 00:23:17,000 --> 00:23:21,000 Tai vienas, numeris 4, pranešimas, kad aš padarė sąmoningą sprendimą dabar 409 00:23:21,000 --> 00:23:26,000 patobulinti ankstesniame pavyzdyje pagaliau naudoti tam tikrą hierarchiją su mano failus. 410 00:23:26,000 --> 00:23:29,000 >> Atkreipkite dėmesį, kad šioje santraukoje, tai mane, aš įdiegėme 411 00:23:29,000 --> 00:23:32,000 katalogą ir šablonų katalogą 412 00:23:32,000 --> 00:23:35,000 , kurio turinys bus tai, ką aš noriu įtraukti 413 00:23:35,000 --> 00:23:38,000 ir šablonai, kad aš noriu padaryti, atitinkamai. 414 00:23:38,000 --> 00:23:42,000 Tai tikrai man buvo analinis ir stengiasi, kad viskas būtų tvarkinga, 415 00:23:42,000 --> 00:23:45,000 saugoti susijusius failus kartu, bet galutinis rezultatas 416 00:23:45,000 --> 00:23:48,000 yra tai, kad dabar mes turime šiek tiek tidier setup, bet mes turime atsiminti dabar 417 00:23:48,000 --> 00:23:51,000 , pavyzdžiui, index.php 418 00:23:51,000 --> 00:23:55,000 , jei mums reikalingas failo helpers.php 419 00:23:55,000 --> 00:24:01,000 mes turime dabar reikalauja per includes / helpers.php 420 00:24:01,000 --> 00:24:06,000 , o ne tiesiog pasakyti helpers.php, nes dabar tai tikrai sub kataloge. 421 00:24:06,000 --> 00:24:09,000 Dabar, kaip panaikinti, jūs pamatysite šiuos pavyzdžius, ir kai kurie kiti 422 00:24:09,000 --> 00:24:11,000 funkcijas, pavyzdžiui, reikalauja, reikalauja vieną kartą. 423 00:24:11,000 --> 00:24:15,000 Yra tikrai pati funkcija vadinama įtraukti, ir visi jie turi šiek tiek kitokį elgesį. 424 00:24:15,000 --> 00:24:18,000 Čia sakau pareikalauti vieną kartą padaryti super aišku, kad aš tik noriu tiems, 425 00:24:18,000 --> 00:24:20,000 pagalbininkai savo projektą vieną kartą. 426 00:24:20,000 --> 00:24:24,000 Bet jei aš atsargiai ir, jei aš iš tikrųjų galvoja per mano logika tinkamai 427 00:24:24,000 --> 00:24:27,000 Ji turėtų pakakti per tiesiog pasakyti, kad reikalauja, kad iki viršaus 428 00:24:27,000 --> 00:24:31,000 taip ilgai, kaip aš ne atsitiktinai reikalauti, kad tą patį failą kitur. 429 00:24:31,000 --> 00:24:34,000 Tiesą sakant, tai yra šiek tiek daugiau veiksmingas būdas daryti dalykus, tada naudojant 430 00:24:34,000 --> 00:24:38,000 reikalauja, kad vieną kartą, todėl aš diferentą jį žemyn, tiesiog reikia. 431 00:24:38,000 --> 00:24:40,000 >> Paimkime dar vieną žingsnį. 432 00:24:40,000 --> 00:24:46,000 Paskutinis pavyzdys dabar versija 5, yra dar švaresnis aplanką hierarchija. 433 00:24:46,000 --> 00:24:50,000 Atkreipkite dėmesį, ką aš padariau čia už mane šioje galutinėje versijoje 434 00:24:50,000 --> 00:24:54,000 dabar aš turiu HTML kataloge, kurį aš turėjau visą šį laiką, 435 00:24:54,000 --> 00:24:58,000 bet viduje ten dabar yra tik index.php, lectures.php, 436 00:24:58,000 --> 00:25:01,000 week1.php ir week2.php. 437 00:25:01,000 --> 00:25:05,000 Apima, katalogas šiuo metu gyvena kartu HTML kataloge, 438 00:25:05,000 --> 00:25:08,000 tame pačiame lygyje kaip broliai ir seserys, taip sakant. 439 00:25:08,000 --> 00:25:10,000 Todėl nėra šablonai. 440 00:25:10,000 --> 00:25:14,000 Raktas išsinešimui čia yra tai, aš pristatė šiek tiek daugiau struktūros, 441 00:25:14,000 --> 00:25:17,000 tačiau dabar pagrindinis bruožas yra, kad tik bylos 442 00:25:17,000 --> 00:25:21,000 kad turi būti pasiekiamas internetu, viešai adresuojamos 443 00:25:21,000 --> 00:25:25,000 dėl viešojo interneto URL yra mano HTML kataloge. 444 00:25:25,000 --> 00:25:28,000 >> Tuo tarpu kitos bylos, helpers.php, footer.php 445 00:25:28,000 --> 00:25:32,000 header.php, yra neabejotinai gal jautresnis, 446 00:25:32,000 --> 00:25:35,000 gal pagalbininkai iš tikrųjų turi vartotojo vardus ir slaptažodžius arba kai intelektinės 447 00:25:35,000 --> 00:25:39,000 mano nuosavybė, veikia, aš tikrai nenoriu parodyti pasauliui, net jei netyčia. 448 00:25:39,000 --> 00:25:45,000 Tai gera praktika išlaikyti viešojo HTML kataloge 449 00:25:45,000 --> 00:25:48,000 visus failus, kad nereikia būti vieša. 450 00:25:48,000 --> 00:25:51,000 Viskas, ką turite daryti tokiu atveju, kai žiūri į, pavyzdžiui, 451 00:25:51,000 --> 00:25:55,000 HTML aplankas index.php failą, 452 00:25:55,000 --> 00:25:58,000 mes tiesiog turime būti šiek tiek atsargūs, kai reikalaujama, 453 00:25:58,000 --> 00:26:00,000 arba reikalauti, kad kartą šį failą. 454 00:26:00,000 --> 00:26:03,000 Aš pirmiausia reikia padaryti .. eiti į pagrindinį katalogą, 455 00:26:03,000 --> 00:26:06,000 tada nereikia / includes / helpers.php 456 00:26:06,000 --> 00:26:12,000 pasinerti atgal gauti failą, kad man rūpi. 457 00:26:12,000 --> 00:26:16,000 >> Bet tada apie MVC klausimai 458 00:26:16,000 --> 00:26:20,000 tai gana paprasta įsikūnijimas? 459 00:26:20,000 --> 00:26:23,000 Ir leiskite man aiškiai pasakyti, kad mes sutelktas gana tiek 460 00:26:23,000 --> 00:26:27,000 V čia, pareikšti savo nuomonę ir faktoringo iš šių šablonų. 461 00:26:27,000 --> 00:26:30,000 Mes ne tikrai išsiskiria iš C M tik dar. 462 00:26:30,000 --> 00:26:33,000 Tiesą sakant, ten tikrai yra čia ne M, ir net mūsų C 463 00:26:33,000 --> 00:26:36,000 valdytojas, tikrai ne daro visi, kad daug, bet gausite daug daugiau 464 00:26:36,000 --> 00:26:39,000 susipažinę su tų 2 raides nuo MVC, 465 00:26:39,000 --> 00:26:43,000 arba, tiksliau, jūs gausite daug labiau susipažinę su C 466 00:26:43,000 --> 00:26:49,000 MVC problemą, 7, todėl yra daugiau, kad dėl horizonto. 467 00:26:49,000 --> 00:26:51,000 Turite klausimų? 468 00:26:51,000 --> 00:26:53,000 Yra tikrai niekas čia. 469 00:26:53,000 --> 00:26:57,000 >> Gerai, tegul dabar pereiti į antrosios ir paskutinės tema šiandien. 470 00:26:57,000 --> 00:27:00,000 Kad yra duomenų bazės įvedimas. 471 00:27:00,000 --> 00:27:03,000 Iki šio punkto mes turėjo keletą būdų, kaip saugoti duomenis. 472 00:27:03,000 --> 00:27:05,000 Mes naudojami kintamieji. 473 00:27:05,000 --> 00:27:08,000 Atgal į c failas, I / O diskusija pradėjome naudoti tekstinius failus 474 00:27:08,000 --> 00:27:11,000 ir naudojant failus, pavyzdžiui, fprintf, ir tada mes net pradėjo 475 00:27:11,000 --> 00:27:14,000 kalbame apie CSV failus šiek tiek, kableliais atskirtos reikšmės, 476 00:27:14,000 --> 00:27:17,000 kad visi jie leido duomenys saugomi 477 00:27:17,000 --> 00:27:19,000 arba ne nuolatos arba nuolatos. 478 00:27:19,000 --> 00:27:23,000 Bet net ir CSV ataskaitose iš tiesų nėra palanki ieškoti 479 00:27:23,000 --> 00:27:25,000 ir įterpti ir ištrinti. 480 00:27:25,000 --> 00:27:28,000 Tai tiesiog kvailas tekstinis failas, atskirti kableliais 481 00:27:28,000 --> 00:27:30,000 eilutę eilutėje esančią eilutę, todėl, jei norite 482 00:27:30,000 --> 00:27:32,000 ieškoti, kad byla geriausia, ką galite padaryti, tikrai yra tiesinė paieška. 483 00:27:32,000 --> 00:27:34,000 Jūs turite pradėti failo viršuje skaityti visa tai, 484 00:27:34,000 --> 00:27:36,000 ir surasti šiek tiek interesų vertė. 485 00:27:36,000 --> 00:27:39,000 Jei norite įterpti į jį, jūs turite padaryti tą patį, 486 00:27:39,000 --> 00:27:41,000 iteravimu per jį ir į tam tikroje vietoje, 487 00:27:41,000 --> 00:27:45,000 ir iš tikrųjų, jūs turite padaryti viską, ieško sau logika. 488 00:27:45,000 --> 00:27:49,000 >> Jūs negalite padaryti protingas modelio atitikimo CSV failą, nebent jūs patys rašyti kodą. 489 00:27:49,000 --> 00:27:51,000 Jūs negalite padaryti filtruoja CSV failą 490 00:27:51,000 --> 00:27:53,000 , nebent jūs patys rašyti kodą. 491 00:27:53,000 --> 00:27:56,000 Ar nebūtų puiku, jei kas nors įdėti pastangų 492 00:27:56,000 --> 00:27:59,000 iš tikrųjų ieško lengva ir įterpimo lengva 493 00:27:59,000 --> 00:28:01,000 ir išbraukta ir atnaujinti ir tt? 494 00:28:01,000 --> 00:28:04,000 Tai yra būtent tai, kas duomenų bazė yra. 495 00:28:04,000 --> 00:28:07,000 SQL Structured Query Language, yra dar kita kalba 496 00:28:07,000 --> 00:28:10,000 kad mes įvesti čia šiandien, bet tai taip pat yra gana prieinama, 497 00:28:10,000 --> 00:28:13,000 ir ką mes iš tikrųjų ketiname daryti, tai tiesiog skinti iš jo kai kurie svarbiausi 498 00:28:13,000 --> 00:28:16,000 kad pset 7 savybes, ir, jei jums padaryti kažką žiniatinklio, 499 00:28:16,000 --> 00:28:19,000 jūsų galutinis projektas, jūs turite galimybę išreikšti save 500 00:28:19,000 --> 00:28:22,000 duomenų užklausų. 501 00:28:22,000 --> 00:28:25,000 Jūs turite galimybę laikyti šiek tiek arba daug duomenų 502 00:28:25,000 --> 00:28:28,000 daug labiau struktūrizuotą taip, kad dienos pabaigoje 503 00:28:28,000 --> 00:28:32,000 padaryti jūsų gyvenimą lengviau, nes su SQL galite išreikšti save 504 00:28:32,000 --> 00:28:35,000 daug tiksliau, daug daugiau metodiškai, siekiant 505 00:28:35,000 --> 00:28:40,000 grįžti šiek tiek duomenų iš didesnio tekstyno duomenų poaibį. 506 00:28:40,000 --> 00:28:45,000 >> Galite manyti, kad duomenų bazės, šiuo atveju, SQL duomenų bazės, tikrai kaip "Excel" 507 00:28:45,000 --> 00:28:48,000 (arba) numeriai, kur jis yra skaičiuoklės, 508 00:28:48,000 --> 00:28:50,000 , o gal ir kelias lenteles, ir skaičiuoklę, žinoma, 509 00:28:50,000 --> 00:28:53,000 eilučių ir stulpelių, ir tai todėl, kad 510 00:28:53,000 --> 00:28:56,000 SQL duomenų bazės yra reliacinės, Reliacinė ta prasme, 511 00:28:56,000 --> 00:28:59,000 , kad jie saugo duomenis šiose lentelėse, 512 00:28:59,000 --> 00:29:01,000 eilučių ir stulpelių. 513 00:29:01,000 --> 00:29:03,000 Jie yra našesni nei kažką panašaus į skaičiuoklę, 514 00:29:03,000 --> 00:29:05,000 ir skaičiuoklės yra skirtas būti naudojamas žmogaus. 515 00:29:05,000 --> 00:29:08,000 Duomenų bazė yra skirtas būti naudojamas programuotojas 516 00:29:08,000 --> 00:29:12,000 rašyti kodą, prieš tai, kad duomenų bazės įsikūnijimas 517 00:29:12,000 --> 00:29:14,000 bus arba komandinės eilutės. 518 00:29:14,000 --> 00:29:18,000 >> Vienas iš populiariausių reliacinėse duomenų bazėse ten, vėlgi, MySQL, 519 00:29:18,000 --> 00:29:22,000 puikiai, labai pažangiausi, ir tai, ką 520 00:29:22,000 --> 00:29:24,000 "Facebook" labai anksti ir tam tikru mastu naudojamas dar ir šiandien 521 00:29:24,000 --> 00:29:27,000 saugoti savo duomenų daug, ir mes pamatyti, per akimirką 522 00:29:27,000 --> 00:29:30,000 kad naudojant gana paprastas komandas 523 00:29:30,000 --> 00:29:33,000 mes galime pasirinkti duomenis, įrašyti duomenis, atnaujinti duomenis, 524 00:29:33,000 --> 00:29:37,000 ištrinti duomenis ir panašūs, bet, laimei, yra daugiau vartotojo sąsaja, 525 00:29:37,000 --> 00:29:39,000 ne tik rašyti juoda ir balta eilutę. 526 00:29:39,000 --> 00:29:43,000 Mes naudojame nemokamas įrankis, vadinamas phpMyAdmin. Pset 7 ir už jos ribų. 527 00:29:43,000 --> 00:29:45,000 Vardas yra atsitiktinis. 528 00:29:45,000 --> 00:29:47,000 Įrankis atsitinka, turi būti įgyvendintos PHP, 529 00:29:47,000 --> 00:29:49,000 bet tai iš esmės neturi reikšmės. 530 00:29:49,000 --> 00:29:53,000 Kas naudinga apie phpMyAdmin yra tai, kad žiniatinklio įrankis. 531 00:29:53,000 --> 00:29:55,000 Mes iš anksto įdiegta prietaiso už jus, 532 00:29:55,000 --> 00:29:58,000 ir su ja galite kurti lenteles į duomenų bazę, 533 00:29:58,000 --> 00:30:01,000 galite įterpti duomenis, naikinti duomenis, ir paprastai pamatyti 534 00:30:01,000 --> 00:30:04,000 savo duomenis gana patogią aplinką. 535 00:30:04,000 --> 00:30:07,000 Jūsų naudotojai neketinate naudotis phpMyAdmin. 536 00:30:07,000 --> 00:30:09,000 >> Tai tikrai tik administracinės arba kūrėjas įrankis 537 00:30:09,000 --> 00:30:12,000 pamatyti ir baksnoti aplink jūsų duomenis ir išsiaiškinti, kaip struktūruoti, 538 00:30:12,000 --> 00:30:15,000 panašiai kaip tu pats gali naudoti programos Excel arba numerius, 539 00:30:15,000 --> 00:30:19,000 bet tai bus puikus būdas vizualizuoti tai, kas vyksta po gaubtu 540 00:30:19,000 --> 00:30:22,000 taip, kad jūs galite sutelkti dėmesį į įdomų problemų sprendimo ir ne tiek 541 00:30:22,000 --> 00:30:25,000 paslaptingų komandų. 542 00:30:25,000 --> 00:30:28,000 Paimkime pažvelgti pavyzdžiui, duomenys gali būti saugomi lentelių 543 00:30:28,000 --> 00:30:30,000 reliacinės duomenų bazės. 544 00:30:30,000 --> 00:30:32,000 Štai vienas iš tokių pavyzdžių. 545 00:30:32,000 --> 00:30:35,000 Dabar, deja, phpMyAdmin padarė klaidą būdas mesti pusėje per daug žodžių 546 00:30:35,000 --> 00:30:38,000 ir grafika ne jums, bet jei jums galąstuvas tik dėl 547 00:30:38,000 --> 00:30:42,000 ID stulpelis, vartotojo vardas, stulpelis, o maišos stulpelis 548 00:30:42,000 --> 00:30:45,000 Tai veiksmingai skaičiuoklę, bet tai atsitinka būti fragmentą 549 00:30:45,000 --> 00:30:49,000 stalo prietaiso viduje 550 00:30:49,000 --> 00:30:53,000 naudojant failą, mes suteiksime Jums problemą, 7. 551 00:30:53,000 --> 00:30:57,000 >> Visų pirma, mes suteikiame jums failą, kuri atstovauja 552 00:30:57,000 --> 00:31:01,000 vartotojo stalo, todėl skaičiuoklę, kurioje yra 3 stulpeliuose vartotojams, 553 00:31:01,000 --> 00:31:05,000 iš kurių vienas yra unikalus ID, pradedant 1 ir padidinamos vėliau. 554 00:31:05,000 --> 00:31:08,000 Antrajame vartotojo vardas ir tiems iš jūsų, kurie padarė Hacker, 555 00:31:08,000 --> 00:31:12,000 hacker leidimas pset 2, gali pripažinti, bent kai kurie iš šių vartotojų vardus. 556 00:31:12,000 --> 00:31:16,000 Dešinėje pusėje slaptažodžius, tačiau jie nėra pažodinis slaptažodžius. 557 00:31:16,000 --> 00:31:19,000 Jie maišos jo, taip, it turns out 558 00:31:19,000 --> 00:31:22,000 kad saugoti slaptažodžius duomenų bazėje yra tikrai bloga idėja. 559 00:31:22,000 --> 00:31:25,000 Jūs visi tikriausiai skaityti, nors kai kurios svetainės 560 00:31:25,000 --> 00:31:28,000 arba kai įmonės duomenų bazėje sukompromituota, ir tada jūs turite 561 00:31:28,000 --> 00:31:31,000 pakeisti slaptažodį, turite gauti grąžinamąsias išmokas už dalykų 562 00:31:31,000 --> 00:31:34,000 , nes kai kurie blogiukas iš tikrųjų įsiveržė į savo sąskaitą, kaip rezultatas. 563 00:31:34,000 --> 00:31:38,000 >> Saugoti slaptažodžius atviru tekstu, paprastasis duomenų bazėje 564 00:31:38,000 --> 00:31:41,000 yra visiškai asilų, ir dar tai labai juokingas 565 00:31:41,000 --> 00:31:44,000 tada skaityti apie kai kurių labai gerai žinomų kompanijų 566 00:31:44,000 --> 00:31:47,000 kartais spaudoje, kurių duomenų bazės yra pavojus, 567 00:31:47,000 --> 00:31:50,000 ir ta dalis yra ne juokinga, bet tai, kad duomenų bazės yra paprastasis 568 00:31:50,000 --> 00:31:53,000 slaptažodžiai yra juokinga, nes tiesiog vieną eilutę kodo 569 00:31:53,000 --> 00:31:57,000 galite apsisaugoti nuo tos konkrečios grėsmės, ir tai, ką mes padarėme čia. 570 00:31:57,000 --> 00:32:00,000 Net mūsų netikrą mažai CS50 Finansų versija 571 00:32:00,000 --> 00:32:03,000 mes šifravimo slaptažodžius tiesiog gera priemonė, ir tai, kad 572 00:32:03,000 --> 00:32:07,000 visi iš šių slaptažodžių pradėti nuo $ 1 $ yra tik konvencija. 573 00:32:07,000 --> 00:32:10,000 Tai tiesiog reiškia, kad jie yra užšifruotas, arba tikrai sumaišomas, 574 00:32:10,000 --> 00:32:13,000 , kuris yra panašus į vieną pusę šifravimo funkcija 575 00:32:13,000 --> 00:32:17,000 o jūs negalite pakeisti savo poveikio kažką vadinama suma MD5. 576 00:32:17,000 --> 00:32:21,000 >> Tas faktas, kad 50 yra po to reiškia, kad druska vertė 577 00:32:21,000 --> 00:32:24,000 iš 50 buvo naudojamas maišos visi, išskyrus vieną iš šių slaptažodžių. 578 00:32:24,000 --> 00:32:27,000 Mine, žinoma, kaip matote ten, korektorius, 579 00:32:27,000 --> 00:32:30,000 naudojant skirtingos druskos, todėl tiems iš jūsų, kurie gavo šiek tiek užkliuvo 580 00:32:30,000 --> 00:32:33,000 gal Hacker 2, kad galėjo mūsų, kurie naudojo rezultatas 581 00:32:33,000 --> 00:32:36,000 už kitus, nes skiriasi maišos mano slaptažodis yra faktiškai tas pats 582 00:32:36,000 --> 00:32:38,000 kai kito vartotojo up there. 583 00:32:38,000 --> 00:32:41,000 Iš tiesų, jei jūs laukėte visi šie savaites išsiaiškinti, 584 00:32:41,000 --> 00:32:44,000 ką šie slaptažodžiai slaptažodžiai, kad jums buvo užginčytos 585 00:32:44,000 --> 00:32:48,000 nulaužti hacker leidimo problemą, 2, todėl nėra labai sudėtinga. 586 00:32:48,000 --> 00:32:50,000 Tiesą sakant, Malan buvo kaip jharvard pats 587 00:32:50,000 --> 00:32:54,000 bet jei mes einame atgal, jie atrodė kitaip. 588 00:32:54,000 --> 00:32:58,000 >> Sutelkti dėmesį į jharvard, raudonu, nes jie buvo sūdyti skirtingai. 589 00:32:58,000 --> 00:33:01,000 Algoritmas buvo pasipiktinimas taip, kad 590 00:33:01,000 --> 00:33:05,000 maišos vertė, saugiame reikšmė atrodo šiek tiek skiriasi 591 00:33:05,000 --> 00:33:08,000 , nes sąnaudos buvo šiek tiek skiriasi, bet po gaubtu slaptažodis 592 00:33:08,000 --> 00:33:10,000 galiausiai dar buvo tamsiai raudonos spalvos. 593 00:33:10,000 --> 00:33:12,000 Dabar, who cares apie tai? 594 00:33:12,000 --> 00:33:15,000 Na, mes teikiame jums mėginio vartotojams, vartotojo vardų pavyzdžiai 595 00:33:15,000 --> 00:33:18,000 ir jų slaptažodžius maišas, todėl, kad jūs iš tikrųjų turi tam tikrų 596 00:33:18,000 --> 00:33:23,000 CS50 Finansų klientai už pirmą kartą gauti nuo žemės su savo kodą. 597 00:33:23,000 --> 00:33:27,000 Jūs turite vykdo daugiau nei viduje MySQL lenteles viduje duomenų bazę. 598 00:33:27,000 --> 00:33:30,000 Jūs turite sukurti daugiau skaičiuokles, efektyviai, tačiau mes nusprendėme suteikti jums šį vieną 599 00:33:30,000 --> 00:33:33,000 , kad jums prasidėjo, ir jūs pamatysite, kad problema rinkinys specifikacija 600 00:33:33,000 --> 00:33:37,000 walks jus per importuoti šią lentelę 601 00:33:37,000 --> 00:33:39,000 ir taip pat paaiškinti, ką kai kurie rodikliai yra 602 00:33:39,000 --> 00:33:41,000 ir jūs taip pat pamatysite, kad mes suteiksime Jums su kodu 603 00:33:41,000 --> 00:33:44,000 tvarkyti šių slaptažodžių maišos arba šifravimo, 604 00:33:44,000 --> 00:33:49,000 , taigi jums nereikės nerimauti per daug apie Kontrolinė suma MD5 arba kaip iš tiesų yra visa informacija apie. 605 00:33:49,000 --> 00:33:53,000 >> Taigi, SQL Structured Query Language. 606 00:33:53,000 --> 00:33:56,000 Tai, paprasčiausiai, kalba, mes ruošiamės pradėti naudoti pset 7 607 00:33:56,000 --> 00:34:01,000 o gal ir ne tik prašyti duomenų iš kai duomenų bazės. 608 00:34:01,000 --> 00:34:06,000 Duomenys, vėl saugomi lentelių šių Reliacinė lentelių, stulpelių ir eilučių, 609 00:34:06,000 --> 00:34:09,000 tačiau naudojant kai gana paprasta sintaksė jis ištrintas, 610 00:34:09,000 --> 00:34:12,000 įterpti, atnaujinti ir pasirinkite galime daryti būtent tai. 611 00:34:12,000 --> 00:34:15,000 Mes galime ištrinti iš duomenų bazės, įterpti, 612 00:34:15,000 --> 00:34:19,000 atnaujinti duomenis, taip pat pasirinkti, tai yra, gauti duomenis iš duomenų bazės. 613 00:34:19,000 --> 00:34:21,000 Kaip mes eiti apie tai daryti? 614 00:34:21,000 --> 00:34:23,000 Leiskite man eiti į priekį į prietaiso. 615 00:34:23,000 --> 00:34:28,000 Leiskite man atsigriebti http://localhost, 616 00:34:28,000 --> 00:34:30,000 , vėlgi, yra vietos pats prietaisas. 617 00:34:30,000 --> 00:34:32,000 Tai jos Numatytasis slapyvardis. 618 00:34:32,000 --> 00:34:35,000 Ir leisk man išvykti / phpmyadmin. 619 00:34:35,000 --> 00:34:39,000 Panašu, kad tai specialus URL, kad prietaisas yra iš anksto sukonfigūruotas suprasti 620 00:34:39,000 --> 00:34:42,000 kad iš karto paragina man vartotojo vardą ir slaptažodį. 621 00:34:42,000 --> 00:34:46,000 >> Kaip įprasta, aš ruošiuosi įveskite jharvard ir raudona, 622 00:34:46,000 --> 00:34:48,000 bet suprantame, kad sąskaitos administratoriaus kompiuteryje. 623 00:34:48,000 --> 00:34:53,000 Tai tik sutapimas, kad ten taip pat CS50 Finansų registruotas jharvard. 624 00:34:53,000 --> 00:34:56,000 Jharvard, tamsiai raudonos spalvos, "enter" suteikia man vartotojo sąsaja, kuri mes matėme 625 00:34:56,000 --> 00:34:59,000 prieš akimirką žvilgsnis, ir tai šiek tiek absoliuti per pirmąjį, 626 00:34:59,000 --> 00:35:02,000 bet būkite tikri, jūs niekada turite paspausti dauguma nuorodų į šią priemonę. 627 00:35:02,000 --> 00:35:05,000 Jūs galų gale naudojant nedidelį poaibį, kad yra super naudinga, 628 00:35:05,000 --> 00:35:08,000 kurių pirmasis yra duomenų bazės čia. 629 00:35:08,000 --> 00:35:11,000 Jei man eiti prie duomenų bazių, atkreipkite dėmesį, kad aš paraginti sukurti duomenų bazę. 630 00:35:11,000 --> 00:35:14,000 Tai, kaip sukurti naują "Excel" failą, efektyviai. 631 00:35:14,000 --> 00:35:18,000 Aš ruošiuosi eiti į priekį ir vadinti šią paskaitą, ir aš tik ketina ignoruoti srityje egzistuoja, sugretinti. 632 00:35:18,000 --> 00:35:20,000 Ji turi daryti su duomenų atstovavimo jame, 633 00:35:20,000 --> 00:35:24,000 ir aš ruošiuosi spauskite kurti, ir dabar pastebėti, kaip aš atleiskite Create 634 00:35:24,000 --> 00:35:27,000 kairėje pusėje, kur jis sako, nėra duomenų bazės 635 00:35:27,000 --> 00:35:30,000 Aš netrukus turėtų pamatyti paskaita duomenų bazę. 636 00:35:30,000 --> 00:35:32,000 >> Jei aš spustelėkite kairėje pusėje, paskaita duomenų bazės, 637 00:35:32,000 --> 00:35:34,000 pastebėti mano skirtukų pakeisti šiek tiek. 638 00:35:34,000 --> 00:35:38,000 Turiu struktūrą, SQL, eksportuoti, importuoti ir kai kurių kitų dalykų. 639 00:35:38,000 --> 00:35:40,000 Struktūra yra beveik tuščias. 640 00:35:40,000 --> 00:35:43,000 Nėra lentelių rasti duomenų bazėje, kaip ji sako, čia, 641 00:35:43,000 --> 00:35:47,000 todėl galime sukurti lentelę, ir eikime į priekį ir sukurti lentelę 642 00:35:47,000 --> 00:35:53,000 patinka studentus ir kiek stulpelių mes norime? 643 00:35:53,000 --> 00:35:55,000 Galime laikyti tai paprasta, ir tegul kiekvienam studentui įrašas 644 00:35:55,000 --> 00:35:58,000 ID numeris, vardas ir elektroninio pašto adresą. 645 00:35:58,000 --> 00:36:02,000 >> Mes keep it simple, pavyzdžiui, kad taip 3 skiltyse, eiti. 646 00:36:02,000 --> 00:36:05,000 Forma, kad jūs matote čia yra šiek tiek nepatogus ir didele, 647 00:36:05,000 --> 00:36:08,000 bet mes tiesiog turime eiti per jį eilės eilės, todėl tikrai greitai suteikime 648 00:36:08,000 --> 00:36:14,000 pirmasis stulpelis šioje duomenų bazėje ID Pavadinimas unikalaus identifikatoriaus. 649 00:36:14,000 --> 00:36:17,000 Tai bus sveikasis skaičius. Aš iš tikrųjų gali ignoruoti ilgio ir vertybes. 650 00:36:17,000 --> 00:36:21,000 Int bus 32 bitų Nesvarbu, ką jūs įveskite ten, tad palikite jį tuščią. 651 00:36:21,000 --> 00:36:24,000 Numatytoji vertė, aš galėtų padaryti jį null, kaip apibrėžta. 652 00:36:24,000 --> 00:36:27,000 Aš ruošiuosi palikti kad vien. Tegul ne nerimauti numatytąsias vertes. 653 00:36:27,000 --> 00:36:29,000 Leiskite slinkti per čia į dešinę, atributų. 654 00:36:29,000 --> 00:36:31,000 Tai įdomu. 655 00:36:31,000 --> 00:36:33,000 Eikime į priekį ir šiek tiek netiksliai pasakyti, kad ID turi būti nepasirašytas. 656 00:36:33,000 --> 00:36:35,000 Tegul ne atliekų jokių neigiamų skaičių. 657 00:36:35,000 --> 00:36:37,000 >> Eikime 0 iki 4 mlrd, duoti ar priimti, 658 00:36:37,000 --> 00:36:40,000 ir tada tegul ne paliesti bet kurį iš šių sričių, tik dar ten, 659 00:36:40,000 --> 00:36:43,000 bet tada leiskite žemyn čia įveskite pavadinimą, 660 00:36:43,000 --> 00:36:46,000 ir tada kitas elektroninio pašto, todėl laimikis laišką 661 00:36:46,000 --> 00:36:50,000 vardas ir pavardė, akivaizdžiai nėra sveikieji skaičiai, todėl galime pakeisti juos kitoje srityje. 662 00:36:50,000 --> 00:36:53,000 Pasirodo, varchar, kintamo ilgio char, 663 00:36:53,000 --> 00:36:56,000 pavyzdžiui, SQL duomenų bazės eilutę 664 00:36:56,000 --> 00:36:59,000 bet kintamo ilgio, ir jūs iš tikrųjų turiu pasakyti iš anksto 665 00:36:59,000 --> 00:37:02,000 maksimalus eilutės ilgis, todėl aš šiek tiek netiksliai 666 00:37:02,000 --> 00:37:05,000 konferencijų tipo 255 simbolių. 667 00:37:05,000 --> 00:37:08,000 Galėtų visiškai pasakyti 32. Galėčiau pasakyti 1000. 668 00:37:08,000 --> 00:37:11,000 Jūs savo demografija, kas yra natūra, reikia nuspręsti už save, remiantis 669 00:37:11,000 --> 00:37:14,000 The Longest studento vardas ir eiti su tuo numeriu arba šiek tiek didesnis, 670 00:37:14,000 --> 00:37:17,000 bet kas yra malonu apie VARCHAR ta, kad jis nesiruošia atliekų 671 00:37:17,000 --> 00:37:19,000 255 baitų kiekvieno studento vardo. 672 00:37:19,000 --> 00:37:23,000 Jei ji Davidas jis nesiruošia naudoti vieną visumą 255 baitai, 673 00:37:23,000 --> 00:37:26,000 bet tai viršutinė riba, todėl aš eisiu su 255 tik pagal susitarimą, 674 00:37:26,000 --> 00:37:30,000 , tačiau mes galime diskutuoti, kad turi būti šiek tiek mažesnė vertė, ir elektroninio pašto adresą 675 00:37:30,000 --> 00:37:34,000 tiesiog turi būti suderinti 255, bet vėlgi, mes galime turėti tos pačios diskusijos. 676 00:37:34,000 --> 00:37:36,000 Bet aš ruošiuosi daryti vienas kitas dalykas, čia dešinėje pusėje. 677 00:37:36,000 --> 00:37:40,000 >> Kas yra galingas apie duomenų bazę, kad ji gali padaryti daug sunkiųjų kėlimo 678 00:37:40,000 --> 00:37:42,000 arba sudėtingas darbą už jus. 679 00:37:42,000 --> 00:37:46,000 Visų pirma, aš tikrai nerūpi, ką mano studento ID numeriai. 680 00:37:46,000 --> 00:37:49,000 Tai tiesiog reiškia būti unikalus identifikatorius duomenų bazėje 681 00:37:49,000 --> 00:37:52,000 taip, aš turiu 32-bit glaustą šio studento atstovavimas 682 00:37:52,000 --> 00:37:55,000 todėl, kad turiu šiek tiek unikaliai identifikuojantis kelią 683 00:37:55,000 --> 00:37:58,000 Tegul nebus 2 Davids, pavyzdžiui, vienoje klasėje. 684 00:37:58,000 --> 00:38:01,000 Tiesą sakant, aš ruošiuosi patikrinti šį AI langelį, auto prieaugio, 685 00:38:01,000 --> 00:38:04,000 kad duomenų bazės, MySQL, skaičiai, 686 00:38:04,000 --> 00:38:08,000 kiekvieno naujai įterpiamas studento ID bus. 687 00:38:08,000 --> 00:38:11,000 Aš net neturi rūpintis, kad mano kodas, 688 00:38:11,000 --> 00:38:13,000 ir aš taip pat ketina pasirinkti kažką pagal indekso meniu. 689 00:38:13,000 --> 00:38:17,000 Indeksas nukristi čia pagrindinis, unikalus, 690 00:38:17,000 --> 00:38:19,000 indeksas ir visas tekstas. 691 00:38:19,000 --> 00:38:21,000 Gal galite atspėti, ką iš šių dalykų pora, 692 00:38:21,000 --> 00:38:24,000 tačiau paaiškėja, Reliacinė duomenų bazė 693 00:38:24,000 --> 00:38:28,000 esate programuotojas arba duomenų bazės administratorius gauti preemptively 694 00:38:28,000 --> 00:38:32,000 užuominų į duomenų bazę, kaip į kokius laukus 695 00:38:32,000 --> 00:38:34,000 lentelėje yra šiek tiek specialusis. 696 00:38:34,000 --> 00:38:37,000 >> Pavyzdžiui, šiuo atveju aš ruošiuosi pasakyti, kad ID 697 00:38:37,000 --> 00:38:42,000 bus pagrindinis indeksas, kitaip žinomas kaip pirminį raktą. 698 00:38:42,000 --> 00:38:44,000 Ką tai reiškia, pagal apibrėžimą, yra tai, kad ID šiol 699 00:38:44,000 --> 00:38:48,000 vienareikšmiškai identifikuoti studentus šioje lentelėje. 700 00:38:48,000 --> 00:38:53,000 Joks studentas turės tą patį ID, nes aš nustatyti šį apribojimą arba šis rodiklis. 701 00:38:53,000 --> 00:38:55,000 Be to, tai, ką ketina padaryti už mane jis ketina pasakyti 702 00:38:55,000 --> 00:38:58,000 MySQL, kad ID yra ypatinga. 703 00:38:58,000 --> 00:39:03,000 Man rūpi ypač apie ID, kad eiti į priekį ir padaryti savo išgalvotas duomenų struktūra magija 704 00:39:03,000 --> 00:39:05,000 sukurti tam tikrą medžio rūšį. 705 00:39:05,000 --> 00:39:08,000 Paprastai tai kažkas, vadinamas B-medis, kurį žiūrėjo ne savaites, 706 00:39:08,000 --> 00:39:11,000 bet tai kita tokia duomenų struktūra panaši dvasia dvejetainiai medžiai 707 00:39:11,000 --> 00:39:15,000 ir bando, kad mes pažvelgė, bet jis ketina pasakyti 708 00:39:15,000 --> 00:39:18,000 į duomenų bazę šioje srityje yra labai svarbu, kad aš tikriausiai 709 00:39:18,000 --> 00:39:22,000 norite, kad būtų galima ieškoti, eiti į priekį ir sukurti šiek tiek fantazijos 710 00:39:22,000 --> 00:39:25,000 duomenų struktūra atmintyje paspartinti paieškas, todėl, kad idealiu atveju 711 00:39:25,000 --> 00:39:28,000 jie nuolatinio laiko, ar bent jau taip arti, kad kaip įmanoma 712 00:39:28,000 --> 00:39:32,000 taip, kad jis nepereina į linijinių paieška, kuri yra nesiruošia būti 713 00:39:32,000 --> 00:39:34,000 aukščiausias atlikti požiūrį. 714 00:39:34,000 --> 00:39:37,000 Priešingai, elektroninio pašto adresą, galėjo būti pirminis raktas. 715 00:39:37,000 --> 00:39:41,000 >> Teoriškai, kiekvienas el.pašto adresas yra unikalus, jei norite bendrinti tam tikrą sąskaitą, 716 00:39:41,000 --> 00:39:45,000 bet tai paprastai nėra gerai naudoti kažką panašaus eilutę 717 00:39:45,000 --> 00:39:49,000 kaip pirminį raktą, nes jei jos tikslas gyvenime yra unikaliai identifikuoti 718 00:39:49,000 --> 00:39:55,000 eilutes šioje lentelėje nėra jokios priežasties naudoti 255 baitų maksimaliai 719 00:39:55,000 --> 00:39:58,000 galėtų vienareikšmiškai identifikuoti kas nors, jei galite sau leisti tik su 4 baitų 720 00:39:58,000 --> 00:40:00,000 32-bitų int. 721 00:40:00,000 --> 00:40:03,000 Apskritai, pirminis raktas turi būti trumpas ir glaustas 722 00:40:03,000 --> 00:40:07,000 , o idealiu atveju sveikasis skaičius arba dideliame INT, kuri būna, kad 64 bitų kažkas panašaus. 723 00:40:07,000 --> 00:40:11,000 Pašto adresas turi būti unikalus, o vienas esminis duomenų bazės funkcijų 724 00:40:11,000 --> 00:40:14,000 yra užtikrinti unikalumą man. 725 00:40:14,000 --> 00:40:18,000 Pasirinkdami unikalus čia šalia elektroniniu paštu, nors elektroniniu paštu save 726 00:40:18,000 --> 00:40:21,000 persukimo ekraną, aš sakau, kad duomenų bazės 727 00:40:21,000 --> 00:40:23,000 nepasitiki manimi. 728 00:40:23,000 --> 00:40:26,000 Neleisk man įrašyti į duomenų bazę 729 00:40:26,000 --> 00:40:29,000 du kartus tą patį elektroninio pašto adresą, net jei aš idiotas ir nesu 730 00:40:29,000 --> 00:40:32,000 labai gerai su mano IF ir ELSE IF ir faktinės PHP kodas 731 00:40:32,000 --> 00:40:37,000 ir aš netyčia leidžia vartotojui užsiregistruoti esamą pašto adresą 732 00:40:37,000 --> 00:40:40,000 duomenų bazė gynybos lygis yra dar vienas teisingumas 733 00:40:40,000 --> 00:40:44,000 siekiant užtikrinti, kad, kad dviem egzemplioriais elektroninio pašto adresas nesibaigia iki pateiktoje lentelėje. 734 00:40:44,000 --> 00:40:49,000 >> Dabar, priešingai, pavadinimą tikriausiai ne norite padaryti, kad unikalus 735 00:40:49,000 --> 00:40:51,000 nes tada niekada negalėjo būti 2 Davids arba 2 Mike Smiths, pavyzdžiui, 736 00:40:51,000 --> 00:40:55,000 savo duomenų bazę, kad vienas mes tiesiog palikti ramybėje. 737 00:40:55,000 --> 00:40:58,000 Aš ruošiuosi eiti į priekį ir spustelėkite Įrašyti apačioje dešinėje, 738 00:40:58,000 --> 00:41:02,000 ir viskas atrodo gerai, bet pastebėsite čia 739 00:41:02,000 --> 00:41:04,000 tai yra dalis, kad dabar mes ne praleisti daug laiko 740 00:41:04,000 --> 00:41:07,000 nes sintaksė yra šiek tiek sudėtinga, ir mes neturime kurti lenteles 741 00:41:07,000 --> 00:41:10,000 visi, kad dažnai, bet ir pati SQL kalba, 742 00:41:10,000 --> 00:41:13,000 sintaksės, kuri yra čia, kad aš pabrėžė. 743 00:41:13,000 --> 00:41:18,000 Kas, phpMyAdmin tikrai yra, ji sukuria žiniatinklio GUI jums 744 00:41:18,000 --> 00:41:23,000 su kuria jūs galite sutaupyti laiko ir nereikės rankiniu būdu įvesti 745 00:41:23,000 --> 00:41:26,000 gana ilgai, SQL užklausos, pavyzdžiui, kad. 746 00:41:26,000 --> 00:41:29,000 >> Kitaip tariant, jei norite rankiniu būdu sukurti šią lentelę, 747 00:41:29,000 --> 00:41:32,000 arba kad juoda ir balta eilutę ar net phpMyAdmin 748 00:41:32,000 --> 00:41:35,000 naudojant šį skirtuką Kita, tai SQL skirtuką, kur Jūs galite įvesti bet SQL užklausų 749 00:41:35,000 --> 00:41:38,000 norite, tiesą sakant, tai buvo man minutėlę 750 00:41:38,000 --> 00:41:41,000 faktiškai prisiminti visą sintaksę, ir net tada aš tikriausiai 751 00:41:41,000 --> 00:41:45,000 padarė keletą rašybos klaidų, todėl ši priemonė yra naudinga dalykų, pavyzdžiui, kad ir jis taip pat pamokantis. 752 00:41:45,000 --> 00:41:49,000 Galite pradėti daryti išvadą, kas sintaksė yra 753 00:41:49,000 --> 00:41:52,000 tiesiog gražiu spalvų kodavimo, kad phpMyAdmin yra pridedant 754 00:41:52,000 --> 00:41:54,000 mūsų regėjimo patogumui. 755 00:41:54,000 --> 00:41:56,000 Tačiau dabar galime tai padaryti, o. 756 00:41:56,000 --> 00:42:00,000 Leiskite man eiti į įterpti skirtuką viršuje, ir leiskite man eiti į priekį ir įterpti pavyzdžiui 757 00:42:00,000 --> 00:42:04,000 tegul ID pasakyti iš tikrųjų man nerūpi. 758 00:42:04,000 --> 00:42:07,000 Ji ketina auto prieaugio. Aš ruošiuosi leisti duomenų bazės susidoroti su šia. 759 00:42:07,000 --> 00:42:11,000 Bet aš David, ir mano email turėtų būti malan@harvard.edu. 760 00:42:11,000 --> 00:42:16,000 >> Eikime į priekį čia ir įdėti Mike Smith kitą. 761 00:42:16,000 --> 00:42:18,000 Aš duosiu sau pavardę, taip pat, 762 00:42:18,000 --> 00:42:22,000 ir mes turime jam būti smith@example.com 763 00:42:22,000 --> 00:42:24,000 ir tada kur man eiti toliau? 764 00:42:24,000 --> 00:42:27,000 Na, atrodo, kad eiti yra mygtuką paspausti, ir voila. 765 00:42:27,000 --> 00:42:30,000 Pranešimas viršuje 2 įterptų eilučių. 766 00:42:30,000 --> 00:42:32,000 Tai yra faktinis SQL užklausa. 767 00:42:32,000 --> 00:42:36,000 Štai mane vykdomas phpMyAdmin įrankis, 768 00:42:36,000 --> 00:42:40,000 bet galutinis rezultatas, pranešimas, jei aš dabar eiti į naršymo skirtuko, 769 00:42:40,000 --> 00:42:43,000 2 eilutes šioje lentelėje, labai primena estetiškai 770 00:42:43,000 --> 00:42:46,000 pateiktos lentelės matėme anksčiau mūsų vartotojams iš pset 7 771 00:42:46,000 --> 00:42:51,000 vienas iš jų yra Davidas Malan, iš kurių vienas yra Mike Smith. 772 00:42:51,000 --> 00:42:54,000 Bet tiesiog, kad būtų aišku, aš ne reikia naudoti phpMyAdmin, 773 00:42:54,000 --> 00:42:56,000 ir iš tikrųjų, jūs ketinate netrukus rašyti kodą pset 7 774 00:42:56,000 --> 00:43:01,000 kuri automatizuoja procesą, pridėti eilutes, ištrinti eilutes, atnaujinti eilutes ir panašūs, 775 00:43:01,000 --> 00:43:04,000 todėl leiskite man vietoj to eiti į SQL skirtuką čia 776 00:43:04,000 --> 00:43:14,000 ir tipo SELECT * FROM studentų kai 777 00:43:14,000 --> 00:43:18,000 email = "malan@harvard.edu". 778 00:43:18,000 --> 00:43:21,000 >> Kitaip tariant, tarkime, dabar jūs turite 779 00:43:21,000 --> 00:43:26,000 Kai kurie HTML forma, ir vartotojas įveda savo elektroninio pašto adresą, be kitų sričių, 780 00:43:26,000 --> 00:43:29,000 ir tikslas dabar yra ant nugaros pabaigoje kodą PHP 781 00:43:29,000 --> 00:43:31,000 iš tikrųjų atrodo, kad vartotojas kitą informaciją. 782 00:43:31,000 --> 00:43:34,000 Kas yra jūsų vardas ir pavardė? Koks yra jūsų ID numeris? 783 00:43:34,000 --> 00:43:37,000 Jūs galite rašyti SQL užklausą panašaus į tai, SELECT * FROM studentų 784 00:43:37,000 --> 00:43:40,000 kur email = "malan@harvard.edu". 785 00:43:40,000 --> 00:43:46,000 Ir jei aš spustelėkite eiti, atkreipkite dėmesį, kad man reikia, ir iš tiesų aš, grįžti tik vieną eilutę. 786 00:43:46,000 --> 00:43:50,000 Mike praleistas šį rinkinį rezultatų, kaip eilučių rinkimo 787 00:43:50,000 --> 00:43:53,000 paprastai vadinamas, nes jis neturi tą patį e-pašto adresą, kaip ir aš. 788 00:43:53,000 --> 00:43:57,000 >> Dabar, vėlgi, čia pset 7 jums naudoti phpMyAdmin kaip administracinė priemonė 789 00:43:57,000 --> 00:44:00,000 ir pedagoginė priemonė sužinoti savo kelią 790 00:44:00,000 --> 00:44:03,000 visame pasaulyje SQL, bet ne dienos pabaigoje 791 00:44:03,000 --> 00:44:08,000 jūs ketinate rašyti šias užklausas viduje faktinio PHP kodo, 792 00:44:08,000 --> 00:44:11,000 ir so stay tuned Zamyla rankos ypač 793 00:44:11,000 --> 00:44:14,000 , kai gausite platinimo kodą kelionė šią problemą rinkinys 794 00:44:14,000 --> 00:44:18,000 kur mes davė jums ne tik estetika, prisijungimo puslapyje 795 00:44:18,000 --> 00:44:21,000 ir gražus seksualus logotipas, kad sako CS50 Finansai, tačiau mes taip pat davė jums 796 00:44:21,000 --> 00:44:24,000 krūva funkcijų, kurios padarys jūsų gyvenimą šiek tiek lengviau. 797 00:44:24,000 --> 00:44:27,000 Mes taip pat parašyta, kad jums pset 798 00:44:27,000 --> 00:44:32,000 prisijungimo dalis, visų pirma, siekiant suteikti Jums tipiškos dizaino jausmą 799 00:44:32,000 --> 00:44:36,000 kad faktiškai naudoja valdiklis, pavyzdžiui, index.php, 800 00:44:36,000 --> 00:44:40,000 login.php ir patinka, ir tada pamatysite, pset taip pat turi šablonų katalogą 801 00:44:40,000 --> 00:44:43,000 , kad turi savo nuomonę, estetika. 802 00:44:43,000 --> 00:44:46,000 Ir todėl bendras darbo eiga bus, kad pset 7 803 00:44:46,000 --> 00:44:49,000 jūsų vartotojai aplankyti valdiklį per URL naršyklėje. 804 00:44:49,000 --> 00:44:53,000 Kad reguliatorius yra PHP kodą, kurį rašė, ir viduje savo PHP kode 805 00:44:53,000 --> 00:44:57,000 gali būti įdėta tarp dvigubų kabučių kai kurie SQL linijos 806 00:44:57,000 --> 00:45:00,000 ir perduodama į funkciją rašėme, pavadintą užklausą 807 00:45:00,000 --> 00:45:03,000 , kuris padės jums kalbėti į duomenų bazę, naudojant kažką panašaus 808 00:45:03,000 --> 00:45:05,000 administracinė priemonė kaip phpMyAdmin. 809 00:45:05,000 --> 00:45:08,000 >> Galėsite rašyti SQL, PHP kodą 810 00:45:08,000 --> 00:45:11,000 ir grįžti PHP įvairių rezultatų rinkinį, 811 00:45:11,000 --> 00:45:14,000 eilučių, kad iš tikrųjų atitinka ta užklausa. 812 00:45:14,000 --> 00:45:18,000 Ir taip pat jūs galėsite padaryti įterpti ar pašalinti 813 00:45:18,000 --> 00:45:22,000 ar patobulinimus, pavyzdžiui, sintaksės, kuri yra gana panaši, 814 00:45:22,000 --> 00:45:25,000 ir pamatysite iš kai kurių interneto nuorodų, platinimo kodo 815 00:45:25,000 --> 00:45:29,000 ir iš pset pakuoti pati tiksliai, kaip eiti apie tai daro. 816 00:45:29,000 --> 00:45:33,000 Suprantu, galiausiai mes tikrai tik braižymo SQL paviršių 817 00:45:33,000 --> 00:45:36,000 MySQL, bet jo galia tikrai yra tai, kad ji išlaisvina jus 818 00:45:36,000 --> 00:45:40,000 sutelkti dėmesį į problemas norite išspręsti, naudojimo atvejai norite įgyvendinti 819 00:45:40,000 --> 00:45:43,000 be nerimauti gana tiek, kiek, bent jau pradžioje, 820 00:45:43,000 --> 00:45:47,000 apie tai, kur ir kaip saugoti ir ieškoti savo duomenų bazę, 821 00:45:47,000 --> 00:45:50,000 ir tai yra gana pažodžiui, kai "Facebook" pati gavo jos pradžios 822 00:45:50,000 --> 00:45:53,000 naudojant MySQL ir tada naudojant MySQL serverius ir tada daugiau MySQL serveriai 823 00:45:53,000 --> 00:45:57,000 iki ilgai, kol jie tada buvo sunku tikrai pradėti galvoti apie tai, kaip 824 00:45:57,000 --> 00:46:00,000 saugoti duomenis, kaip laikyti dalykų dar efektyviau, 825 00:46:00,000 --> 00:46:04,000 todėl, nors mes laiko savaime suprantamu dalyku tai, kad rodikliai ir unikalūs apribojimai 826 00:46:04,000 --> 00:46:08,000 ir tt tiesiog dirbti yra labai įdomus pokalbis 827 00:46:08,000 --> 00:46:12,000 , kad tai visa tai gali ilgainiui sukelti, kad suprasti, kad mes tiesiog įbrėžimas paviršiaus 828 00:46:12,000 --> 00:46:17,000 , kas ilgainiui galėtų jums ar jūsų projektams tapo gana didelių duomenų bitų. 829 00:46:17,000 --> 00:46:22,000 >> Turint tai sakė, galime baigti čia, ir mes Pasimatysime kitą savaitę. 830 00:46:28,000 --> 00:46:30,000 [CS50.TV]