1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Tjedan 8] 2 00:00:02,000 --> 00:00:04,000 [David J Malan] [Sveučilište Harvard] 3 00:00:04,000 --> 00:00:07,000 [Ovo je CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:09,000 >> Dobrodošao natrag. 5 00:00:09,000 --> 00:00:11,000 Ovo je CS50, a to je početak tjedna osam. 6 00:00:11,000 --> 00:00:14,000 Par prilika ovaj tjedan, 7 00:00:14,000 --> 00:00:17,000 među njima ovaj razgovor ovdje, u kojima su neki hrana će biti poslužen. 8 00:00:17,000 --> 00:00:20,000 Za više detalja pogledajte slajdove koji su online. 9 00:00:20,000 --> 00:00:24,000 I još jedan događaj ovaj tjedan vlastitim Thomas Carriero. 10 00:00:24,000 --> 00:00:27,000 On je jedan od CS50 je bivši šef nastavnih bližnjih koji je sada na Dropbox, 11 00:00:27,000 --> 00:00:29,000 i on je čovjek koji nas zakačen sa znate što, 12 00:00:29,000 --> 00:00:36,000 pa ako želite više od toga glave do njihovog razgovora popodne za ispuštanje i više. 13 00:00:36,000 --> 00:00:38,000 CS50 ručak je ovaj petak. 14 00:00:38,000 --> 00:00:41,000 Da li nam se pridružiti, ako ste u mogućnosti, 01:15, kao i obično, na vatre i leda. 15 00:00:41,000 --> 00:00:45,000 >> A sada smo zaroniti u nešto što se zove Seminari. 16 00:00:45,000 --> 00:00:49,000 Naši CS50 Seminari, podsjetimo, da su ovi fakultativne nastave na čelu nastavnih bližnjima 17 00:00:49,000 --> 00:00:51,000 i naravno pomoćnici i prijatelji naravno, 18 00:00:51,000 --> 00:00:55,000 ljudi iz skupine na kampusu zove ABCD, što je skupina 19 00:00:55,000 --> 00:00:58,000 technophiles na kampusu, kao i grupa pod nazivom HCS, 20 00:00:58,000 --> 00:01:02,000 Društvo Harvarda računala, studenti koji su na sličan su zainteresirani za računalstvo. 21 00:01:02,000 --> 00:01:08,000 Ovogodišnji popis igrača seminara uključuje seminare o Android i iOS i JavaScript 22 00:01:08,000 --> 00:01:13,000 i PHP, Unix, Vim, i više, tako da shvate da su ovi seminari dolaze. 23 00:01:13,000 --> 00:01:16,000 Ako želite RSVP za bilo koju od njih glavu taj URL tamo. 24 00:01:16,000 --> 00:01:20,000 Potom ćemo objaviti na stazi stranicama vremena i mjesta nakon što su dovršeni. 25 00:01:20,000 --> 00:01:26,000 Ali znam da je pet godina u vrijednosti od prethodnih seminara dostupni online, 26 00:01:26,000 --> 00:01:29,000 od kojih su mnogi još uvijek jako puno struje u smislu tehnologije možda ćete 27 00:01:29,000 --> 00:01:36,000 želite igrati s za svoje konačne projekte, pa krenuti tamo nekih dostupnih videa istih. 28 00:01:36,000 --> 00:01:39,000 >> CSS, one od vas koji su upoznati s CSS, već 29 00:01:39,000 --> 00:01:42,000 što je to u malom? 30 00:01:42,000 --> 00:01:45,000 Što je CSS? 31 00:01:45,000 --> 00:01:48,000 To je kaskadno Style Sheets, i što to znači? 32 00:01:48,000 --> 00:01:53,000 Što to učiniti za nas, CSS? 33 00:01:53,000 --> 00:01:57,000 U redu, idemo zagrijati s lakšim jedan, HTML, Hypertext Markup Language. 34 00:01:57,000 --> 00:02:01,000 Što to učiniti za nas? 35 00:02:01,000 --> 00:02:04,000 Svatko uopće? 36 00:02:04,000 --> 00:02:07,000 To je uzimajući stvarno neugodno pitati ta pitanja. 37 00:02:07,000 --> 00:02:11,000 HTML, hipertekstualni označni jezik. 38 00:02:11,000 --> 00:02:14,000 Da? Ne? 39 00:02:14,000 --> 00:02:17,000 [Nečujno učenik odgovor] 40 00:02:17,000 --> 00:02:20,000 Dobro, dobro, to nam omogućuje označavanje teksta za prikaz u web pregledniku. 41 00:02:20,000 --> 00:02:22,000 To nije programski jezik. 42 00:02:22,000 --> 00:02:25,000 To je doista Označni jezik, što znači da upućuje preglednik kako biste prikazali 43 00:02:25,000 --> 00:02:28,000 informacije, pa najjednostavniji inkarnacija to kao što smo vidjeli 44 00:02:28,000 --> 00:02:32,000 je nešto super jednostavan kao boldfacing, otvorena zagrada b zatvorena zagrada kaže 45 00:02:32,000 --> 00:02:36,000 napraviti ovaj tekst podebljano, a to je zapravo samo jedan od mnogih načina 46 00:02:36,000 --> 00:02:39,000 u kojima možemo učiniti da, i doista, ovih dana bolji pristup 47 00:02:39,000 --> 00:02:42,000 da stylizing svoju web stranicu, čineći stvari podebljano i kurziv 48 00:02:42,000 --> 00:02:47,000 i usmjeren i opravdana i slično, ne vrši se putem HTML tagova sami 49 00:02:47,000 --> 00:02:51,000 nego s tehnikom se zove CSS, Cascading Style Sheets. 50 00:02:51,000 --> 00:02:53,000 To je jezik za sebe. 51 00:02:53,000 --> 00:02:55,000 To također nije programski jezik, ali- 52 00:02:55,000 --> 00:02:58,000 svi, ovo je Dan, koji drži da nam se pridružite danas. 53 00:02:58,000 --> 00:03:01,000 Neke tehničke poteškoće. Nije problem. 54 00:03:01,000 --> 00:03:04,000 >> CSS nam omogućuje da stilizovati stranicu 55 00:03:04,000 --> 00:03:07,000 postavljanjem ono što se naziva svojstva, pa neka je pogledati ovo 56 00:03:07,000 --> 00:03:09,000 putem nekih osnovnih primjera. 57 00:03:09,000 --> 00:03:12,000 Pusti me u aparat danas. 58 00:03:12,000 --> 00:03:15,000 Imam izvorni osam ponedjeljak imenik ovdje, 59 00:03:15,000 --> 00:03:18,000 i ja idem u direktorij zvan CSS gdje imamo hrpu 60 00:03:18,000 --> 00:03:21,000 datoteka čekaju nas ovdje, 61 00:03:21,000 --> 00:03:27,000 iu ovoj mapi imamo, na primjer, search0.html od zadnji put. 62 00:03:27,000 --> 00:03:31,000 Sada, prisjetiti s search0 smo ostavili na ovoj bilješci 63 00:03:31,000 --> 00:03:35,000 po vrsta provedbi Google ili stvarno samo prednji kraj za njega tjedan dana ili tako prije, 64 00:03:35,000 --> 00:03:38,000 i primijetiti da smo imali neke nove oznake postoji. 65 00:03:38,000 --> 00:03:41,000 Imali smo h1 za veliki, podebljano tarifni broj, 66 00:03:41,000 --> 00:03:45,000 oblik, što nam je omogućilo da zapravo imaju HTML obrazac za unos korisnika. 67 00:03:45,000 --> 00:03:48,000 Akcija, što je smisao djelovanja atribut 68 00:03:48,000 --> 00:03:52,000 na HTML obrasca oznaku? 69 00:03:52,000 --> 00:03:58,000 Što je značenje ovog, akcije? 70 00:03:58,000 --> 00:04:00,000 Samo ću to učiniti danas. 71 00:04:00,000 --> 00:04:03,000 Akcija je destinacija gdje Obrazac će biti podnesen. 72 00:04:03,000 --> 00:04:07,000 Činjenica da je taj kaže action = "google.com / search" 73 00:04:07,000 --> 00:04:10,000 znači da kada korisnik klikne submit gumb ili ekvivalent 74 00:04:10,000 --> 00:04:14,000 bilo kojem obliku polja su ispuniti će biti poslan na naš poslužitelj ne 75 00:04:14,000 --> 00:04:17,000 ili naš aparat nego na taj određeni URL na Googleu. 76 00:04:17,000 --> 00:04:19,000 A način da će koristiti se zove dobiti, 77 00:04:19,000 --> 00:04:25,000 i dobiti, za sada, samo je tehnika za donošenje informacije zajedno na web server 78 00:04:25,000 --> 00:04:29,000 putem URL-a, tako da ćemo se brzo osvrnuti na kako se to radi. 79 00:04:29,000 --> 00:04:31,000 >> Primijetit ćete da postoji ulaz čije ime je q 80 00:04:31,000 --> 00:04:35,000 čiji tip je tekst, a zatim drugi ulaz tipa podnijeti 81 00:04:35,000 --> 00:04:39,000 čija je vrijednost CS50 Traži, i doista, ako ćemo otvoriti ovu datoteku ovdje, 82 00:04:39,000 --> 00:04:42,000 search0.html, to je super jednostavan oblik, 83 00:04:42,000 --> 00:04:45,000 i ako sam tražiti nešto poput informatike 84 00:04:45,000 --> 00:04:50,000 a zatim pritisnite enter ili kliknite na CS50 Traži 85 00:04:50,000 --> 00:04:53,000 primijetiti da je ono što se događa izvan uzimajući u Googleu 86 00:04:53,000 --> 00:04:56,000 Ja konkretno sam završio na ovom URL na vrhu, 87 00:04:56,000 --> 00:05:01,000 google.com / search? q = računalo + znanost, 88 00:05:01,000 --> 00:05:04,000 i informatika je očito ono što sam upisali u. 89 00:05:04,000 --> 00:05:06,000 + Samo znači da je mjesto gdje razmak bio, 90 00:05:06,000 --> 00:05:10,000 i to je učinjeno od strane browsera samo da bi bili sigurni da ne postoji 91 00:05:10,000 --> 00:05:13,000 zbunjenost i bijeli prostor u stvarni URL. 92 00:05:13,000 --> 00:05:15,000 I onda q, naravno, je parametar ime. 93 00:05:15,000 --> 00:05:20,000 Nismo vidjeli kako smo, programer, zapravo može pristupiti q gostiju. 94 00:05:20,000 --> 00:05:23,000 Možemo pretpostaviti da Google zna što učiniti s ovim ovdje, 95 00:05:23,000 --> 00:05:25,000 ali mi ćemo doći u dogledno vrijeme danas. 96 00:05:25,000 --> 00:05:30,000 >> No, dopustite mi pogledati umjesto na search1.html, 97 00:05:30,000 --> 00:05:34,000 koji izgleda malo drugačije, jer sam odlučila da je ovaj oblik ovdje je bio samo malo šepav. 98 00:05:34,000 --> 00:05:36,000 Mislim, to je u gornjem lijevom kutu. 99 00:05:36,000 --> 00:05:40,000 Tu je stvarno nema estetika na njega, i tako želim stilizovati to 100 00:05:40,000 --> 00:05:43,000 malo više poput Googlea, čija je početna, opoziv, 101 00:05:43,000 --> 00:05:47,000 iako možda ne posjetiti ga da često izgleda ovako danas na Noć vještica. 102 00:05:47,000 --> 00:05:53,000 Ako smo umjesto otvoriti verziju jedne od ove datoteke, traži 1.html, ja sam ga centriran. 103 00:05:53,000 --> 00:05:57,000 Ipak prilično ružna, ali barem sada sam počeo kontrolirati estetiku ovoj stranici, 104 00:05:57,000 --> 00:06:00,000 ne samo označavanje istih. 105 00:06:00,000 --> 00:06:04,000 Idemo pogledati potrazi 1, a tu je zapravo samo jedna razlika ovdje, 106 00:06:04,000 --> 00:06:06,000 što bi moglo iskočiti na vas, ili možda nije, 107 00:06:06,000 --> 00:06:11,000 ali ono što je jedan redak ili isječak razlike? 108 00:06:11,000 --> 00:06:14,000 >> Tu je ovaj stil atribut, pa ispada da je u HTML 109 00:06:14,000 --> 00:06:19,000 većina elementi, većina oznake mogu imati atribut style na njih, 110 00:06:19,000 --> 00:06:23,000 i unutar tog stila atribut je citirao niz, 111 00:06:23,000 --> 00:06:26,000 i da citira niz je CSS. 112 00:06:26,000 --> 00:06:29,000 Možete staviti kaskadni list stila u tu 113 00:06:29,000 --> 00:06:32,000 ga određuje kao nekretnina ime 114 00:06:32,000 --> 00:06:34,000 slijedi dvotočka slijedi vrijednosti. 115 00:06:34,000 --> 00:06:37,000 To je vrsta nesretnog dizajna odluke prije nekoliko godina 116 00:06:37,000 --> 00:06:40,000 da CSS je jezik za sebe, 117 00:06:40,000 --> 00:06:43,000 ali sintaktički to je vrlo različit od HTML-a. 118 00:06:43,000 --> 00:06:46,000 U ovom slučaju, vidimo da je unutrašnjost moje web stranice, koji je napisan u HTML-u, 119 00:06:46,000 --> 00:06:51,000 Imam CSS unutar tih citati, i konvencija za CSS 120 00:06:51,000 --> 00:06:55,000 je da imate ono što se zove svojstvo slijedi, opet, debelog crijeva, 121 00:06:55,000 --> 00:06:58,000 slijede vrijednosti te imovine, tako da ne postoji znak jednakosti. 122 00:06:58,000 --> 00:07:00,000 Nema dodatnih citati. 123 00:07:00,000 --> 00:07:03,000 To je upravo to debelo odvojeni ključ vrijednost par, 124 00:07:03,000 --> 00:07:05,000 i tekst linija radi upravo ono što kaže. 125 00:07:05,000 --> 00:07:09,000 To poravnava tekst u tijelo stranice, što je stvarno hrabrosti u stranici, 126 00:07:09,000 --> 00:07:11,000 u sredini. 127 00:07:11,000 --> 00:07:13,000 >> Ok, krajnji rezultat onda, da bude jasno, je to. 128 00:07:13,000 --> 00:07:17,000 Nije sve to seksi, ali barem je usmjeren i malo više kao pravi Googlea. 129 00:07:17,000 --> 00:07:21,000 No, što ako sam umjesto otvoriti verziju 2 ovog 130 00:07:21,000 --> 00:07:25,000 i istaknuti ovdje dolje novu oznaku uopce? 131 00:07:25,000 --> 00:07:30,000 Sada u glavi mojoj stranici, koja je ranije imala samo što oznaka 132 00:07:30,000 --> 00:07:32,000 u svim prethodnim primjerima? 133 00:07:32,000 --> 00:07:34,000 To je upravo to, naslov. 134 00:07:34,000 --> 00:07:38,000 Trenutak prije glava tag izgledao ovako. 135 00:07:38,000 --> 00:07:40,000 Sada, umjesto da ima stil tag unutar njega, 136 00:07:40,000 --> 00:07:44,000 i to previše, ispričavamo se, sintaktički izgleda jako razlikuje od HTML-a, 137 00:07:44,000 --> 00:07:47,000 ali kada se naviknete na njega, pri čemu unutar stila oznake 138 00:07:47,000 --> 00:07:50,000 Ja sada mogu uzeti ono što je trenutak prije 139 00:07:50,000 --> 00:07:54,000 atribut, stil atribut, a ja mogu staviti ga na samom vrhu moje stranice. 140 00:07:54,000 --> 00:07:56,000 >> Zašto? 141 00:07:56,000 --> 00:08:00,000 Pa, to je korak prema čišćenje stvari, baš kao u pisanom obliku C koda 142 00:08:00,000 --> 00:08:04,000 ponekad bi napisati funkcije za faktor od zajedničkog funkcionalnost. 143 00:08:04,000 --> 00:08:07,000 To je samo malo čišći početi faktoring iz stvari poput estetike 144 00:08:07,000 --> 00:08:11,000 na jednom središnjem mjestu nego da ga svi razasuti diljem HTML. 145 00:08:11,000 --> 00:08:14,000 To također čini ono što kaže, iako postoji malo novom sintakse. 146 00:08:14,000 --> 00:08:19,000 Ovo ovdje je selektor, a tijelo samo znači odaberite tijela elementa 147 00:08:19,000 --> 00:08:21,000 i primijeniti sljedeća svojstva za njega. 148 00:08:21,000 --> 00:08:23,000 Pa, vlasništvo je isti. 149 00:08:23,000 --> 00:08:25,000 Za dobru mjeru sam dodao zarez na kraju, 150 00:08:25,000 --> 00:08:29,000 koja teži da bude konvencija, a ja sam zamotan cijelu ovu nekretninu 151 00:08:29,000 --> 00:08:33,000 u vitičastim zagradama, jer sam zapravo mogao imati različite stvari ovdje. 152 00:08:33,000 --> 00:08:39,000 Ja sam zapravo mogao reći nešto poput boje: plava; 153 00:08:39,000 --> 00:08:42,000 >> Sada je to previše ne će biti korak prema bilo sve što je ljepše, 154 00:08:42,000 --> 00:08:47,000 ali ako ja sada vratiti na verziju 2 sam barem sada napravili tijelo moje 155 00:08:47,000 --> 00:08:49,000 stranice je tekst sve plavo. 156 00:08:49,000 --> 00:08:51,000 Gumb ostaje isti, jer to je ulaz. To nije čista tekst. 157 00:08:51,000 --> 00:08:56,000 Ali sve ostalo što je tekst, kao CS50 Pretraga do vrha, u stvari je plavo. 158 00:08:56,000 --> 00:09:01,000 Opet, sve smo učinili sada je ukloniti iz tijela tag, obavijest, 159 00:09:01,000 --> 00:09:04,000 stil atribut, a mi smo factored ga ovdje. 160 00:09:04,000 --> 00:09:08,000 To nije veliki napredak, ali ako uzmemo ovaj jedan korak dalje 161 00:09:08,000 --> 00:09:10,000 primijetiti ono što možemo učiniti u ovom trećem verziji ovdje. 162 00:09:10,000 --> 00:09:14,000 >> U search3.html web stranica je gotovo identičan 163 00:09:14,000 --> 00:09:17,000 osim za ono što novi tag sada? 164 00:09:17,000 --> 00:09:20,000 Link, tako da je ovo jedna nije vrlo podesno zove 165 00:09:20,000 --> 00:09:24,000 jer niste povezivanju u smislu kliknuti hiperveze. 166 00:09:24,000 --> 00:09:28,000 Umjesto toga, ti si vrsta radi ekvivalent # uključiti u C 167 00:09:28,000 --> 00:09:31,000 pri čemu vezu oznaka s href atribut 168 00:09:31,000 --> 00:09:34,000 i rel atribut kaže ići naprijed 169 00:09:34,000 --> 00:09:39,000 i kopirati zalijepiti sadržaj datoteke zove search3.css ovdje, u suštini. 170 00:09:39,000 --> 00:09:42,000 To ne sasvim učiniti, ali da je duh njega. 171 00:09:42,000 --> 00:09:45,000 Ona kaže ići otvoreno tu datoteku, search3.css, 172 00:09:45,000 --> 00:09:49,000 i tretirati ga kao da je korisnik imao ga upisali ovdje u glavu stranici 173 00:09:49,000 --> 00:09:51,000 baš kao što sam učinio u prethodnom primjeru. 174 00:09:51,000 --> 00:09:54,000 Search3.css, u međuvremenu, je prilično jednostavna. 175 00:09:54,000 --> 00:09:58,000 To je zapravo samo sadrži točno ono što je trenutak prije 176 00:09:58,000 --> 00:10:03,000 u stilu tag, ali ja sam factored ga ovdje vlastitoj datoteci. 177 00:10:03,000 --> 00:10:07,000 >> Iako nismo proveli puno vremena na sve u HTML ili web programiranje 178 00:10:07,000 --> 00:10:11,000 Jednostavno intuitivno što je motivacija, možda, za faktoring iz 179 00:10:11,000 --> 00:10:14,000 ovaj mali isječak čak CSS u vlastitu datoteku 180 00:10:14,000 --> 00:10:19,000 i onda ga uključujući i ovaj link oznakom ovdje? 181 00:10:19,000 --> 00:10:21,000 [Nečujno učenik odgovor] 182 00:10:21,000 --> 00:10:25,000 Ok, to je lakše čitati u smislu da imate svoj CSS u CSS datoteci. 183 00:10:25,000 --> 00:10:28,000 Imate HTML u HTML datoteke, tako da je više čitati u tom smislu. 184 00:10:28,000 --> 00:10:30,000 Što drugo može biti uvjerljiv? Aha. 185 00:10:30,000 --> 00:10:32,000 [Nečujno učenik odgovor] 186 00:10:32,000 --> 00:10:35,000 Da, tako da možete uključiti ga mnogo puta, tako da sada radimo to 187 00:10:35,000 --> 00:10:38,000 Osnovni primjeri s pojedinim datotekama, ali pretpostavljam da ste zapravo stvaranje 188 00:10:38,000 --> 00:10:42,000 pravi web poput tebe će za pset 7 ili Vaš konačni projekt možda, 189 00:10:42,000 --> 00:10:45,000 i želite imati više web-stranica, kao što je sigurno čest na 190 00:10:45,000 --> 00:10:48,000 Stvarni World Wide Web, i da će to biti vrsta hrom 191 00:10:48,000 --> 00:10:52,000 morati kopirati i zalijepiti istu plavu boju 192 00:10:52,000 --> 00:10:56,000 i isti tekst poravnat centar u svakoj od tih stranica. 193 00:10:56,000 --> 00:10:59,000 Umjesto čini više smisla da faktor van, baš kao što smo učinili u C 194 00:10:59,000 --> 00:11:02,000 s h. datoteku, stavi ga u jednom središnjem mjestu, 195 00:11:02,000 --> 00:11:06,000 u ovom slučaju search3.css, a zatim dopustiti bilo koju datoteku 196 00:11:06,000 --> 00:11:11,000 u vaše web stranice zapravo su tu datoteku putem ove oznake ovdje u liniji 16. 197 00:11:11,000 --> 00:11:14,000 Kao što je obično slučaj, počeli smo s verzijom 0, koja vrsta djela 198 00:11:14,000 --> 00:11:18,000 ali nije nužno najbolji, i sa svakim korakom, 199 00:11:18,000 --> 00:11:21,000 traži 1, traži 2, a sada traži tri smo poduzeti ove korake za bebe 200 00:11:21,000 --> 00:11:26,000 prema nacrtima koji su malo čišći i više pripremni 201 00:11:26,000 --> 00:11:30,000 za složenije stranice koje smo mogli učiniti niz cestu. 202 00:11:30,000 --> 00:11:33,000 >> Dopustite mi otvoriti jedan zadnji primjer ovdje samo pokazati 203 00:11:33,000 --> 00:11:36,000 još stilizirana stranica, ali prvo pogledajmo HTML. 204 00:11:36,000 --> 00:11:41,000 Ovo je search4.html, a primijetiti da strukturalno to je gotovo isto 205 00:11:41,000 --> 00:11:44,000 osim za uvođenje novog krpa, Div. 206 00:11:44,000 --> 00:11:48,000 Div je oznaka koja uvodi podjelu na stranici. 207 00:11:48,000 --> 00:11:51,000 Možete misliti o tome kao nevidljivi pravokutnik. 208 00:11:51,000 --> 00:11:54,000 To vrsta stvara pojasa području u web stranicu 209 00:11:54,000 --> 00:11:56,000 da možete stilizovati sve odjednom. 210 00:11:56,000 --> 00:11:58,000 Ono što sam učinio ovdje je kako slijedi. 211 00:11:58,000 --> 00:12:01,000 Unutar moje tijelo tag, koji je bio tamo svi zajedno, 212 00:12:01,000 --> 00:12:05,000 Ja govorim stvoriti podjelu stranici ovdje preko linije 45 do 47, 213 00:12:05,000 --> 00:12:09,000 i da u suštini znači daj mi nevidljivi pravokutnik duž vrhu stranice. 214 00:12:09,000 --> 00:12:14,000 Tada mi dati drugi pravokutnik, iako nevidljiv, ispod toga, 215 00:12:14,000 --> 00:12:16,000 i to prepoznati po imenu sadržaja, a zatim na kraju, 216 00:12:16,000 --> 00:12:19,000 daj mi trećina podjelu stranici na dnu 217 00:12:19,000 --> 00:12:21,000 zove ID. 218 00:12:21,000 --> 00:12:23,000 Vidjet ćemo zašto sam to učinio u samo jednom trenutku, 219 00:12:23,000 --> 00:12:26,000 ali konceptualno imam header podjelu. 220 00:12:26,000 --> 00:12:30,000 Imam sadržaja podjelu, a ja imam podnožja podjelu stranici 221 00:12:30,000 --> 00:12:32,000 iako su samo u oznake. 222 00:12:32,000 --> 00:12:35,000 Korisnik neće vidjeti tri pravokutnika, 223 00:12:35,000 --> 00:12:37,000 ali vrsta strukturno tamo iza kulisa 224 00:12:37,000 --> 00:12:39,000 oni su zapravo prisutne. 225 00:12:39,000 --> 00:12:41,000 >> Sada, tko mari? Zašto je zapravo to? 226 00:12:41,000 --> 00:12:43,000 Sve ostalo na stranici je isti kao što smo vidjeli prije. 227 00:12:43,000 --> 00:12:47,000 Evo moj oblik. Evo moj ulaz, moj ulaz, prijelom retka i tako dalje. 228 00:12:47,000 --> 00:12:50,000 Evo slika, ipak, pa ćemo vidjeti gdje je to došao iz u samo trenutak. 229 00:12:50,000 --> 00:12:52,000 Evo podnožja, što je novo, samo zato što sam htio uvesti 230 00:12:52,000 --> 00:12:54,000 neki više sadržaja ovdje. 231 00:12:54,000 --> 00:12:58,000 Ako smo pomicali gore primijetiti da ID ovom div je zaglavlje. 232 00:12:58,000 --> 00:13:02,000 ID ovoga div je sadržaj, a ID ovaj jedan je podnožje. 233 00:13:02,000 --> 00:13:05,000 I kao što ime sugerira, kada imate ID atribut 234 00:13:05,000 --> 00:13:09,000 u HTML, po definiciji to jedinstveno moraju identificirati 235 00:13:09,000 --> 00:13:12,000 jedan je od elemenata, jedan od oznake u svoju stranicu. 236 00:13:12,000 --> 00:13:16,000 Teret je potpuno na vama je da zapamtite da imate zaglavlja ID već. 237 00:13:16,000 --> 00:13:19,000 Imate podnožje. Imate sadržaja ID već. 238 00:13:19,000 --> 00:13:22,000 Računalo se neće shvatiti što dostupan ID je za vas, 239 00:13:22,000 --> 00:13:27,000 tako da slučajno mogao dati dvije Tags ID od zaglavlja, 240 00:13:27,000 --> 00:13:29,000 i samo da će biti u redu. 241 00:13:29,000 --> 00:13:31,000 >> Morate imati na umu ono što ste stvorili, 242 00:13:31,000 --> 00:13:34,000 ali nakon što ste učinili da obavijesti što možemo učiniti ovdje. 243 00:13:34,000 --> 00:13:38,000 Ja sada mogu navesti u mom stilu oznaku na vrhu 244 00:13:38,000 --> 00:13:41,000 ili ravnopravno u mojoj CSS datoteku, ako sam još uvijek koriste tu verziju, 245 00:13:41,000 --> 00:13:46,000 Ja mogu reći # zaglavlje, i što to znači je da bez obzira na oznaku 246 00:13:46,000 --> 00:13:49,000 u ovoj stranici ima ID zaglavlju 247 00:13:49,000 --> 00:13:53,000 i #, samo ljudske konvencije, predstavlja ID. 248 00:13:53,000 --> 00:13:56,000 Oštar znak ili funta znak predstavlja ID. 249 00:13:56,000 --> 00:13:58,000 Zaglavlje je ime koje sam dao. 250 00:13:58,000 --> 00:14:01,000 To znači primijeniti ovaj CSS imovine 251 00:14:01,000 --> 00:14:04,000 kako god oznaka na ovoj stranici nosi ID zaglavlju. 252 00:14:04,000 --> 00:14:06,000 Sve posao ovdje. 253 00:14:06,000 --> 00:14:09,000 Nanesite ovu imovinu, što se događa da se isti, bilo elementa 254 00:14:09,000 --> 00:14:11,000 čiji ID je sadržaj, a zatim ovamo 255 00:14:11,000 --> 00:14:14,000 Primijetit sam malo opremljeniji s podnožja. 256 00:14:14,000 --> 00:14:18,000 Bilo je element čiji ID je podnožje, od kojih ne može biti samo jedan, po definiciji, 257 00:14:18,000 --> 00:14:21,000 ići naprijed i učiniti njegova veličina slova manja, 258 00:14:21,000 --> 00:14:24,000 njegova težina fonta podebljano, njegova marža 20 piksela. 259 00:14:24,000 --> 00:14:26,000 >> Što to znači? 260 00:14:26,000 --> 00:14:28,000 To je samo marže na vrhu, na dnu, i lijeve i desne. 261 00:14:28,000 --> 00:14:31,000 To znači daj mi 20-pixel nevidljivu granicu oko njega 262 00:14:31,000 --> 00:14:35,000 samo gurnuti sve drugo od njega malo, kao što ste mogli učiniti u Wordu, 263 00:14:35,000 --> 00:14:37,000 Microsoft Word ili stranica ili slično. 264 00:14:37,000 --> 00:14:39,000 I onda tekst poravnati središte. 265 00:14:39,000 --> 00:14:43,000 Hajdemo vidjeti krajnji rezultat, a onda ćemo se vratiti do jednog preostalog isječak CSS tamo. 266 00:14:43,000 --> 00:14:48,000 Ova je verzija 4, naša posljednja za pretraživanje primjera, i to je puno, puno više seksi. 267 00:14:48,000 --> 00:14:54,000 Sada, u pravednosti, samo sam Googled "google generator fonta logo." 268 00:14:54,000 --> 00:14:58,000 I to mi je omogućilo stvaranje GIF, format slike, koja izgleda kao da postoji. 269 00:14:58,000 --> 00:15:00,000 U stvari, možete to učiniti previše. 270 00:15:00,000 --> 00:15:03,000 Imamo "google fontove logo generator." 271 00:15:03,000 --> 00:15:05,000 >> Hajdemo vidjeti možemo li to učiniti. 272 00:15:05,000 --> 00:15:07,000 Ok, mislim da je to web stranica sam koristio. 273 00:15:07,000 --> 00:15:11,000 Možemo reći Ec 10, na primjer, i učiniti ih sami. 274 00:15:11,000 --> 00:15:13,000 Možete igrati s ovim cijeli dan i onda desni klik na njega 275 00:15:13,000 --> 00:15:16,000 i onda preuzeti stvarnu GIF, koji je sve što sam učinio. 276 00:15:16,000 --> 00:15:19,000 I doista, to je razlog zašto u mom HTML, podsjetimo, ovdje 277 00:15:19,000 --> 00:15:22,000 Imao sam oznaku slike, koje smo vidjeli nakratko prošli tjedan 278 00:15:22,000 --> 00:15:24,000 čiji je izvor logo.gif. 279 00:15:24,000 --> 00:15:28,000 A opet što je bila motivacija za to što je ovaj alt atribut, 280 00:15:28,000 --> 00:15:31,000 ova alternativa atribut? 281 00:15:31,000 --> 00:15:33,000 Aha. 282 00:15:33,000 --> 00:15:35,000 [Nečujno učenik odgovor] 283 00:15:35,000 --> 00:15:37,000 Dobro, pa dva razloga stvarno, ako preglednik ne može podići sliku 284 00:15:37,000 --> 00:15:40,000 jer imate spor mrežnu vezu ili je slika oštećena 285 00:15:40,000 --> 00:15:44,000 ili nešto slično barem čovjek može vidjeti "CS50 pretragu," 286 00:15:44,000 --> 00:15:46,000 , a zatim i za pristupačnost razloga. 287 00:15:46,000 --> 00:15:48,000 Ako imate korisniku koji je slijep i koristite čitač zaslona 288 00:15:48,000 --> 00:15:50,000 i stoga je očito ne mogu vidjeti slike oni mogu barem 289 00:15:50,000 --> 00:15:52,000 čuti tekst ako njihovo računalo to govori za njih. 290 00:15:52,000 --> 00:15:56,000 >> U principu, to je najbolje vježbati kada je u pitanju dostupnost stranica 291 00:15:56,000 --> 00:16:00,000 tako da su čak i korisnici u toj situaciji može čuti ili vidjeti, da se tako izrazim, 292 00:16:00,000 --> 00:16:03,000 što je to što je na svojoj stranici. 293 00:16:03,000 --> 00:16:05,000 Postoji jedna druga stvar koju sam učinio ovdje 294 00:16:05,000 --> 00:16:09,000 što je malo zanimljivo, pa ćemo vidjeti više o tome u problemu postaviti 7 295 00:16:09,000 --> 00:16:12,000 preko jednog od gaćice čelu jedan od nastavnih bližnjima. 296 00:16:12,000 --> 00:16:15,000 No # sadržaj se odnosi na oznaku 297 00:16:15,000 --> 00:16:20,000 čiji ID je sadržaj, ali onda postoji razmak, a zatim tu je riječ ulaz. 298 00:16:20,000 --> 00:16:25,000 Pa, ono što je zanimljivo kod CSS je da možete 299 00:16:25,000 --> 00:16:29,000 odnose na oznake na stranice kakve hijerarhijski, 300 00:16:29,000 --> 00:16:33,000 i što je to isječak CSS sredstava je pronaći oznaku 301 00:16:33,000 --> 00:16:37,000 čiji ID je sadržaj, a zatim primijeniti sljedeća svojstva 302 00:16:37,000 --> 00:16:42,000 za sve ulazne oznake koje su potomci sadržaja, 303 00:16:42,000 --> 00:16:44,000 to je da su uvučene unutar nje. 304 00:16:44,000 --> 00:16:48,000 Uvlačenje, opet, samo je važno da na računalu, a ne na čovjeka, 305 00:16:48,000 --> 00:16:51,000 ali po konvenciji smo alineje stvari kao što idemo dublje u stranici, 306 00:16:51,000 --> 00:16:54,000 pa to znači primijeniti stopu od 5 piksela na bilo koji ulazni elementa 307 00:16:54,000 --> 00:16:57,000 to je negdje unutar ili ugniježđeni unutar 308 00:16:57,000 --> 00:16:59,000  Element čiji ID je sadržaj. 309 00:16:59,000 --> 00:17:01,000 >> Tko to primijeniti na? 310 00:17:01,000 --> 00:17:03,000 Pa, tu je zapravo samo ove dvije dečki ovdje. 311 00:17:03,000 --> 00:17:05,000 Obavijest da je unutrašnjost u obliku postoji dva ulaza, 312 00:17:05,000 --> 00:17:07,000 kao što je bilo za sve ove primjere. 313 00:17:07,000 --> 00:17:11,000 Ali primijetite da su dva ulaza dogoditi da se ugniježđena unutar, 314 00:17:11,000 --> 00:17:13,000 iako malo dublje, par slojeva otiska, 315 00:17:13,000 --> 00:17:16,000 unutar oznake čiji ID je sadržaj. 316 00:17:16,000 --> 00:17:18,000 Što to znači? 317 00:17:18,000 --> 00:17:21,000 Ako idemo u preglednik ovdje možete vidjeti ikada tako nešto- 318 00:17:21,000 --> 00:17:23,000 neka mi povećali-da ima malo padding između gumba 319 00:17:23,000 --> 00:17:25,000 i između tekstualno polje. 320 00:17:25,000 --> 00:17:27,000 >> Dopustite mi da privremeno se taj off. 321 00:17:27,000 --> 00:17:30,000 Pusti me do mog CSS, i pusti me naprijed i samo 322 00:17:30,000 --> 00:17:34,000 promijeniti ovu marginu od 5 piksela 0 piksela. 323 00:17:34,000 --> 00:17:37,000 Dopustite mi ići naprijed onda i spremite datoteku, vratiti na tražilici 324 00:17:37,000 --> 00:17:40,000 i ponovno, i gledati na sredini stranice. 325 00:17:40,000 --> 00:17:43,000 Sve je dobio stisnut zajedno, a kad sam prvi put šlag ovaj primjer gore 326 00:17:43,000 --> 00:17:46,000 Mislio sam da je ispao glup s tekstualnom polju a zatim na gumb odmah ispod njega. 327 00:17:46,000 --> 00:17:50,000 Htio sam da ga jastučić malo, tako da sam upoznao margine. 328 00:17:50,000 --> 00:17:55,000 Ono što mi neće raditi u predavanju je proći kroz nekoliko desetaka 329 00:17:55,000 --> 00:17:58,000 CSS svojstva koje postoje, jer, opet, tu su stvari poput veličine fonta, 330 00:17:58,000 --> 00:18:02,000 font težina, marža, tekst poravnati, a nekoliko desetaka drugih, 331 00:18:02,000 --> 00:18:06,000 a mi ćemo vas uputiti u problemu postaviti sedam raznih tutoriala online 332 00:18:06,000 --> 00:18:08,000 i reference koje omogućuju vam da odaberete ove stvari. 333 00:18:08,000 --> 00:18:10,000 No, ono što je doista važno na kraju dana 334 00:18:10,000 --> 00:18:12,000 >> je razumjeti kako te stvari se primjenjuju. 335 00:18:12,000 --> 00:18:15,000 Opet, ako imamo u stilu oznaku od kojih 336 00:18:15,000 --> 00:18:19,000 može ići selektora, vrsta identifikatora da odredite 337 00:18:19,000 --> 00:18:21,000 kojima želite primijeniti ta svojstva, 338 00:18:21,000 --> 00:18:24,000 i onda staviti svojstva kao ključni vrijednosti paru 339 00:18:24,000 --> 00:18:28,000 odvojeni dvotočkom i onda završio s zarezom, 340 00:18:28,000 --> 00:18:32,000 ili možete ripati sve to van i staviti ga u zasebnom CSS datoteke 341 00:18:32,000 --> 00:18:35,000 k sebi. 342 00:18:35,000 --> 00:18:39,000 U redu, bilo kakva pitanja o pojmovima 343 00:18:39,000 --> 00:18:41,000 ili velika slika CSS? 344 00:18:41,000 --> 00:18:43,000 Vi opet ćete vidjeti više od toga u pset 7, 345 00:18:43,000 --> 00:18:47,000 ali nastavit ćemo to općenito prilično jednostavna. 346 00:18:47,000 --> 00:18:49,000 Ne? U redu. 347 00:18:49,000 --> 00:18:51,000 To je vrijeme za stvarni programskom jeziku, 348 00:18:51,000 --> 00:18:54,000 a mi ćemo se vratiti malo CSS-u obliku primjer. 349 00:18:54,000 --> 00:18:58,000 PHP je zapravo predivno dostupni jezik 350 00:18:58,000 --> 00:19:02,000 time, da je to sintaktički gotovo jednaka C. 351 00:19:02,000 --> 00:19:06,000 Drugim riječima, ako znate C, znate za najveći dio PHP, 352 00:19:06,000 --> 00:19:08,000 barem sintaktički, iako postoje neke nove značajke 353 00:19:08,000 --> 00:19:10,000 i neki novi pojmovi ćemo morati pogledati. 354 00:19:10,000 --> 00:19:13,000 >> No, za najveći dio, sad kad smo prijelaz iz C PHP 355 00:19:13,000 --> 00:19:16,000 većina novih stvari je stvarno u veliku sliku, 356 00:19:16,000 --> 00:19:19,000 kako koristiti jezik programa na webu za razliku 357 00:19:19,000 --> 00:19:23,000 na naredbenog retka ili u treperi brz kao što smo radili do sada. 358 00:19:23,000 --> 00:19:27,000 Za referencu, pogotovo s pset 7 i konačnog projekta nadalje, 359 00:19:27,000 --> 00:19:31,000 ne iskoristiti ovaj URL ovdje ako želite pročitati na formalnosti PHP. 360 00:19:31,000 --> 00:19:34,000 To je zapravo sviđa besplatne online udžbenik učinkovito, 361 00:19:34,000 --> 00:19:37,000 a također ćete pronaći ono što je stvarno lijepo o PHP 362 00:19:37,000 --> 00:19:41,000 je da postoje stotine funkcija koje dolaze s njim, 363 00:19:41,000 --> 00:19:44,000 dok je u C što nije nužno imati pristup 364 00:19:44,000 --> 00:19:47,000 više funkcija nego su u math knjižnici, CS50 knjižnica. 365 00:19:47,000 --> 00:19:51,000 U PHP i puno modernih jezika, Python i Ruby među njima, 366 00:19:51,000 --> 00:19:54,000 ste dobili pristup tako mnogo više funkcija, što znači da se za pisanje 367 00:19:54,000 --> 00:19:57,000 puno manje kod jer možete stajati na ramenima drugih ljudi 368 00:19:57,000 --> 00:19:59,000 koji već napisao određene stvari za vas. 369 00:19:59,000 --> 00:20:03,000 >> Ajmo uzeti brzi obilazak sintaksu PHP, a zatim napisati nekoliko primjera. 370 00:20:03,000 --> 00:20:06,000 Što je lijepo o PHP prvo i osnovno 371 00:20:06,000 --> 00:20:08,000 je nema glavna funkcija. 372 00:20:08,000 --> 00:20:10,000 Ako želite napisati program u PHP samo početak pisanja koda, 373 00:20:10,000 --> 00:20:12,000 a vi ne morate brinuti o glavnom. 374 00:20:12,000 --> 00:20:14,000 Nema int. Nema povratka. 375 00:20:14,000 --> 00:20:17,000 Nema argv, argc što je potrebno kada pišete program. 376 00:20:17,000 --> 00:20:20,000 Umjesto možete samo početi pisati kod, a to je u dijelu 377 00:20:20,000 --> 00:20:23,000 jer PHP je ono što se zove tumačiti jezik. 378 00:20:23,000 --> 00:20:26,000 C je sastavio, i to je bio sastavljen u smislu da pokrenete 379 00:20:26,000 --> 00:20:29,000 s izvornog koda, pokrenite ga kroz zveka, što je prevodilac, 380 00:20:29,000 --> 00:20:33,000 i na kraju nakon nekog broja koraka dobijete objektnog koda, 0S i 1S. 381 00:20:33,000 --> 00:20:36,000 PHP i Python i Ruby i Pearl i drugi 382 00:20:36,000 --> 00:20:39,000 različite vrste jezika u da ih ne sastaviti. 383 00:20:39,000 --> 00:20:42,000 Vi ne idu iz izvornog koda na 0S i 1S. 384 00:20:42,000 --> 00:20:45,000 Vi samo pokrenuti izvorni kod, a vi pokrenuti izvorni kod 385 00:20:45,000 --> 00:20:49,000 pišući u uobičajenom tekstualnu datoteku, a završava u. php u ovom slučaju 386 00:20:49,000 --> 00:20:53,000 umjesto c., a ono što program radi na računalu 387 00:20:53,000 --> 00:20:57,000 je to doslovno tumači svoj kodni redak po redak po redak. 388 00:20:57,000 --> 00:21:00,000 >> Drugim riječima, umjesto da napisati program i pokrenuti program 389 00:21:00,000 --> 00:21:04,000 izravno umjesto toga napisati program s datoteku koja završava u. php. 390 00:21:04,000 --> 00:21:09,000 Tada ćete pokrenuti stvarni program pod nazivom php.exe, ako ste na Windowsima, 391 00:21:09,000 --> 00:21:12,000 ili samo PHP, ako ste na Mac OS i Linux, 392 00:21:12,000 --> 00:21:17,000 i vam dati kao ulaz u PHP programa svoj izvorni kod, 393 00:21:17,000 --> 00:21:20,000 i njegova svrha u životu je čitanje kod vrha do dna, s lijeva na desno, 394 00:21:20,000 --> 00:21:23,000 a ne ono što ste ga rekli učiniti. 395 00:21:23,000 --> 00:21:25,000 >> Idemo vidjeti što će to značiti sintaktički. 396 00:21:25,000 --> 00:21:27,000 U PHP imamo uvjete. 397 00:21:27,000 --> 00:21:29,000 Ovaj slajd je identičan onome što ste vidjeli u tjednu 1 398 00:21:29,000 --> 00:21:33,000 jer sintaktički uvjeti, IFS i drugdje IFS i drugdje u PHP 399 00:21:33,000 --> 00:21:35,000 izgledaju točno kao što je ovaj. 400 00:21:35,000 --> 00:21:38,000 Kada je u pitanju boolean izraza oni će izgledati točno ovako. 401 00:21:38,000 --> 00:21:43,000 Kada je u pitanju anding stvari zajedno, kao logičke to će izgledati točno ovako. 402 00:21:43,000 --> 00:21:46,000 Sklopke izgledati isto, a vi dobiti dodatnu korist u PHP 403 00:21:46,000 --> 00:21:51,000 da prebacuje u C samo mogao prebaciti na char ili int. 404 00:21:51,000 --> 00:21:53,000 Vi ne može prebaciti na vrijednosti niza. 405 00:21:53,000 --> 00:21:55,000 U PHP zapravo možete imati izraz 406 00:21:55,000 --> 00:21:58,000 da je varijabla čiji sadržaj su niz, 407 00:21:58,000 --> 00:22:01,000 i što zapravo može učiniti niz usporedbu u stvarnom intuitivan način, 408 00:22:01,000 --> 00:22:06,000 Ne pokazivač usporedba, kako bi se odlučiti hoće li to učiniti slučaj sam ili j ili nešto drugo. 409 00:22:06,000 --> 00:22:09,000 Vidjet ćemo da je potencijalno prije dugo. 410 00:22:09,000 --> 00:22:11,000 >> Petlje previše čudesno su isti. 411 00:22:11,000 --> 00:22:15,000 Za petlje imaju inicijalizaciju, što je uvjet, a neki broj promjenama. 412 00:22:15,000 --> 00:22:18,000 Dok petlje također postoje u PHP. 413 00:22:18,000 --> 00:22:21,000 Imate dok petlje također postoje u PHP-u, 414 00:22:21,000 --> 00:22:26,000 i polja postoje u PHP-u, ali ovdje gdje sintaksa počinje da se malo drugačije, 415 00:22:26,000 --> 00:22:29,000 ali pojmovi su isti, a pojmovi stvarno su isti 416 00:22:29,000 --> 00:22:32,000 kao što su bili u tjednu 0 s nule. 417 00:22:32,000 --> 00:22:34,000 Prvo i najvažnije je $ znak. 418 00:22:34,000 --> 00:22:37,000 To je dizajn odluka u PHP kojem neka varijabla 419 00:22:37,000 --> 00:22:41,000 u PHP po dizajn počinje s $ znakom. 420 00:22:41,000 --> 00:22:46,000 Nema više X, Y, Z. To je sada $ X, Y $, $ Z samo zato. 421 00:22:46,000 --> 00:22:49,000 To je nešto što treba imati na umu, a sada se na desnoj strani 422 00:22:49,000 --> 00:22:52,000 ovo izgleda slično niz, 423 00:22:52,000 --> 00:22:54,000 ali mi koristimo uglate zagrade ovdje. 424 00:22:54,000 --> 00:22:57,000 U PHP i JavaScript, kao što smo na kraju ćemo vidjeti, 425 00:22:57,000 --> 00:23:01,000 proglasiti niz ćete učiniti otvoreno četvornih konzolu i zatvorena uglata zagrada, 426 00:23:01,000 --> 00:23:04,000 i onda imate zarezom odvojen popis vrijednosti, da li Ints 427 00:23:04,000 --> 00:23:09,000 ili žice ili znakovi, što god želite, unutar tog izražavanja tamo. 428 00:23:09,000 --> 00:23:11,000 >> Sada, kako smo učinili nešto ovako u C? 429 00:23:11,000 --> 00:23:16,000 Ono što je sintaksa za statički proglašenje niz poznatih brojeva? 430 00:23:16,000 --> 00:23:19,000 To je kovrčava aparatić, pa manja razlika ovdje, ali u oba PHP 431 00:23:19,000 --> 00:23:22,000 i na kraju JavaScripta to samo koristi uglate zagrade, tako da stvarno 432 00:23:22,000 --> 00:23:25,000 jedina zanimljiva pojedinost ovdje je $ znak za ime varijable 433 00:23:25,000 --> 00:23:28,000 i uglatih zagrada, a tu je jedna čudna stvar 434 00:23:28,000 --> 00:23:32,000 koji je bio izostavljen, kao i na lijevoj strani = znaka. 435 00:23:32,000 --> 00:23:36,000 Ono što nedostaje da smo potrebe za nekoliko tjedana sada? Aha. 436 00:23:36,000 --> 00:23:38,000 [Nečujno učenik odgovor] 437 00:23:38,000 --> 00:23:41,000 Veličina, tako da nema spomena o veličini polja. 438 00:23:41,000 --> 00:23:45,000 Iskreno, nema spomena uglatim zagradama na lijevoj strani 439 00:23:45,000 --> 00:23:47,000 od = znak, a što drugo je nestalo iz linije? 440 00:23:47,000 --> 00:23:49,000 Da. >> [Nečujno učenik odgovor] 441 00:23:49,000 --> 00:23:52,000 Tipa, pa što je zanimljivo u posebno o PHP 442 00:23:52,000 --> 00:23:56,000 je da to nije čvrsto upisali jezik kao C, 443 00:23:56,000 --> 00:23:58,000 i da snažno je upisali u smislu da morate reći char, 444 00:23:58,000 --> 00:24:00,000 morate reći int, morate reći plovak. 445 00:24:00,000 --> 00:24:03,000 >> Anytime želite varijablu morate reći jeka što njegov tip. 446 00:24:03,000 --> 00:24:05,000 PHP je malo lazier. 447 00:24:05,000 --> 00:24:08,000 To labavo je upisali u smislu da 448 00:24:08,000 --> 00:24:11,000 možete imati pliva i znakovi i žice 449 00:24:11,000 --> 00:24:14,000 i Ints i tako dalje, ali sam jezik 450 00:24:14,000 --> 00:24:17,000 zapravo ne zanima što ste stavili unutar varijable. 451 00:24:17,000 --> 00:24:20,000 Ne morate ga unaprijed obavijestiti što tip podataka 452 00:24:20,000 --> 00:24:22,000 ide u varijablu. 453 00:24:22,000 --> 00:24:24,000 To je u potpunosti ovisi o vama, tako da je ovo lijepo 454 00:24:24,000 --> 00:24:27,000 u da ne morate brinuti koliko o podacima tipkati 455 00:24:27,000 --> 00:24:29,000 i zabrinjavajuće što vaši argumenti su i tako dalje. 456 00:24:29,000 --> 00:24:32,000 To također znači da na kraju funkcije u PHP će biti u mogućnosti da se vrate 457 00:24:32,000 --> 00:24:36,000 ili int većinu vremena, a možda jednom u neko vrijeme 458 00:24:36,000 --> 00:24:40,000 oni će se vratiti bool, a boolean false, na primjer, koji će značiti da je nešto pošlo po zlu. 459 00:24:40,000 --> 00:24:44,000 To nam daje neke odlika, ali također će nas učiniti vrsta po dizajnu 460 00:24:44,000 --> 00:24:47,000 malo lazier kada je u pitanju podataka tipkanje. 461 00:24:47,000 --> 00:24:50,000 >> Što još treba imati na umu ovdje? 462 00:24:50,000 --> 00:24:54,000 Varijable izgledaju prilično sviđa mi se ovo, pa $ a = "Hello, world." 463 00:24:54,000 --> 00:24:57,000 To je možda inferable iz prethodnog primjer, 464 00:24:57,000 --> 00:24:59,000 i imamo drugu vrstu petlje. 465 00:24:59,000 --> 00:25:02,000 Ovaj jedan mi zapravo ćemo vidjeti jednom u neko vrijeme budući da je vrlo zgodan, 466 00:25:02,000 --> 00:25:04,000 foreach izgraditi. 467 00:25:04,000 --> 00:25:11,000 U ovom slučaju, foreach petlja traje unutar svojih zagradama tri riječi obično, 468 00:25:11,000 --> 00:25:16,000 $ Nešto prvi, koji je ono polje želite ponoviti više članova, 469 00:25:16,000 --> 00:25:19,000 onda doslovno ključna kao, a zatim na kraju, 470 00:25:19,000 --> 00:25:21,000 drugo ime varijable da dođete do izabrati. 471 00:25:21,000 --> 00:25:23,000 To može biti Foo, Bar, ili element, 472 00:25:23,000 --> 00:25:26,000 i što to znači konstrukt 473 00:25:26,000 --> 00:25:29,000 je li $ polje sadrži 10 elemenata 474 00:25:29,000 --> 00:25:34,000 na svakom iteracija ovo polje-ispričavam se, na svakoj iteraciji ove petlje 475 00:25:34,000 --> 00:25:37,000 varijabla zove element koji će biti obnovljeno 476 00:25:37,000 --> 00:25:40,000 biti prvi element u polju, a zatim drugi element u polju, 477 00:25:40,000 --> 00:25:44,000 onda treći element niza, a time uklanjajući potrebu 478 00:25:44,000 --> 00:25:46,000 učiniti nešto neugodno četvornih oznake nosača i 479 00:25:46,000 --> 00:25:49,000 $ I kako bi se indeks u niz. 480 00:25:49,000 --> 00:25:53,000 PHP se sve to rade za vas i na svakom iteraciji 481 00:25:53,000 --> 00:25:55,000 samo ruke vam sljedeći element iz polja 482 00:25:55,000 --> 00:26:01,000 bez potrebe da znaju ili ne brinu o svojoj brojčanog indeksa lokaciji. 483 00:26:01,000 --> 00:26:04,000 >> I onda na kraju, za sada, postoji jedna druga značajka PHP 484 00:26:04,000 --> 00:26:08,000 to će biti iznimno korisna, pogotovo kada ćemo početi programiranje na webu, 485 00:26:08,000 --> 00:26:10,000 i da je poznat kao asocijativne niz. 486 00:26:10,000 --> 00:26:13,000 Nizovi da znamo čime se tiče mjesta 20 sekundi prije 487 00:26:13,000 --> 00:26:17,000 i za posljednjih osam tjedan brojčano su indeksirane polja, 488 00:26:17,000 --> 00:26:20,000 vrsta tradicionalnih polja gdje su indeksi su Ints, 489 00:26:20,000 --> 00:26:23,000 0, 1, 2, sve gore. 490 00:26:23,000 --> 00:26:25,000 Asocijativnog polja su puno moćniji. 491 00:26:25,000 --> 00:26:28,000 Oni omogućuju vam da imaju proizvoljne tipke, 492 00:26:28,000 --> 00:26:31,000 proizvoljne indeksi i proizvoljne vrijednosti. 493 00:26:31,000 --> 00:26:34,000 Dok je u tradicionalnom polju je 0, 1, 2, 494 00:26:34,000 --> 00:26:37,000 u asocijativnom polju možete imati indeks 495 00:26:37,000 --> 00:26:41,000 ili ključ foo čija je vrijednost bar. 496 00:26:41,000 --> 00:26:46,000 Nakon toga možete imati još jedan ključ čije ime je baz i čija je vrijednost qux. 497 00:26:46,000 --> 00:26:49,000 >> Opet, glupi informatike generički varijabla imena ovdje, 498 00:26:49,000 --> 00:26:55,000 ali poanta je da je ovo polje nema nosača 0 ili 1 nosač. 499 00:26:55,000 --> 00:26:59,000 To se događa, umjesto da imaju noseći foo i nosača Baz. 500 00:26:59,000 --> 00:27:03,000 To je puno više svestran u to da ćemo biti u mogućnosti pridružiti 501 00:27:03,000 --> 00:27:07,000 riječi s drugim riječima, tipke sa vrijednostima potpuno samovoljno, 502 00:27:07,000 --> 00:27:12,000 i da ćemo biti u mogućnosti da biste dobili te vrijednosti natrag u stalnom vrijeme 503 00:27:12,000 --> 00:27:14,000 jer ispod haube što asocijativna polja 504 00:27:14,000 --> 00:27:16,000 stvarno je hash tablicu. 505 00:27:16,000 --> 00:27:20,000 Sjetite se da je hash tablicu vam omogućuje da stavite na neki ulaz 506 00:27:20,000 --> 00:27:25,000 sviđa staviti u riječi Davidu, ako želite umetnuti Davida u nekom rječniku, 507 00:27:25,000 --> 00:27:27,000 i onda se vratiti neku vrijednost obično. 508 00:27:27,000 --> 00:27:29,000 U slučaju Speller, pravi ili lažni. 509 00:27:29,000 --> 00:27:33,000 David ili što god je riječ ili je nema u rječniku. 510 00:27:33,000 --> 00:27:36,000 Asocijativni niz je zapravo samo hash tablicu, 511 00:27:36,000 --> 00:27:38,000 ali to je puno više user friendly utjelovljenje njega. 512 00:27:38,000 --> 00:27:41,000 Kao što ćemo vidjeti, to će nam omogućiti da učinite neke stvari 513 00:27:41,000 --> 00:27:43,000 Vrlo, vrlo jednostavno. 514 00:27:43,000 --> 00:27:45,000 >> Idemo pogledati neke osnovne PHP 515 00:27:45,000 --> 00:27:47,000 primjeri i vidjeti što možemo učiniti s tom jeziku. 516 00:27:47,000 --> 00:27:51,000 Pusti me naprijed i otvoriti u našem source direktorij danas 517 00:27:51,000 --> 00:27:54,000 file zove hello1.php. 518 00:27:54,000 --> 00:27:57,000 Ova datoteka je više komentar, nego što je stvarna kod, 519 00:27:57,000 --> 00:28:00,000 pa neka mi zapravo ukloniti sve komentare iz spisa 520 00:28:00,000 --> 00:28:05,000 i sadašnjosti vama možda najjednostavnije PHP programskog ovdje. 521 00:28:05,000 --> 00:28:07,000 5 redaka, a neki od onih koji su bijeli prostor, 522 00:28:07,000 --> 00:28:09,000 tako primijetiti neke ključne razlike ovdje. 523 00:28:09,000 --> 00:28:12,000 Datoteka se zove hello1.php. 524 00:28:12,000 --> 00:28:16,000 Prvi red, iako je 00:28:18,000 Slično je u duhu u HTML, 526 00:28:18,000 --> 00:28:21,000 da niz znakova govori računalu 527 00:28:21,000 --> 00:28:25,000 "Hej, računalo, ovdje dolazi program smo u u PHP." 528 00:28:25,000 --> 00:28:28,000 To čini da to nije zbunjen da je to neki drugi jezik. 529 00:28:28,000 --> 00:28:30,000 Linija 2 je zanimljiva bijeli prostor. 530 00:28:30,000 --> 00:28:32,000 Linija 3 je naš stari prijatelj printf, 531 00:28:32,000 --> 00:28:34,000 ovaj put u kontekstu PHP. 532 00:28:34,000 --> 00:28:37,000 PHP ima svoju verziju printf koja se ponaša točno isti, 533 00:28:37,000 --> 00:28:39,000 tako da je ovo samo će se ispisati "Zdravo, svijet." 534 00:28:39,000 --> 00:28:46,000 I onda je to suprotno tag ovdje?>, Znači da je to za moje PHP koda. 535 00:28:46,000 --> 00:28:48,000 >> Idemo vidjeti kako pokrenuti ovo. 536 00:28:48,000 --> 00:28:50,000 Ja ću se vratiti na moj prozor terminala ovdje. 537 00:28:50,000 --> 00:28:52,000 Ja idem u mom PHP imeniku. 538 00:28:52,000 --> 00:28:56,000 Primijetit ćete da imamo hrpu datoteka, prvi jedan od kojih je hello.php. 539 00:28:56,000 --> 00:29:01,000 Pusti me naprijed i pokrenuti ovaj, hello1.php, ući. 540 00:29:01,000 --> 00:29:03,000 Dozvola odbijena. Ok. 541 00:29:03,000 --> 00:29:06,000 Kako smo fiksne stvari kao što je to u prošlosti? 542 00:29:06,000 --> 00:29:08,000 Što je to? >> [Nečujno učenik odgovor] 543 00:29:08,000 --> 00:29:11,000 Trebamo čitati i pisati, ali neka me učiniti ls-l. 544 00:29:11,000 --> 00:29:14,000 Zapamtite ovo nešto grobni izlaz pri čemu hello1 545 00:29:14,000 --> 00:29:17,000 Čini se da je čitljiv i pisati po meni 546 00:29:17,000 --> 00:29:19,000 ali čitati i svi drugi. 547 00:29:19,000 --> 00:29:22,000 Ispada to zapravo nije korak u pravom smjeru. 548 00:29:22,000 --> 00:29:25,000 Razlika je, opet, s interpretativnom jeziku 549 00:29:25,000 --> 00:29:27,000 se ne pokrenuti program izravno. 550 00:29:27,000 --> 00:29:30,000 Umjesto toga pokrenuti tumača i predati ga kod 551 00:29:30,000 --> 00:29:33,000 da ste pismeni tako da se može protumačiti da redak po redak. 552 00:29:33,000 --> 00:29:36,000 U ovom slučaju, tumač ili program sam zapravo žele pokrenuti 553 00:29:36,000 --> 00:29:38,000 doslovno zove PHP. 554 00:29:38,000 --> 00:29:41,000 >> Negdje na ovom tvrdom disku uređaja postoji program 555 00:29:41,000 --> 00:29:45,000 netko je napisao zove PHP, ili na Windows php.exe. 556 00:29:45,000 --> 00:29:48,000 Što ću učiniti ovdje je da ću zapravo pokrenuti PHP 557 00:29:48,000 --> 00:29:51,000 ali ga dati kao argument naredbenog retka kod koje sam napisao, 558 00:29:51,000 --> 00:29:54,000 i onda ću smanjivanje i pogodio ući. 559 00:29:54,000 --> 00:29:58,000 Ona radi moj program za mene, od vrha do dna, s lijeva na desno. 560 00:29:58,000 --> 00:30:01,000 Pusti me naprijed i otvoriti blago odstupanje od toga. 561 00:30:01,000 --> 00:30:05,000 U hello2.php obavijesti da je to previše 562 00:30:05,000 --> 00:30:08,000 uglavnom komentara, pa neka me riješi onih kao distrakcija, 563 00:30:08,000 --> 00:30:13,000 i ono što je jasno sada drugačije o ovoj datoteci? 564 00:30:13,000 --> 00:30:15,000 Tu je to nova linija, pomalo zagonetan na vrhu. 565 00:30:15,000 --> 00:30:20,000 U skladu jedan je #! / Bin / php. 566 00:30:20,000 --> 00:30:24,000 Bin je konvencija na Linux i Mac OS za izvršne datoteke, 567 00:30:24,000 --> 00:30:27,000 tako / bin znači ovo je mapa koja sadrži hrpu oprekama 568 00:30:27,000 --> 00:30:29,000 koji je programiran, od kojih je jedan PHP. 569 00:30:29,000 --> 00:30:32,000 #! je prozvan shebang, 570 00:30:32,000 --> 00:30:35,000 koji je brz način da ga govoreći, i što to znači 571 00:30:35,000 --> 00:30:40,000 je da kada pokrenete ovaj program sada postoji naznaka na vrhu datoteke 572 00:30:40,000 --> 00:30:44,000 koji govori računalu što tumač za korištenje. 573 00:30:44,000 --> 00:30:47,000 >> Ona dobiva malo neugodno ako ste imali reći svoje korisnike i svoje klijente 574 00:30:47,000 --> 00:30:50,000 "Hej, pisali smo ovaj program koji se zove hello1.php." 575 00:30:50,000 --> 00:30:54,000 Sve što morate učiniti je zauvijek pokrenuti PHP, a zatim naziv tog programa. 576 00:30:54,000 --> 00:30:58,000 Iskreno, to bi samo biti ljepše za pokretanje hello1.php, 577 00:30:58,000 --> 00:31:00,000 i doista, možemo li mi učiniti sljedeće. 578 00:31:00,000 --> 00:31:05,000 Dopustite mi ići naprijed i učiniti ls-l, i primjetiti u hello2 to je još uvijek samo čitati pisati 579 00:31:05,000 --> 00:31:10,000 a zatim pročitajte čitati, pa sam još uvijek ne mogu to učiniti, hello2.php. 580 00:31:10,000 --> 00:31:15,000 No, uveli smo to uvijek tako kratko posljednji put, chmod naredba. 581 00:31:15,000 --> 00:31:20,000 Ako sam napraviti chmod a + x, što znači sve plus executability, 582 00:31:20,000 --> 00:31:26,000 i onda hello2.php i onda ne ls-l opet primijetiti što se promijenilo. 583 00:31:26,000 --> 00:31:29,000 Jedan, Linux pokazujući mi ime datoteke u zelenom prenijeti ideju 584 00:31:29,000 --> 00:31:32,000 da je izvršna, ali što je još važnije, na lijevoj strani 585 00:31:32,000 --> 00:31:36,000 primijetiti da nešto predstavlja X za izvršnu sada je bila postavljena. 586 00:31:36,000 --> 00:31:42,000 Što to sada znači da mogu pokretati ./hello2.php kao i obično, 587 00:31:42,000 --> 00:31:45,000 hit ući, a zbog shebang na samom vrhu datoteke 588 00:31:45,000 --> 00:31:48,000 to je savjet, opet, na Linuxu koji kaže 589 00:31:48,000 --> 00:31:51,000 koristiti ovaj tumač za pokretanje ovu datoteku. 590 00:31:51,000 --> 00:31:54,000 Ne brinite prisiljavajući korisnik zapravo ga upišite. 591 00:31:54,000 --> 00:31:57,000 >> I ono što je lijepo sad je to je vrsta nevažno mojih klijenata ili moji prijatelji 592 00:31:57,000 --> 00:32:01,000 što jezik sam napisao ovaj program u, tako da ja mogu ići naprijed sa mv 593 00:32:01,000 --> 00:32:04,000 i preimenovati ovu stvar hello2, na primjer. 594 00:32:04,000 --> 00:32:07,000 I sad, ako ja ./hello2 595 00:32:07,000 --> 00:32:10,000 i smanjivanje moj program i dalje radi. 596 00:32:10,000 --> 00:32:13,000 Ove ekstenzije datoteka su ljudska konvencija koje je potrebno 597 00:32:13,000 --> 00:32:15,000 za nešto poput zveka i napraviti koji traže za njih. 598 00:32:15,000 --> 00:32:18,000 Ali za PHP, mogao bih nazvati ovaj ništa datoteke želim proširenje. 599 00:32:18,000 --> 00:32:22,000 Mogao sam trik svijet u misle da sam jako dobar u Ruby, 600 00:32:22,000 --> 00:32:25,000 i ja mogao napisati hello2.rb a zatim pokrenuti to, 601 00:32:25,000 --> 00:32:28,000 i voila, sada imam Ruby verziju, što je potpuna laž. 602 00:32:28,000 --> 00:32:30,000 Ali datoteka ekstenzije su besmislene 603 00:32:30,000 --> 00:32:35,000 ako je datoteka izvršna i ima tu posebnu natuknicu na vrhu datoteke. 604 00:32:35,000 --> 00:32:38,000 >> Sada, kao stranu, dopustite mi da vam pokazati brzo verzije 3, 605 00:32:38,000 --> 00:32:40,000 koja je vrsta koristan trik da znaju. 606 00:32:40,000 --> 00:32:45,000 U hello3 Učinio sam nešto malo krivo 607 00:32:45,000 --> 00:32:47,000 da ću ažurirati online izvornog koda. 608 00:32:47,000 --> 00:32:50,000 U verziji 3 ispada da na većini Linux računala 609 00:32:50,000 --> 00:32:53,000 postoji program koji se zove env za okoliš, 610 00:32:53,000 --> 00:32:56,000 i što možete učiniti ovdje je, ako nemate pojma gdje PHP 611 00:32:56,000 --> 00:33:00,000 je instaliran na lokalnom tvrdom disku, jer doista to moglo razlikovati ovisno o računalu 612 00:33:00,000 --> 00:33:03,000 da je netko koristi, ENV samo kaže pokrenuti env, 613 00:33:03,000 --> 00:33:07,000 koja je na većini sustava, i shvatiti gdje PHP je. 614 00:33:07,000 --> 00:33:11,000 Samo čest trik, tako da ne morate brinuti o pronalaženju gdje je program. 615 00:33:11,000 --> 00:33:14,000 Ali ako ne brine kako bi saznali gdje je program, a niste stalo do sada 616 00:33:14,000 --> 00:33:16,000 možete koristiti koji naredbu. 617 00:33:16,000 --> 00:33:19,000 >> Dopustite mi da smanjivanje i tip koji php, 618 00:33:19,000 --> 00:33:23,000 i primjetiti da mi kaže da je zapravo u usr / bin / php. 619 00:33:23,000 --> 00:33:25,000 To je vrsta laži. To je također u smeće. 620 00:33:25,000 --> 00:33:27,000 To je samo pokazujući mi prvi pogodak. 621 00:33:27,000 --> 00:33:31,000 Ako ste se ikada pitali gdje zveka je, što zveka, koji je u usr / bin / zveka, 622 00:33:31,000 --> 00:33:34,000 koji bi, usr / bin / napraviti, a što znači da je sve ovo vrijeme 623 00:33:34,000 --> 00:33:38,000 mogli ste tipkati usr / bin / zveka unesite pokrenuti zveka, 624 00:33:38,000 --> 00:33:41,000 ali to je vrsta dosadan to učiniti, tako da neki mape 625 00:33:41,000 --> 00:33:44,000 kao što su usr / bin i bin pretpostavlja se da je defaultno 626 00:33:44,000 --> 00:33:50,000 tako da računalo zna izgledati u njima za vas. 627 00:33:50,000 --> 00:33:53,000 Sva pitanja o pisanju super, super jednostavan Hello World programa 628 00:33:53,000 --> 00:33:55,000 u PHP, a zatim ga izvodi? 629 00:33:55,000 --> 00:33:59,000 Jer sada ćemo početi uvoditi zanimljivijeg sintaksu. 630 00:33:59,000 --> 00:34:01,000 Dobro, ovdje mi ići. 631 00:34:01,000 --> 00:34:03,000 Ovi programi smo vidjeli zapravo sve od njih prije. 632 00:34:03,000 --> 00:34:07,000 >> Ako sam otvoriti, primjerice, ajmo raditi beer1.php, 633 00:34:07,000 --> 00:34:09,000 nećemo proći kroz nekoliko verzija, ali ono što sam učinio 634 00:34:09,000 --> 00:34:13,000 bio sam sjeo i natočio ili pretvaraju 635 00:34:13,000 --> 00:34:15,000 moj C koda u PHP kodu ovdje. 636 00:34:15,000 --> 00:34:18,000 Većina vrhu datoteke komentara ovdje. 637 00:34:18,000 --> 00:34:20,000 Ispada da je jedna nova funkcija trebamo zove readline. 638 00:34:20,000 --> 00:34:23,000 GetString, podsjetimo, iz tjedna 0 nadalje bio CS50 stvar. 639 00:34:23,000 --> 00:34:27,000 PHP dolazi s vlastitim user-friendly funkciji zove readline 640 00:34:27,000 --> 00:34:30,000 koji uzima jedan argument koji određuje redak 641 00:34:30,000 --> 00:34:33,000 koje želite prikazati korisniku, a što ne readline 642 00:34:33,000 --> 00:34:35,000 se vraća ono što korisnik upiše u. 643 00:34:35,000 --> 00:34:39,000 U ovom slučaju, ja sam deklariranje varijable zove $ n. 644 00:34:39,000 --> 00:34:42,000 Ja sam spremanje u njemu povratnu vrijednost readline 645 00:34:42,000 --> 00:34:44,000 nakon što je navelo korisnika s ovom nizu. 646 00:34:44,000 --> 00:34:47,000 Samo kopiju, zapravo pokrenuti ovu stvar, pusti me naprijed 647 00:34:47,000 --> 00:34:50,000 i pokrenuti php beer1.php. 648 00:34:50,000 --> 00:34:53,000 Koliko boce tamo će biti? Ajmo napraviti dvije ovaj put. 649 00:34:53,000 --> 00:34:55,000 Upišite. To je sve. 650 00:34:55,000 --> 00:34:59,000 >> Program je funkcionalno identičan C verzije iz tjedna prije. 651 00:34:59,000 --> 00:35:01,000 Ali sintaktički ajmo vidjeti što je različito. 652 00:35:01,000 --> 00:35:05,000 Nakon što sam dobiti int od korisnika obavijesti da radim neke provjera, 653 00:35:05,000 --> 00:35:08,000 a ako je n manje od 1 Prestao sam i ja isprintati 654 00:35:08,000 --> 00:35:11,000 Žao nam je poruka za korisnika i izlazak s jednom. 655 00:35:11,000 --> 00:35:13,000 To je također malo drugačiji. 656 00:35:13,000 --> 00:35:16,000  U C što smo učinili? U C vratili smo jedan. 657 00:35:16,000 --> 00:35:20,000 U PHP izađete s jedne, koja je iskreno mislim malo više intuitivno 658 00:35:20,000 --> 00:35:22,000 jer ste doslovno smo izlaska iz programa. 659 00:35:22,000 --> 00:35:25,000 U redu, a zatim ovdje dolje neugodno pjesma je identična sintaktički 660 00:35:25,000 --> 00:35:29,000 osim za varijable, tako da ovdje dolje u skladu 24 nadalje 661 00:35:29,000 --> 00:35:31,000 Primijetit My for petlje je gotovo isti, 662 00:35:31,000 --> 00:35:34,000 ali sam $ ispred i i n, 663 00:35:34,000 --> 00:35:37,000 a što je također nestalo iz linije 26 koje smo imali u prošlosti 664 00:35:37,000 --> 00:35:39,000 kada deklariranje varijable ja? 665 00:35:39,000 --> 00:35:41,000 Nema putovanja. 666 00:35:41,000 --> 00:35:43,000 To je netočno u PHP reći int. 667 00:35:43,000 --> 00:35:45,000 Vi jednostavno ne trebate to učiniti. 668 00:35:45,000 --> 00:35:48,000 Računalo, tumač PHP je dovoljno pametan da shvate 669 00:35:48,000 --> 00:35:51,000 da, ako ste stavili broj na $ sam da će ga liječiti 670 00:35:51,000 --> 00:35:53,000 kao broj za vas. 671 00:35:53,000 --> 00:35:57,000 I onda ovdje smo plug-in $ i, $ ja, ja $ - 1. 672 00:35:57,000 --> 00:36:00,000 Sve je to isto, a onda ovdje radimo "Wow, to je neugodno" printf 673 00:36:00,000 --> 00:36:02,000 a zatim izlaz (0). 674 00:36:02,000 --> 00:36:05,000 >> Opet, takeaway ovdje je da, iako ćemo provesti relativno 675 00:36:05,000 --> 00:36:09,000 malo vremena na PHP, sigurno u odnosu na ono što smo učinili na C, 676 00:36:09,000 --> 00:36:12,000 to je gotovo isto, i tako što ćemo učiniti danas i sljedeći tjedan 677 00:36:12,000 --> 00:36:14,000 i dalje je fokus zapravo na neki od novih ideja. 678 00:36:14,000 --> 00:36:17,000 Samo da se vidi da jedna druga stvar ne prevesti više od C, 679 00:36:17,000 --> 00:36:20,000 ovo je super jednostavan program smo učinili u tjednu 1 680 00:36:20,000 --> 00:36:22,000 ili 2 koji kubu vrijednost. 681 00:36:22,000 --> 00:36:25,000 No, ono što je zanimljivo u vrijeme oko ovog programa je da se 682 00:36:25,000 --> 00:36:28,000 uveo pojam običaj pisani funkciju da mi sami pisali. 683 00:36:28,000 --> 00:36:31,000 Sintaksa u PHP je gotovo isti. 684 00:36:31,000 --> 00:36:33,000 Evo moj program do vrha. 685 00:36:33,000 --> 00:36:35,000 Obavijest opet odsutna je bilo pojam glavni. 686 00:36:35,000 --> 00:36:39,000 Ja početi pisati kod, a to je ono što se događa da se izvršava tumača. 687 00:36:39,000 --> 00:36:42,000 Ja isprintati x je sada dva, vjerojatno. 688 00:36:42,000 --> 00:36:44,000 Tada sam tvrde cubing ... 689 00:36:44,000 --> 00:36:47,000 Tada sam nazvati funkciju kocke i proći u $ x 690 00:36:47,000 --> 00:36:50,000 i dodijeliti povratnu vrijednost $ x. 691 00:36:50,000 --> 00:36:53,000 Tada sam tvrditi da je kubu, a onda sam ovo reći, koji će, nadamo 692 00:36:53,000 --> 00:36:55,000 će reći x je sada osam. 693 00:36:55,000 --> 00:36:59,000 Sintaksa funkcije u PHP je ikada tako nešto drugačije. 694 00:36:59,000 --> 00:37:01,000 Opet nestalo je povratni tip. 695 00:37:01,000 --> 00:37:05,000 Opet nedostaje je povratni tip i nestalo je ono što drugi tip? 696 00:37:05,000 --> 00:37:07,000 [Nečujno učenik odgovor] 697 00:37:07,000 --> 00:37:10,000 Pa, dobro, to je dobro. Ajmo se vratiti na to u drugi. 698 00:37:10,000 --> 00:37:12,000 >> Mi nemamo, na primjer, int ovdje. 699 00:37:12,000 --> 00:37:15,000 Mi ne, na primjer, su int ovdje, jer, opet, u PHP 700 00:37:15,000 --> 00:37:18,000 jednostavno ne treba i ne treba to učiniti, 701 00:37:18,000 --> 00:37:20,000 već postoji ova nova ključna zove funkcija. 702 00:37:20,000 --> 00:37:23,000 U PHP to je gotovo malo jasnije, jer kada želite funkciju 703 00:37:23,000 --> 00:37:26,000 doslovno reći funkciju, dati joj ime i onda zarezom odvojen popis 704 00:37:26,000 --> 00:37:28,000 ako bilo koja od njezinih argumenata. 705 00:37:28,000 --> 00:37:32,000 Ne treba reći prazninu ili nešto slično, a onda povratak je isti, 706 00:37:32,000 --> 00:37:35,000 $ * $ * $. 707 00:37:35,000 --> 00:37:38,000 Ono što također nedostaje? Sammy istaknuo ovo ovdje. 708 00:37:38,000 --> 00:37:43,000 Na vrhu datoteke potpuno odsutna u PHP također je prototip. 709 00:37:43,000 --> 00:37:45,000 To je također po dizajnu. 710 00:37:45,000 --> 00:37:48,000 Jezici i prevoditelji poput PHP su pametniji od C ikad bio 711 00:37:48,000 --> 00:37:50,000 u prevodiocima kao jeka. 712 00:37:50,000 --> 00:37:53,000 >> Podsjetimo da zveka, ako nije reci joj da kocka postoji, 713 00:37:53,000 --> 00:37:56,000 ako to nije reći da printf postoji kao s prototipom 714 00:37:56,000 --> 00:38:00,000 ili # include, dobro, to je bio idući vikati na vas, a ne čak i sastaviti svoj kôd. 715 00:38:00,000 --> 00:38:03,000 PHP i više moderni jezici su puno pametniji kad je u pitanju ova. 716 00:38:03,000 --> 00:38:07,000 Oni će ga uzeti na sebe da pročitate kroz sve kodu 717 00:38:07,000 --> 00:38:11,000 i onda vikati na tebe samo ako se nađe kocke nigdje. 718 00:38:11,000 --> 00:38:15,000 To ne smeta ako kocka je na dnu ili na vrhu ili čak u nekim zasebnoj datoteci. 719 00:38:15,000 --> 00:38:18,000 PHP i slični jezici su sada dovoljno pametan da gledati naprijed 720 00:38:18,000 --> 00:38:26,000 na sve prije nego što smatrajući kao što je napravio pogrešku. 721 00:38:26,000 --> 00:38:28,000 Gdje to nas ostaviti? 722 00:38:28,000 --> 00:38:32,000 >> Ajmo napraviti jedan zadnji primjer ovdje u uvjetima, 723 00:38:32,000 --> 00:38:35,000 i ako sam otvoriti conditions2.php obavijest previše 724 00:38:35,000 --> 00:38:37,000 sintaksa ovdje je gotovo isti. 725 00:38:37,000 --> 00:38:40,000 Ja sam koristeći readline umjesto GetString, ali da je linija ista kao i prije, 726 00:38:40,000 --> 00:38:42,000 "Volio bih cijeli molim te." 727 00:38:42,000 --> 00:38:45,000 I onda imaju ako stanje, drugo ako, a zatim drugi, 728 00:38:45,000 --> 00:38:48,000 ali funkcionalno ovaj program je također identičan onome što smo radili prije nekoliko tjedana, 729 00:38:48,000 --> 00:38:51,000 pa ako sam pokrenuti ovu stvar, php od conditions2, 730 00:38:51,000 --> 00:38:54,000 i ja dati broj kao 23 - 731 00:38:54,000 --> 00:38:57,000 Uzela sam pozitivan broj. Ako sam ga dati -1 sam pokupila negativan broj. 732 00:38:57,000 --> 00:39:00,000 Ako sam ga dati 0 Ja doista pokupila 0. 733 00:39:00,000 --> 00:39:02,000 Dakle, tko se brine o svemu ovome? 734 00:39:02,000 --> 00:39:06,000 Pa, jedan od zabava vrste vježbi ovdje 735 00:39:06,000 --> 00:39:10,000 barem za mene je vratiti se i vidjeti kako brzo sam mogao provesti pset 5, 736 00:39:10,000 --> 00:39:12,000 pogrešno napisanih pset. 737 00:39:12,000 --> 00:39:15,000 Podsjetimo da je ovu sliku pod nazivom speller.c, 738 00:39:15,000 --> 00:39:17,000 i tamo je datoteka zove dictionary.c. 739 00:39:17,000 --> 00:39:20,000 Što sam učinio je sam vrsta proveo nekoliko minuta, a ja pretvoriti u C koda 740 00:39:20,000 --> 00:39:23,000 u PHP kodu, a mi nećemo potrošiti puno vremena na Speller 741 00:39:23,000 --> 00:39:26,000 jer baš kao u pset 5 nisi stvarno trebate 742 00:39:26,000 --> 00:39:29,000 potrošiti mnogo vremena na Speller sama jer vaša pažnja bila na rječniku. 743 00:39:29,000 --> 00:39:32,000 >> Dovoljno je reći da ako ste pročitali kroz Speller, 744 00:39:32,000 --> 00:39:35,000 ovu sliku ovdje, to je prilično puno ekvivalent u C koda 745 00:39:35,000 --> 00:39:37,000 mi ti dao za pset pet. 746 00:39:37,000 --> 00:39:39,000 Upravo sam dodao neke $ mjestima. 747 00:39:39,000 --> 00:39:43,000 Ja sam promijenio neke funkcije imena, ako oni ne postoje u PHP. 748 00:39:43,000 --> 00:39:45,000 Ima jedna dodatna stvar ovdje, preg_match, 749 00:39:45,000 --> 00:39:48,000 što je malo ljubitelj način radiš nešto, ali mi ćemo se vratiti na to s vremenom. 750 00:39:48,000 --> 00:39:51,000 No, u kratko, bukvar je gotovo identičan, a ako pogledate na samom dnu 751 00:39:51,000 --> 00:39:54,000 što je na kraju ispljune je ovo ovdje, 752 00:39:54,000 --> 00:39:57,000 riječi pogrešno, riječi u rječnik, riječi u tekstu. 753 00:39:57,000 --> 00:40:00,000 U redu, tako da ono što je zanimljivo sada je sljedeći. 754 00:40:00,000 --> 00:40:05,000 Na vrhu moje datoteke sam zahtijevaju dictionary.php. 755 00:40:05,000 --> 00:40:09,000 Baš kao što je C # je uključiti PHP ima posebnu funkciju pod nazivom zahtijevaju 756 00:40:09,000 --> 00:40:14,000 da prilično puno radi istu stvar, zahtijevaju datoteku pod nazivom dictionary.php. 757 00:40:14,000 --> 00:40:18,000 Kako mogu ići o provedbi pset 5? 758 00:40:18,000 --> 00:40:21,000 Pusti me naprijed i otvoriti datoteku ovdje. 759 00:40:21,000 --> 00:40:24,000 Dopustite mi da se malo spominje ovdje. 760 00:40:24,000 --> 00:40:29,000 I neka mi stvoriti novu datoteku i početi zovete ovaj dictionary.php. 761 00:40:29,000 --> 00:40:31,000 Dopustite mi da ga stavite u drugu mapu tako da možemo to učiniti živjeti. 762 00:40:31,000 --> 00:40:33,000 A sada ću uvećanje u. 763 00:40:33,000 --> 00:40:37,000 Ja ću početi svoju PHP datoteku s otvorenim nosača php zatvorena zagrada. 764 00:40:37,000 --> 00:40:40,000 A onda je ovdje bilo je nekoliko funkcija sam potrebne za provedbu za pset 5, 765 00:40:40,000 --> 00:40:42,000 pa neka mi početi provoditi neke od onih, 766 00:40:42,000 --> 00:40:47,000 pa funkcija ček, koja je morala uzeti riječ u kao argument. 767 00:40:47,000 --> 00:40:49,000 Učinit ćemo to i vratiti se na njega u jednom trenutku. 768 00:40:49,000 --> 00:40:53,000 >> Tu je funkciju opterećenja, što je u tome što kao argument? 769 00:40:53,000 --> 00:40:56,000 Rječnik, tako datoteku da sam zapravo htjela učitati. 770 00:40:56,000 --> 00:41:00,000 Tu je funkciju veličina, koja nije poduzela nikakve argumente 771 00:41:00,000 --> 00:41:04,000 i tu je funkcija što je drugi? 772 00:41:04,000 --> 00:41:06,000 Unload, koji nije uzeo nikakve argumente bilo. 773 00:41:06,000 --> 00:41:10,000 To su četiri funkcije koje bih sada treba provesti u PHP-u, 774 00:41:10,000 --> 00:41:13,000 i ono što ću učiniti je ići naprijed i učiniti. 775 00:41:13,000 --> 00:41:16,000 Puno vas koristi hash tablicu u pset 5, 776 00:41:16,000 --> 00:41:21,000 pa neka mi ići naprijed i stvoriti ljestve tablicu u PHP. 777 00:41:21,000 --> 00:41:23,000 Gotovo. 778 00:41:23,000 --> 00:41:25,000 To mi daje hash tablicu. Pa, zašto? 779 00:41:25,000 --> 00:41:30,000 Jedan, varijabla se zove $ stol, samo dočarati ideju o hash tablice. 780 00:41:30,000 --> 00:41:34,000 Uglatih zagrada, ipak, podsjetiti, predstavljaju ono što? 781 00:41:34,000 --> 00:41:37,000 Polje, ali u PHP polja ne moraju brojčano biti indeksirana. 782 00:41:37,000 --> 00:41:41,000 Oni također mogu biti asocijativne nizove, 783 00:41:41,000 --> 00:41:44,000 što znači da možete imati proizvoljne ključeve i vrijednosti. 784 00:41:44,000 --> 00:41:49,000 >> Baš kao u pset 5, one od vas koji je hash tablice implementacije 785 00:41:49,000 --> 00:41:53,000 vjerojatno umetnuta riječ, a zatim ga umetnuti u lancu povezane liste, 786 00:41:53,000 --> 00:41:56,000 ili ste spremili vrijednost istinske negdje ili nešto u tom smislu. 787 00:41:56,000 --> 00:41:59,000 Vi nekako sjetio činjenicu da je riječ bila tamo. 788 00:41:59,000 --> 00:42:01,000 Za sada, to će biti moja hash tablicu, 789 00:42:01,000 --> 00:42:06,000 i tako sada to ide o provedbi potvrdni funkciju 790 00:42:06,000 --> 00:42:09,000 Samo trebam gledati unutar tog hash tablicu 791 00:42:09,000 --> 00:42:11,000 i vidjeti ako je riječ postoji. 792 00:42:11,000 --> 00:42:15,000 Što ću učiniti je da ću reći, ako- 793 00:42:15,000 --> 00:42:20,000 recimo isset, što je PHP funkcija koja doslovno znači samo je ključ skup, 794 00:42:20,000 --> 00:42:24,000 tako isset ($ tablica [$ riječ], 795 00:42:24,000 --> 00:42:29,000 i ako je tako povratak istina. 796 00:42:29,000 --> 00:42:32,000 To je to. To je pset 5 u PHP. 797 00:42:32,000 --> 00:42:34,000 Pa, u pravednosti, u redu. 798 00:42:34,000 --> 00:42:37,000 Inače povratak false, tako da to ne postoji. 799 00:42:37,000 --> 00:42:39,000 Što se zapravo događa ovdje? 800 00:42:39,000 --> 00:42:42,000 Pa, ako stolni ili hash tablicu ovdje više općenito- 801 00:42:42,000 --> 00:42:46,000 je asocijativni niz to znači da možete indeks u nju 802 00:42:46,000 --> 00:42:50,000 s riječi poput "riječ," i morate se vratiti neku vrijednost. 803 00:42:50,000 --> 00:42:52,000 >> Mi smo vrsta uzimajući jedan korak ispred nas. 804 00:42:52,000 --> 00:42:56,000 To će biti vrsta lijepo da smo zapravo učitava datoteku prvi, 805 00:42:56,000 --> 00:42:58,000 tako da opterećenje nije sasvim jednostavna, ali dopustite mi ići naprijed i ščepati 806 00:42:58,000 --> 00:43:00,000  stvarno brzo provođenje opterećenja. 807 00:43:00,000 --> 00:43:07,000 Pusti me naprijed i reći riječi dobiva datoteke rječnika. 808 00:43:07,000 --> 00:43:10,000 File funkcija u PHP otvara datoteku 809 00:43:10,000 --> 00:43:12,000 i vraća vas lepezu sve riječi u toj datoteci, 810 00:43:12,000 --> 00:43:14,000 samo ih pruži vas. 811 00:43:14,000 --> 00:43:16,000 To je bila velika bol previše, zar ne? 812 00:43:16,000 --> 00:43:21,000 Sada foreach, ovo je naš novi konstrukt, foreach ($ $ riječi kao riječi). 813 00:43:21,000 --> 00:43:25,000 Ova petlja će početi Ponavljanje preko niza riječi 814 00:43:25,000 --> 00:43:30,000 i dodijeliti dolara riječi varijable svaku riječ u datoteci 815 00:43:30,000 --> 00:43:32,000 od prvog do drugog na treći do četvrtog sve način 816 00:43:32,000 --> 00:43:35,000 tako da ne moram raditi dosadne [i] zapis i slično. 817 00:43:35,000 --> 00:43:38,000 A ono što sam jednostavno ću učiniti za svaki od tih riječi 818 00:43:38,000 --> 00:43:43,000 se spremiti u mojoj tablici indeksiranje u tablici 819 00:43:43,000 --> 00:43:47,000 i onda radi točno, jer se sjećam 820 00:43:47,000 --> 00:43:50,000 da je riječ u mom rječniku sve što sam stvarno morati učiniti 821 00:43:50,000 --> 00:43:55,000 je vrsta okrenuti malo i reći ovu riječ u mom hash tablicu je tu, istina. 822 00:43:55,000 --> 00:43:58,000 A ako to ne postoji, ne moram se eksplicitno stavio lažne, 823 00:43:58,000 --> 00:44:01,000 inače ću morati staviti lažna za sve moguće riječi u svemiru. 824 00:44:01,000 --> 00:44:05,000 >> Dovoljno je za mene samo postaviti indeksa vrijednost 825 00:44:05,000 --> 00:44:09,000 da istina, ako je riječ zapravo u mom hash tablici. 826 00:44:09,000 --> 00:44:12,000 Sada, ja sam rezanje nekoliko uglova ovdje da ću mahati moje ruke na za sada, 827 00:44:12,000 --> 00:44:15,000 ali sada opterećenja funkcija je učinio. 828 00:44:15,000 --> 00:44:18,000 Ja učitati sve riječi iz datoteke u niz. 829 00:44:18,000 --> 00:44:21,000 Ja iteraciju tijekom tog niza, a za svaku riječ u polju 830 00:44:21,000 --> 00:44:24,000 Ja ga priključite u mom hash tablicu s jednog retka koda. 831 00:44:24,000 --> 00:44:26,000 To je zabavno. Znate kako možemo provesti veličinu sada? 832 00:44:26,000 --> 00:44:28,000 Pa, veličina je uvijek prilično jednostavan, u pravednosti. 833 00:44:28,000 --> 00:44:32,000 Ovdje možemo samo ne vratiti računati tablici. 834 00:44:32,000 --> 00:44:34,000 To je prilično jednostavno previše, brojati broj stvari u tablici. 835 00:44:34,000 --> 00:44:36,000 To je zapravo vrsta nije najučinkovitiji. 836 00:44:36,000 --> 00:44:39,000 Vjerojatno bih trebao imati varijablu nazvanu veličine, tako da možemo to učiniti 837 00:44:39,000 --> 00:44:41,000 u stalnom vrijeme, ali to je prilično jednostavan. 838 00:44:41,000 --> 00:44:45,000 Oh, a zatim iskrcati, ako zaista želimo biti analni ovdje 839 00:44:45,000 --> 00:44:47,000 možemo reći da je kako ste izvadili nešto. 840 00:44:47,000 --> 00:44:49,000 Vi samo postaviti varijablu jednak prazan niz, 841 00:44:49,000 --> 00:44:51,000 i to dobiva osloboditi od svega što je tamo. 842 00:44:51,000 --> 00:44:53,000 Ne trebate zvati besplatno. 843 00:44:53,000 --> 00:44:56,000 >> Opet, ja sam izrezati neke kutove, i ispričavamo za dodjeljivanjem problema set 5 844 00:44:56,000 --> 00:45:00,000 možda u C, ali ako mi sada ići naprijed i pokrenuti ovaj, 845 00:45:00,000 --> 00:45:02,000 Ja ću zapravo pokrenuti verziju koja sam pisao u unaprijed 846 00:45:02,000 --> 00:45:05,000 samo tako da nisam napraviti nikakve pogreške sintaktička god. 847 00:45:05,000 --> 00:45:08,000 Pusti me naprijed i pokrenuti Speller. Korištenje je isti. 848 00:45:08,000 --> 00:45:12,000 Ovdje je rječnik datoteka koja sadrži samo riječ foo. 849 00:45:12,000 --> 00:45:15,000 Ovdje je tekstualna datoteka koja sadrži samo foo bar. 850 00:45:15,000 --> 00:45:19,000 Ajmo provjeru pravopisa ovo, pa Speller, koristeći ovaj rječnik datoteku na ovaj tekst datoteku. 851 00:45:19,000 --> 00:45:21,000 Ima jedna pogrešno napisana riječ, bar, i voila. 852 00:45:21,000 --> 00:45:23,000 Gotovo sa pset pet. 853 00:45:23,000 --> 00:45:30,000 Ajmo uzeti 5-minutni predah ovdje, a mi ćemo se vratiti i više na PHP. 854 00:45:30,000 --> 00:45:32,000 U redu, vratili smo se. 855 00:45:32,000 --> 00:45:34,000 Ajmo mi ne-mrzim za neko vrijeme. 856 00:45:34,000 --> 00:45:37,000 Ajmo sada zapravo vidjeti ako to nije bio pozitivan 857 00:45:37,000 --> 00:45:39,000 zapravo provodi ovu stvar u PHP. 858 00:45:39,000 --> 00:45:43,000 Odobren, to je 45 sekundi za provedbu. 859 00:45:43,000 --> 00:45:45,000 >> Ali idemo naprijed i sada pokrenuti stvari. 860 00:45:45,000 --> 00:45:49,000 Pusti me naprijed i pokrenuti C verziju 861 00:45:49,000 --> 00:45:52,000 od Speller, a mi ćemo ga pokrenuti na jedan od najvećih datoteka, 862 00:45:52,000 --> 00:45:54,000 što je King James Bible. 863 00:45:54,000 --> 00:45:57,000 I to je ovdje u ajmo u našoj C mapu, 864 00:45:57,000 --> 00:46:01,000 bukvar na King James 5.. 865 00:46:01,000 --> 00:46:03,000 Puno pogrešno napisane riječi. 866 00:46:03,000 --> 00:46:06,000 Ok, tako da je izlaz vjerojatno dobio čak i ako su puta su malo drugačije, 867 00:46:06,000 --> 00:46:09,000 ako imaš sve radi ispravno, i tako vrijeme u ukupnom provjeru pravopisa 868 00:46:09,000 --> 00:46:13,000 King James Biblija bila 0,38 sekundi, tako da jako dobro koriste tu provedbu. 869 00:46:13,000 --> 00:46:16,000 Sada me pusti u PHP verzije, koje smo upravo napisao. 870 00:46:16,000 --> 00:46:18,000 Dopustite mi pokrenuti Speller na kralja Jakova. 871 00:46:18,000 --> 00:46:21,000 Ups, zanemarite tu pogrešku. Ja sam u krivom imeniku. 872 00:46:21,000 --> 00:46:24,000 Speller na King James 5.. 873 00:46:46,000 --> 00:46:48,000 Gotovo učinio. 874 00:46:48,000 --> 00:46:51,000 >> Ok, lukav promatrač će shvatiti da je više od tri sekunde tamo. 875 00:46:51,000 --> 00:46:54,000 To je istina trčanje vrijeme. 876 00:46:54,000 --> 00:46:58,000 Ispada da je potrebno vrijeme da pljuje puno teksta iz 877 00:46:58,000 --> 00:47:00,000 zbog razdvajanje pitanja, ali duljimo, 878 00:47:00,000 --> 00:47:04,000 koji je bio 3,15 sekundi stroja vremena, CPU vrijeme, 879 00:47:04,000 --> 00:47:07,000 u odnosu na ono što je bilo trenutak prije? 880 00:47:07,000 --> 00:47:09,000 Poput 0,3. 881 00:47:09,000 --> 00:47:11,000 Mislim, to je red veličine sporija, pa gdje je to 882 00:47:11,000 --> 00:47:14,000 smiješno usporavanje dolaze iz? 883 00:47:14,000 --> 00:47:17,000 Pa, kao što je to bio slučaj s većinom bilo dizajna odluke koje smo napravili 884 00:47:17,000 --> 00:47:21,000 u klasi u proteklih devet tjedan tu je gotovo uvijek to tradeoff. 885 00:47:21,000 --> 00:47:24,000 Ponekad između samo prostora, ponekad između prostora i vremena, 886 00:47:24,000 --> 00:47:27,000 prostor, vrijeme i razvoj napor, i doista ovdje, iako 887 00:47:27,000 --> 00:47:31,000 smo spremili veliku količinu vremena, možda potencijalno 10-20-30 sati 888 00:47:31,000 --> 00:47:34,000 razvojnog vremena provodi provjeru pravopisa 889 00:47:34,000 --> 00:47:36,000 ga miješa u samo 45 sekundi s ovom jeziku 890 00:47:36,000 --> 00:47:40,000 Cijena koju plaćamo je da je red veličine sporija kao rezultat, 891 00:47:40,000 --> 00:47:43,000 i to je uglavnom slučaj s većinom bilo interpretativnom jeziku, 892 00:47:43,000 --> 00:47:46,000 PHP, Python, Ruby, Pearl ili drugih kojim 893 00:47:46,000 --> 00:47:49,000 ako idete da ga pokrenuti preko tumača i to pročitati kôd 894 00:47:49,000 --> 00:47:52,000 redak po redak, od vrha do dna, s lijeva na desno, 895 00:47:52,000 --> 00:47:55,000 da posrednik će potrajati neko vrijeme svoje, 896 00:47:55,000 --> 00:47:59,000 i ono što su osjećaj ovdje u tri sekunde, za razliku od 0,3 sekundi 897 00:47:59,000 --> 00:48:02,000 je činjenica da je ovo posrednik koji mora doslovno tumačiti našu kôda 898 00:48:02,000 --> 00:48:05,000 redak po redak, a Bog zabraniti ako si unutar petlje 899 00:48:05,000 --> 00:48:08,000 s ogromnim datoteku koja sadrži stotine tisuća riječi. 900 00:48:08,000 --> 00:48:11,000 >> To pretek će se dodati i dodati i zbrojiti i dodati gore. 901 00:48:11,000 --> 00:48:16,000 Za alatom kao što je to vjerojatno nije najbolji jezik koristiti za provedbu 902 00:48:16,000 --> 00:48:20,000 provjeru pravopisa ako neposrednosti je od interesa za svoje korisnike i za vas. 903 00:48:20,000 --> 00:48:23,000 No, luksuz imamo u ovom trenutku je ako 904 00:48:23,000 --> 00:48:27,000 koristiti jezik poput PHP ili puno interpretirane jezika 905 00:48:27,000 --> 00:48:30,000 u kontekstu Weba, što se toga tiče, imate korist 906 00:48:30,000 --> 00:48:34,000 da internet je puno sporije nego u većini računala. 907 00:48:34,000 --> 00:48:38,000 Imate GHz procesor u računalu, 2 GHz, možda čak i više ovih dana. 908 00:48:38,000 --> 00:48:41,000 No, stvarnost je na internetu postoji velika količina latencije 909 00:48:41,000 --> 00:48:45,000 pri čemu za preglednik za razgovor na server, iako smo vidjeli prošli tjedan 910 00:48:45,000 --> 00:48:47,000 da je to prilično brzo, pola milisekundi ili tako, 911 00:48:47,000 --> 00:48:51,000 da je previše dodaje se, a ako ste preuzimanjem stvari kao na slici 912 00:48:51,000 --> 00:48:54,000 ili Facebook fotografiju ili uzimajući instant poruke preko Facebook lupetati, 913 00:48:54,000 --> 00:48:57,000 Gchat ili slično, sve ove RTT 914 00:48:57,000 --> 00:49:00,000 između preglednika i poslužitelja počinje rasti, 915 00:49:00,000 --> 00:49:03,000 što čini vaš poseban izbor jezika u mnogim slučajevima 916 00:49:03,000 --> 00:49:07,000 nije sve što je potrebno, tako da ste u redu pomoću malo sporiji jezik 917 00:49:07,000 --> 00:49:10,000 poput PHP ili Python ili Ruby 918 00:49:10,000 --> 00:49:13,000 ali za koje postoje ogromne upsides za vas i vaše kolege 919 00:49:13,000 --> 00:49:17,000 i vaši prijatelji, jer možete provesti stvari tako, tako puno brže. 920 00:49:17,000 --> 00:49:20,000 A osim toga, imate mnogo manji rizik od određenih sigurnosnih propusta. 921 00:49:20,000 --> 00:49:22,000 Nema upućuje u PHP. 922 00:49:22,000 --> 00:49:25,000 Nema SEG greške koje se lako mogu izazvati 923 00:49:25,000 --> 00:49:27,000 Na isti način možete mogla u C. 924 00:49:27,000 --> 00:49:29,000 Sa C ste super blizu hardvera. 925 00:49:29,000 --> 00:49:33,000 Uz PHP i slični jezicima ste vrsta višoj razini, da se tako izrazim, 926 00:49:33,000 --> 00:49:37,000 s puno obrana između vas i ono što se zapravo događa 927 00:49:37,000 --> 00:49:39,000 unutar stroja, a to je samo tradeoff. 928 00:49:39,000 --> 00:49:42,000 >> Mi smo stečen do točke da te više moderne, visoka razina jezika 929 00:49:42,000 --> 00:49:47,000 poput PHP, jer od lekcija naučenih u jezicima kao što su PHP u C. 930 00:49:47,000 --> 00:49:50,000 Ali ako ne razumiju što se događalo ispod haube sve ovo vrijeme 931 00:49:50,000 --> 00:49:53,000 sigurno ne može donijeti prave odluke za dizajn, 932 00:49:53,000 --> 00:49:56,000 a sigurno kada je u pitanju rad na mjestu poput Facebooka ili Googlea 933 00:49:56,000 --> 00:49:59,000 ili bilo koji od ovih mjesta koja se sve više igra s velikim skupovima podataka 934 00:49:59,000 --> 00:50:01,000 čak i ako se vrati, a ne premed i rade s nekim MD 935 00:50:01,000 --> 00:50:04,000 na nekim velikim skupa podataka uključujući pacijente i liječnike 936 00:50:04,000 --> 00:50:08,000 i kao što je korištenje pravih alata je iznimno uvjerljiv 937 00:50:08,000 --> 00:50:11,000 jer inače vaš analiza nekog skupa podataka može potrajati sekundi, 938 00:50:11,000 --> 00:50:14,000 ili je to doslovno moglo potrajati satima. 939 00:50:14,000 --> 00:50:17,000 Ovo je samo jedan primjer, a ne da vas frustrirati s koliko više truda 940 00:50:17,000 --> 00:50:21,000 to je bio u C, ali će vam pomoći da cijenimo da kada ne provesti nešto u C 941 00:50:21,000 --> 00:50:24,000 vi stvarno razumjeti, ili u teoriji, stvarno razumjeti 942 00:50:24,000 --> 00:50:28,000 kako je sve ili treba raditi, a imate gotovo potpunu kontrolu 943 00:50:28,000 --> 00:50:31,000 nad onim što se događa ispod haube, i sa ovim višim razinama jezika 944 00:50:31,000 --> 00:50:34,000 morate odreći više kontrole na ljude koji su ih izmislili 945 00:50:34,000 --> 00:50:37,000 i podložne su više za svoje dizajnerske odluke nego tvoje. 946 00:50:37,000 --> 00:50:41,000 Ali ako ćemo uzeti zdravo za gotovo da je izvedba 947 00:50:41,000 --> 00:50:44,000 nije baš tako važno na webu, jer od ovih ostalih pitanja, 948 00:50:44,000 --> 00:50:47,000 samo mreža brzine su malo sporiji od CPU brzina svejedno, 949 00:50:47,000 --> 00:50:50,000 tako da možemo sortirati od priuštiti da koristite nešto sporiji jezik 950 00:50:50,000 --> 00:50:55,000 ako upsides su mi možemo razvijati stvari 10 puta brže ili čak i više. 951 00:50:55,000 --> 00:50:57,000 >> Idemo vidjeti kako možemo početi koristiti ovaj. 952 00:50:57,000 --> 00:51:00,000 Pusti me u mapu 953 00:51:00,000 --> 00:51:03,000 među današnjim primjerima zove frosh.ims, 954 00:51:03,000 --> 00:51:06,000 i to je zapravo bio osobno motiviran činjenicom da je vrlo prva stvar 955 00:51:06,000 --> 00:51:10,000 Napisao sam na Webu godina nakon uzimanja CS50 CS51 i 956 00:51:10,000 --> 00:51:14,000 je web stranica za program Frosh IM, brucoš intramuralnog sport, 957 00:51:14,000 --> 00:51:16,000 koja je u to vrijeme to je bio dovoljno godina da je u vrijeme 958 00:51:16,000 --> 00:51:19,000 nema web stranice za program, iako nije bilo web, 959 00:51:19,000 --> 00:51:22,000 i umjesto toga došlo je prokurator u Wigglessworthovoj pri čemu, ako ste htjeli 960 00:51:22,000 --> 00:51:26,000 da se registrirate za odbojku ili nogomet ili što god bi ispunite komad papira. 961 00:51:26,000 --> 00:51:28,000 Ti bi onda hodati po dvorištu. 962 00:51:28,000 --> 00:51:31,000 Ti bi onda pokucati na njihova vrata i tobogan u svojoj vrata ili ruke na Proctor 963 00:51:31,000 --> 00:51:34,000 komad papira sa svojim imenom na njemu, da li ili ne želite biti kapetan momčadi, 964 00:51:34,000 --> 00:51:37,000 što je sport ste htjeli učiniti, a što spavaonica ste bili u. 965 00:51:37,000 --> 00:51:39,000 To je neka vrsta stare škole način obavljanja stvari, a to je bio premijer 966 00:51:39,000 --> 00:51:41,000 Prilika za automatizaciju puno tog procesa. 967 00:51:41,000 --> 00:51:43,000 Vi samo otići na web stranicu. Možete upisati nešto u. 968 00:51:43,000 --> 00:51:46,000 Možete dobiti potvrdu e-poštom, i bum, gotovi ste. 969 00:51:46,000 --> 00:51:49,000 >> To je bio vrlo prva stvar koju sam učinio, iako u jeziku zove Pearl, 970 00:51:49,000 --> 00:51:52,000 ali to je relativno lako raditi u PHP-u, i to je neka vrsta predstavnika 971 00:51:52,000 --> 00:51:55,000 od problema možete početi rješavati kada možete izraziti sebe 972 00:51:55,000 --> 00:51:58,000 programatski i ne moraju se osloniti na stvari kao što su Google stranice 973 00:51:58,000 --> 00:52:01,000 ili Excel ili alati koji su predani na vas. 974 00:52:01,000 --> 00:52:03,000 Vi sada imaju mogućnost za napraviti stvari kao što je ovaj. 975 00:52:03,000 --> 00:52:06,000 Ovo je super ružna verzija obliku, 976 00:52:06,000 --> 00:52:09,000 ali neka je samo koristiti ga za početak razgovora kojim je to 977 00:52:09,000 --> 00:52:12,000 otprilike ono oblik izgledao godina za nas 978 00:52:12,000 --> 00:52:14,000 kako bi se omogućilo ljudima na webu da se prijavite za Frosh IM. 979 00:52:14,000 --> 00:52:18,000 Pitali smo za ime, kućicu za li ili ne oni su htjeli biti kapetan, 980 00:52:18,000 --> 00:52:21,000 muško ili žensko, a zatim ono što su bili u domu, 981 00:52:21,000 --> 00:52:23,000 i onda bi poslati ovaj obrazac. 982 00:52:23,000 --> 00:52:27,000 Neka prvi pogled ispod haube na HTML-a koji predstavlja ovu stranicu. 983 00:52:27,000 --> 00:52:31,000 Pusti me u froshims0, 984 00:52:31,000 --> 00:52:35,000 i kao stranu, za pset 7 uzimam zdravo za gotovo 985 00:52:35,000 --> 00:52:37,000 su direktoriji i mape koje sam stavljajući stvari u. 986 00:52:37,000 --> 00:52:40,000 Mi ćemo vas provesti kroz točno gdje stvari mora ići u aparatu, 987 00:52:40,000 --> 00:52:43,000 koji mod naredbe morate pokrenuti, tako da ne brinite o svim 988 00:52:43,000 --> 00:52:46,000 glupi detalj sinkronizaciju u od get-ići ovdje. 989 00:52:46,000 --> 00:52:49,000 >> U redu, evo froshims0.php. 990 00:52:49,000 --> 00:52:52,000 Dopustite mi da se pomaknite prema dolje, a ono što je znatiželjan ovdje, 991 00:52:52,000 --> 00:52:56,000 ovo je PHP datoteku, ali ono što je u njemu, jasno? 992 00:52:56,000 --> 00:52:59,000 To je puno HTML, i doista, PHP je porijeklo 993 00:52:59,000 --> 00:53:02,000 stvarno su po tome što je web-centric jezik. 994 00:53:02,000 --> 00:53:04,000 Trenutak prije smo ga koristiti za implementaciju pivo primjer, 995 00:53:04,000 --> 00:53:07,000 uvjeti, primjerice, halo primjer, i to je u redu. 996 00:53:07,000 --> 00:53:11,000 Možete koristiti PHP kao skriptni jezik 997 00:53:11,000 --> 00:53:15,000 gdje skripta je zapravo samo nomenklatura dati brz i prljave programa 998 00:53:15,000 --> 00:53:19,000 ili nešto što pišete u scripted ili više općenito interpretativnom jeziku. 999 00:53:19,000 --> 00:53:22,000 PHP je super korisno za to, jer ste vidjeli kako brzo 1000 00:53:22,000 --> 00:53:24,000 Relativno možemo ščepati programe u PHP. 1001 00:53:24,000 --> 00:53:27,000 No, to je stvarno bio osmišljen kako bi se koristiti za web, 1002 00:53:27,000 --> 00:53:31,000 i dizajniran za web u smislu da primijetiti ovdje na vrhu datoteke 1003 00:53:31,000 --> 00:53:34,000 Ja početi s 00:53:38,000 Onda imam hrpu beskorisnih komentara, odobrene, ali onda sam zatvoriti PHP način. 1005 00:53:38,000 --> 00:53:41,000 Ali onda sam kap u HTML načinu rada. 1006 00:53:41,000 --> 00:53:45,000 >> Što je zanimljivo o PHP je iako datoteka završava u. Php 1007 00:53:45,000 --> 00:53:48,000 to je općenito značilo da se sufinancirati pomiješano s HTML, 1008 00:53:48,000 --> 00:53:50,000 neke PHP kod, neki HTML. 1009 00:53:50,000 --> 00:53:53,000 A vidjet ćemo na kraju da možemo početi zafrkavati one osim 1010 00:53:53,000 --> 00:53:56,000 i zadržati naš HTML odvojeno od naše PHP uopce, 1011 00:53:56,000 --> 00:53:59,000 ali porijeklo PHP stvarno su vam dati tu fleksibilnost, 1012 00:53:59,000 --> 00:54:02,000 da, ako želite neke HTML samo to napisati, i da će biti 1013 00:54:02,000 --> 00:54:04,000 ispljunuti identično pregledniku. 1014 00:54:04,000 --> 00:54:07,000 No, ako trebate neki programski tehniku, 1015 00:54:07,000 --> 00:54:12,000 neki kod za programiranje, možete ga staviti u istu točnim datoteku, kao što ćemo uskoro vidjeti. 1016 00:54:12,000 --> 00:54:14,000 Evo moja HTML. 1017 00:54:14,000 --> 00:54:16,000 Imam naslov ove za Frosh IM. 1018 00:54:16,000 --> 00:54:20,000 Imam tjelesnu oznaku koji je dobio neki CSS o tome da centar svega u sredini, 1019 00:54:20,000 --> 00:54:23,000 i onda ovdje imam formu koja očito će biti podnesen 1020 00:54:23,000 --> 00:54:27,000 u novu datoteku pod nazivom register0.php, pa ćemo vidjeti da je u trenutku. 1021 00:54:27,000 --> 00:54:31,000 To je koristeći metodu zvanu nakon koje ćemo se vratiti kao dobro. 1022 00:54:31,000 --> 00:54:34,000 Onda imam neki oblik ulaza, jedan se zove imenom, čija je vrsta teksta, 1023 00:54:34,000 --> 00:54:37,000 onaj čije ime je kapetan, čija je vrsta kućicu, 1024 00:54:37,000 --> 00:54:40,000 i to, nismo ga vidjeli prije, ali to radi upravo ono što kaže. 1025 00:54:40,000 --> 00:54:42,000 Vi ćete dobiti okvir umjesto tekstualnog okvira. 1026 00:54:42,000 --> 00:54:46,000 Dolje ovdje imate gumb, koja je jedna od onih kružnih gumba 1027 00:54:46,000 --> 00:54:48,000 da ili možete odabrati ovu ili onu jednom. 1028 00:54:48,000 --> 00:54:52,000 >> Obavijest to namjerno da sam dao objema radio gumba ime roda. 1029 00:54:52,000 --> 00:54:55,000 Ovaj je kako možete dobiti međusobnog isključivanja pri čemu morate kliknuti 1030 00:54:55,000 --> 00:54:58,000 bilo to jedan ili da je jedan, a klikom druga 1031 00:54:58,000 --> 00:55:01,000 to unchecks druge, tako da ćete morati dati im isti naziv 1032 00:55:01,000 --> 00:55:03,000 ako želite da se međusobno isključuju takvo. 1033 00:55:03,000 --> 00:55:07,000 I onda za studentski dom, ne mislim da smo vidjeli to, no to je odabir izbornika, padajući izbornik. 1034 00:55:07,000 --> 00:55:09,000 Oznaka za to je odabir. 1035 00:55:09,000 --> 00:55:11,000 Nakon toga daju padajućeg izbornika ime, 1036 00:55:11,000 --> 00:55:13,000 i onda imate hrpu tih opcija. 1037 00:55:13,000 --> 00:55:16,000 Prvi, samo za estetiku, je prazan string. 1038 00:55:16,000 --> 00:55:20,000 Samo sam htio padajući biti prazan po defaultu, 1039 00:55:20,000 --> 00:55:22,000 i onda je Apley, Canaday, Sivi, i tako dalje. 1040 00:55:22,000 --> 00:55:24,000 I primijetiti dihotomiju ovdje. 1041 00:55:24,000 --> 00:55:27,000 Opcija u padajućem ima vrijednost, 1042 00:55:27,000 --> 00:55:30,000 ali onda to ima ljudsko-friendly naziv, koji je u ovom primjeru 1043 00:55:30,000 --> 00:55:33,000 je identičan, ali ako smo stvarno željeli biti analni bismo mogli imati 1044 00:55:33,000 --> 00:55:36,000 Vrijednost ovog padajućeg biti samo kratka verzija, 1045 00:55:36,000 --> 00:55:39,000 Sivi, ali mi stvarno mogao reći Grays Halla da je ljudski zapravo vidi, 1046 00:55:39,000 --> 00:55:43,000 ali to nije sve što je zanimljivo, pa sam samo zadržao je jednostavna i napravio im identične. 1047 00:55:43,000 --> 00:55:46,000 Onda dolje na dnu imamo submit gumb 1048 00:55:46,000 --> 00:55:49,000 što smo vidjeli prije, ali primijetiti sam samo dao mu drugu riječ. 1049 00:55:49,000 --> 00:55:53,000 Umjesto CS50 potrazi sam dao oznaku "Registracija". 1050 00:55:53,000 --> 00:55:56,000 >> Krajnji rezultat je ova web stranica ovdje, i opet, 1051 00:55:56,000 --> 00:56:00,000 gdje to dobiti podnijeti? 1052 00:56:00,000 --> 00:56:04,000 Ona dobiva podnijeti neke datoteke, vrijednost akcije atribut, 1053 00:56:04,000 --> 00:56:07,000 koji je bio register0.php. 1054 00:56:07,000 --> 00:56:09,000 Idemo vidjeti što se zapravo događa ovdje. 1055 00:56:09,000 --> 00:56:13,000 Pusti me naprijed i ispunite ovaj obrazac, recimo David, 1056 00:56:13,000 --> 00:56:16,000 muškarac, Matthews, a onda ću reći registrirati. 1057 00:56:16,000 --> 00:56:18,000 Dopustite mi da smanjivanje i kliknite registrirati. 1058 00:56:18,000 --> 00:56:22,000 Ok, tako da vrsta beskoristan, ali neka se vidi što se zapravo događa. 1059 00:56:22,000 --> 00:56:26,000 Primijetit ćete da URL promijenio se register0.php. 1060 00:56:26,000 --> 00:56:34,000 Što je znatiželjno odsutna iz URL-a, ipak, iako smo upravo poslali obrazac? 1061 00:56:34,000 --> 00:56:37,000 [Nečujno učenik odgovor] 1062 00:56:37,000 --> 00:56:39,000 Ok, to je samo Chrome bude user friendly ovih dana. 1063 00:56:39,000 --> 00:56:42,000 To je zapravo bilo. Oni su to samo sakriti radi uštede prostora. 1064 00:56:42,000 --> 00:56:44,000 No, dobra misao, dobra misao. 1065 00:56:44,000 --> 00:56:46,000 Prema drugom kraju URL-a, međutim, ono što nedostaje? Aha. 1066 00:56:46,000 --> 00:56:48,000 [Studentski] Niz upita. 1067 00:56:48,000 --> 00:56:51,000 Upit niz, tako sjećam iz naših jednostavnih Google pretraživanja primjera. 1068 00:56:51,000 --> 00:56:54,000 Čim sam kliknite na submit gumb URL 1069 00:56:54,000 --> 00:57:00,000 odvela me u Googleu, ali onda je bilo? q = informatika ili što god sam upisali u. 1070 00:57:00,000 --> 00:57:04,000 To je zato što smo koristili get metodom za pretraživanje primjer. 1071 00:57:04,000 --> 00:57:06,000 >> Ovaj put smo koristeći ono metodu umjesto toga? 1072 00:57:06,000 --> 00:57:10,000 Post, a jedan od neposrednih razlike 1073 00:57:10,000 --> 00:57:14,000 između dobiti i objaviti da je post ne stavi korisnikov ulaz u URL. 1074 00:57:14,000 --> 00:57:16,000 To ga skriva. Još uvijek ga šalje. 1075 00:57:16,000 --> 00:57:19,000 U stvari, ono što smo vidjeli u pregledniku ovdje, kao što ćemo otkriti u trenutku 1076 00:57:19,000 --> 00:57:22,000 gleda na register0, je ja sam samo vidio sadržaj 1077 00:57:22,000 --> 00:57:25,000 od niza koji su dostavljeni iz preglednika na poslužitelju. 1078 00:57:25,000 --> 00:57:29,000 Ali URL nema?, Nema nikakve riječi 1079 00:57:29,000 --> 00:57:31,000 ili vrijednosti u nju, i zašto je to? 1080 00:57:31,000 --> 00:57:35,000 Pa, poslije vam još dostaviti podatke iz obrasca na poslužitelju, 1081 00:57:35,000 --> 00:57:38,000 ali ga ne stavi u URL-u, pa kakva informacija je post 1082 00:57:38,000 --> 00:57:41,000 Posebno prikladno za možda kada pitate korisnika da 1083 00:57:41,000 --> 00:57:44,000 upisati u ulaz na oblik? 1084 00:57:44,000 --> 00:57:48,000 Nešto poput lozinke, nešto poput onoga što drugo? 1085 00:57:48,000 --> 00:57:50,000 Brojeve kreditnih kartica. 1086 00:57:50,000 --> 00:57:53,000 Sve što je blago osjetljiva vjerojatno ne želite završiti u URL 1087 00:57:53,000 --> 00:57:56,000 ako je samo zato što to znači da je cimer ili član obitelji može samo trol kroz 1088 00:57:56,000 --> 00:57:59,000 Vaše internet povijest, a zatim doslovno vidjeti svoje lozinke, 1089 00:57:59,000 --> 00:58:02,000 doslovno vidjeti svoje brojeve kreditnih kartica, jer je većina preglednici 1090 00:58:02,000 --> 00:58:05,000 sjetiti u povijesti god URL ste bili na, 1091 00:58:05,000 --> 00:58:09,000 pa makar samo zato da bi loša ideja. 1092 00:58:09,000 --> 00:58:11,000 Korištenje poštanskih skriva da je detalja od korisnika. 1093 00:58:11,000 --> 00:58:14,000 >> Također, kako uploadati sliku na Facebooku? 1094 00:58:14,000 --> 00:58:17,000 Pa, samo dva mehanizmi zaista možete koristiti, 1095 00:58:17,000 --> 00:58:21,000 iako postoji nekoliko drugih više skrivenim one, je dobiti i objaviti. 1096 00:58:21,000 --> 00:58:26,000 Kako vam eventualno uploadati sliku preko URL-a? 1097 00:58:26,000 --> 00:58:28,000 Vi zapravo možete to učiniti. 1098 00:58:28,000 --> 00:58:30,000 Možete uzeti JPEG ili Bitmap ili GIF i možete ga predstavljaju u heksadecimalnom 1099 00:58:30,000 --> 00:58:32,000 ili nešto što se zove baza 64. 1100 00:58:32,000 --> 00:58:35,000 Umjesto bazi 16 možete koristiti bazu 64, koji u suštini izgleda kao 1101 00:58:35,000 --> 00:58:38,000 ASCII znakovi, a vi zapravo može uploadati sliku preko URL-a 1102 00:58:38,000 --> 00:58:41,000 nakon upitnikom, ali postoje općenito ograničenja veličine. 1103 00:58:41,000 --> 00:58:44,000 Većina preglednika prisiliti URL da ne bude više od 1000 znakova, 1104 00:58:44,000 --> 00:58:47,000 možda 2000 znakova ili slično, tako da se ne može prenijeti 1105 00:58:47,000 --> 00:58:50,000 10 MB Facebook fotografiju. 1106 00:58:50,000 --> 00:58:54,000 Za to vam koristiti post kao dobro, tako da za sada se postavlja parametre u URL-u, 1107 00:58:54,000 --> 00:58:57,000 što je lijepo i korisno ponekad, ali za sve osjetljive ili velika 1108 00:58:57,000 --> 00:58:59,000 post je način da ide. 1109 00:58:59,000 --> 00:59:02,000 Što se register0 zapravo radiš ovdje? 1110 00:59:02,000 --> 00:59:05,000 Pa, ako sam otvoriti register0 obavijest da je to super jednostavna stranica, 1111 00:59:05,000 --> 00:59:09,000 ali to pokazuje činjenica da mogu surađivati ​​družiti se, za bolje ili za lošije, 1112 00:59:09,000 --> 00:59:12,000 HTML sa PHP. 1113 00:59:12,000 --> 00:59:15,000 Ova cijela datoteka, osim za komentare na vrhu, su HTML 1114 00:59:15,000 --> 00:59:19,000 osim za ovog momka ovdje. 1115 00:59:19,000 --> 00:59:22,000 >> Obavijest u sredini mom PHP kodu, 1116 00:59:22,000 --> 00:59:26,000 u sredini mog HTML, imam neku vrstu privremeno 1117 00:59:26,000 --> 00:59:28,000 ušao PHP način. 1118 00:59:28,000 --> 00:59:31,000 Zovem posebnu funkciju pod nazivom ispis r. 1119 00:59:31,000 --> 00:59:34,000 To znači ispisati rekurzivna, a ono to je to rekurzivno ispisuje 1120 00:59:34,000 --> 00:59:38,000 god varijabla ga predati, zarez, izlaz PHP način. 1121 00:59:38,000 --> 00:59:40,000 I prije oznaku daje vam unaprijed oblikovanog teksta, 1122 00:59:40,000 --> 00:59:43,000 mono prostor tekst, tako da svaki prostor zapravo ga vidjeti. 1123 00:59:43,000 --> 00:59:46,000 To ne nestaje. Što je post? 1124 00:59:46,000 --> 00:59:48,000 Pa, ono što je zanimljivo i uvjerljivo o PHP 1125 00:59:48,000 --> 00:59:52,000 je da kad god podnijeti obrazac koristeći se ili postavljati 1126 00:59:52,000 --> 00:59:56,000 sve što je podnesen vas pregledniku 1127 00:59:56,000 --> 01:00:00,000 PHP sama shvati što one ključne vrijednosti parovi su, 1128 01:00:00,000 --> 01:00:02,000 Brojke vani ako ima jednake znakove, brojke out, ako postoji znak pitanja. 1129 01:00:02,000 --> 01:00:07,000 To čini sve teško raditi za vas, a onda pruži vam asocijativni niz 1130 01:00:07,000 --> 01:00:10,000 sadrži sve da je korisnički upisali u obrazac. 1131 01:00:10,000 --> 01:00:12,000 Pa, što polja je ovaj oblik ima? 1132 01:00:12,000 --> 01:00:14,000 >> On je imao četiri polja. 1133 01:00:14,000 --> 01:00:16,000 Jedan je bio tekst polje zove ime. 1134 01:00:16,000 --> 01:00:18,000 Jedan je bio kućicu zove kapetan. 1135 01:00:18,000 --> 01:00:22,000 Jedan je radio gumb pod nazivom spol, 1136 01:00:22,000 --> 01:00:24,000 i jedan je padajući izbornik zove spavaonica, 1137 01:00:24,000 --> 01:00:27,000 tako da primjetiti kad sam ispisati rekurzivno 1138 01:00:27,000 --> 01:00:29,000 Sadržaj ovog posebnog varijable. 1139 01:00:29,000 --> 01:00:34,000 To je posebna globalna varijabla zove doslovno $ _POST, u svim kape. 1140 01:00:34,000 --> 01:00:39,000 To je posebna globalna varijabla koja PHP samo stvara za vas 1141 01:00:39,000 --> 01:00:42,000 i ruke na vas, tako da možete pristupiti sve 1142 01:00:42,000 --> 01:00:45,000 koja je podnijela preko obliku od strane korisnika. 1143 01:00:45,000 --> 01:00:48,000 I pozivom ispisa r na njega-ti ne bi to u normalnim primjene. 1144 01:00:48,000 --> 01:00:50,000 Mi smo to vidjeti unutrašnjost ove varijable, 1145 01:00:50,000 --> 01:00:53,000 i ono što je u njemu, dobro, 4 tipke, 1146 01:00:53,000 --> 01:00:56,000 4 http parametri, da tako kažemo, 1147 01:00:56,000 --> 01:00:59,000 ime, kapetan, spol, spavaonica, a zatim su vrijednosti koje korisnik 1148 01:00:59,000 --> 01:01:01,000 upisali u uz jednu iznimku. 1149 01:01:01,000 --> 01:01:03,000 Ja sam tip D--V-I-D. 1150 01:01:03,000 --> 01:01:05,000 Provjerio sam kutiju, ipak, za muškarca, koji je navodno podnio vrijednost 1151 01:01:05,000 --> 01:01:07,000 od samo m biti kratak. 1152 01:01:07,000 --> 01:01:10,000 >> Kad sam odabrao Matthewsa da je vrijednost koji je dobio odabrana, 1153 01:01:10,000 --> 01:01:12,000 a ovo je malo glupo, ali to je konvencija. 1154 01:01:12,000 --> 01:01:17,000 Kad sam provjerio okvir, vrijednost na, "na", dobio poslali za kućicu. 1155 01:01:17,000 --> 01:01:21,000 Ako nisam ga provjerio, nema vrijednost bi bila poslana god. 1156 01:01:21,000 --> 01:01:26,000 To samo daje nam uvid u ono što je unutar tog posebnog globalne varijable, 1157 01:01:26,000 --> 01:01:29,000 i to je tako posebna da se zove super globalna varijabla. 1158 01:01:29,000 --> 01:01:33,000 To postoji svugdje za vas unutar kôda, tako da zapravo mogu pristupiti. 1159 01:01:33,000 --> 01:01:36,000 To se ne da uvjerljiv, pa neka je zapravo koristite super Global 1160 01:01:36,000 --> 01:01:38,000 i zapravo pokušati da se registrirate nekoga. 1161 01:01:38,000 --> 01:01:41,000 U froshims1 ću napraviti jednu promjenu. 1162 01:01:41,000 --> 01:01:44,000 Ja sam mijenja akciju da se register1.php, 1163 01:01:44,000 --> 01:01:46,000 i ja radim jedan druga stvar. 1164 01:01:46,000 --> 01:01:48,000 Bio sam zbunjen po kvaliteti moje web stranice tamo. 1165 01:01:48,000 --> 01:01:52,000 To je prilično odvratan, iskreno, pa ispada 1166 01:01:52,000 --> 01:01:56,000 koje možete koristiti vrlo lako na webu 1167 01:01:56,000 --> 01:01:59,000 tuđe JavaScript kôd, tuđe CSS 1168 01:01:59,000 --> 01:02:02,000 da ste pismeni i otvoren izvor i dostupni u knjižnici, 1169 01:02:02,000 --> 01:02:06,000 da se tako izrazim, a za primjer, ovdje sam koristeći slobodno dostupan knjižnicu, 1170 01:02:06,000 --> 01:02:08,000 hrpa koda da je netko napisao. 1171 01:02:08,000 --> 01:02:11,000 >> Twitter se dogodilo napisati ovaj kod, a to se zove bootstrap knjižnica, 1172 01:02:11,000 --> 01:02:15,000 i to je samo hrpa CSS stil listova, hrpa. css datoteke 1173 01:02:15,000 --> 01:02:19,000 da je netko napisao i shvatio kako se sve lijepo i prilično 1174 01:02:19,000 --> 01:02:22,000 tako da ljudi poput nas mogu brinuti manje o estetici i usredotočiti se mnogo više 1175 01:02:22,000 --> 01:02:24,000 na logici i stvarne programiranje. 1176 01:02:24,000 --> 01:02:30,000 Do povezuje ga se s tom oznakom, što je ista oznaka Koristio sam zapamtite za styles3.css ranije, 1177 01:02:30,000 --> 01:02:34,000 Ja sada imaju pristup datoteci pod nazivom bootstrap.min.css. 1178 01:02:34,000 --> 01:02:37,000 Minimalni samo znači da ste ga minified i oni dobivši osloboditi od svih bijelog prostora i tako dalje 1179 01:02:37,000 --> 01:02:40,000 samo da bi bili sigurni da se ne šaljete mi više bajtova nego što sam zapravo potrebno. 1180 01:02:40,000 --> 01:02:45,000 No, u tu je cijela hrpa CSS, pa ako ja sada otvoriti verziju jedne od Frosh IM 1181 01:02:45,000 --> 01:02:49,000 primijetiti da je moja datoteka je definitivno ljepše. 1182 01:02:49,000 --> 01:02:54,000 Sada je još samo crna i bijela, ali primijetiti da je samo pomoću svoj stil list 1183 01:02:54,000 --> 01:02:58,000 i korištenje određenih značajki tome na mojoj formi to nije iznenađujuće, 1184 01:02:58,000 --> 01:03:01,000 ali to je definitivno čišći nego što je bio prije, a projektor ne radi pravdu. 1185 01:03:01,000 --> 01:03:05,000 Tu je malo sive linije oko gumbe i oko tekstnom polju ovdje, 1186 01:03:05,000 --> 01:03:07,000 ali to je definitivno čišći nego što je bio prije. 1187 01:03:07,000 --> 01:03:09,000 >> Sada, u pravednosti, sam morao promijeniti moj označavanje malo. 1188 01:03:09,000 --> 01:03:12,000 Ovo je verzija 1, i primjetiti da sam koristiti nekoliko novih oznaka, 1189 01:03:12,000 --> 01:03:17,000 i iskreno, nisam imao pojma kako to učiniti dok sam pročitao dokumentaciju 1190 01:03:17,000 --> 01:03:20,000 za Twitter je bootstrap knjižnici, a oni su mi rekli, ako želite koristiti našu knjižnicu 1191 01:03:20,000 --> 01:03:23,000 koristiti elementa fieldset unutar vašeg obliku, 1192 01:03:23,000 --> 01:03:27,000 staviti riječ koju želite pokazati pokraj polja unutar naljepnice oznake, 1193 01:03:27,000 --> 01:03:30,000 onda dati svoj ulaz ime, baš kao i prije, 1194 01:03:30,000 --> 01:03:34,000 , a zatim za kućicu, ne samo da ćete ga zamotajte u oznaku elementa, 1195 01:03:34,000 --> 01:03:36,000 koristite nešto što se zove klasa, tako da nismo vidjeli ovo prije, 1196 01:03:36,000 --> 01:03:39,000 ali to ćete vidjeti u jednoj od pset 7 u gaćice. 1197 01:03:39,000 --> 01:03:43,000 Klase u CSS vam omogućuje da učinite nešto vrlo sličan ID, 1198 01:03:43,000 --> 01:03:46,000 ali prije kad smo imali ID s # simbolom 1199 01:03:46,000 --> 01:03:48,000 da je za jedan i samo jedan element. 1200 01:03:48,000 --> 01:03:51,000 Što je lijepo o klasi je da više elemenata može imati isti razred 1201 01:03:51,000 --> 01:03:54,000 ili isti CSS stvari primijeniti na njega. 1202 01:03:54,000 --> 01:03:57,000 >> Ali opet, više na one u kratko, a ostatak je ovo samo kopirati i zalijepiti 1203 01:03:57,000 --> 01:04:00,000 iz njihove dokumentacije gdje sam dodao naljepnicu tu i tamo. 1204 01:04:00,000 --> 01:04:03,000 I na kraju, jer sam uključen vezi oznaku na vrhu, 1205 01:04:03,000 --> 01:04:06,000 sve izgleda ljepše automatski 1206 01:04:06,000 --> 01:04:10,000 jednostavno nakon obilježio moj stranicu na način da 1207 01:04:10,000 --> 01:04:12,000 Twitter očekuje, a tu je tako mnogo različitih načina 1208 01:04:12,000 --> 01:04:14,000 za to, a to je doista vrlo prikladno. 1209 01:04:14,000 --> 01:04:17,000 U ovom trenutku u semestru, kao što ćete vidjeti u pset 7 je spec., 1210 01:04:17,000 --> 01:04:20,000 Googling okolo, čitanje gore o knjižnicama, koristeći tuđe CSS 1211 01:04:20,000 --> 01:04:23,000 i JavaScript za rješavanje problema pomoćne 1212 01:04:23,000 --> 01:04:26,000 do problema seta sama sigurno je ohrabrio i način 1213 01:04:26,000 --> 01:04:29,000 Web je izgrađen ovih dana, stoji na tuđim ramenima 1214 01:04:29,000 --> 01:04:32,000 tako da zaista možete usredotočiti na nove i zanimljive problema. 1215 01:04:32,000 --> 01:04:34,000 Ali ajmo sada usredotočiti na, opet, logiku. 1216 01:04:34,000 --> 01:04:38,000 >> To je bilo brzo skretanje na estetiku samo da vam pokazati smjer u kojem možete ići. 1217 01:04:38,000 --> 01:04:40,000 Ja ću se vratiti na ružniji jedan za sada samo zato 1218 01:04:40,000 --> 01:04:44,000 da nema smetnje sa Twitter stvari, i neka mi ići naprijed i otvoriti 1219 01:04:44,000 --> 01:04:51,000 froshims2, koji, opet, razlikuje se samo u akciji, register2.php, 1220 01:04:51,000 --> 01:04:55,000 i neka je pogledati što je učinak ovdje. 1221 01:04:55,000 --> 01:04:57,000 Pusti me naprijed i upišite u Davidu. 1222 01:04:57,000 --> 01:04:59,000 Neću biti kapetan ovaj put. 1223 01:04:59,000 --> 01:05:01,000 Ja ću reći muškarac, Matthews, registrirajte. 1224 01:05:01,000 --> 01:05:05,000 Dovraga. Ok, to je vijak gore na moj dio. 1225 01:05:05,000 --> 01:05:07,000 Stand by. 1226 01:05:07,000 --> 01:05:17,000 Register2, linija 22, ako je prazna ili-žao. 1227 01:05:17,000 --> 01:05:19,000 Ajmo reload. 1228 01:05:19,000 --> 01:05:22,000 Ok, nakon podnošenja ovog obrasca što se upravo dogodilo? 1229 01:05:22,000 --> 01:05:25,000 Ja upisali u Davidu, provjeriti muškarac, kliknuo Matthewsa, registrirajte. 1230 01:05:25,000 --> 01:05:27,000 Prijavljeni ste. (Pa, zapravo i nije.) 1231 01:05:27,000 --> 01:05:32,000 To je jasno korak dalje od pukog ispis sadržaja neke varijable, 1232 01:05:32,000 --> 01:05:34,000 ali ono što je ovu sliku zapravo radi? 1233 01:05:34,000 --> 01:05:37,000 U register2.php 1234 01:05:37,000 --> 01:05:40,000 primijetiti da imam neki novi kôd. 1235 01:05:40,000 --> 01:05:44,000 Unutar moje tijelo tag imam bitno ako drugi graditi, 1236 01:05:44,000 --> 01:05:47,000 ali zato sam co-druženje to s nekim HTML 1237 01:05:47,000 --> 01:05:51,000 Imam za ulazak i izlazak PHP način naprijed i natrag, pa ćemo vidjeti što radim. 1238 01:05:51,000 --> 01:05:55,000 >> U prvom redu ovdje govorim ako je to slučaj 1239 01:05:55,000 --> 01:06:00,000 da je post super globalni je prazna za ključ imenom, 1240 01:06:00,000 --> 01:06:04,000 tako iu drugim riječima, ako korisnik nije mi dati vrijednost za ime u obliku, 1241 01:06:04,000 --> 01:06:07,000 onda prazna će se vratiti točno, jer je vrijednost prazna. 1242 01:06:07,000 --> 01:06:11,000 Ili-primijetiti okomite trake-ako spol je prazna 1243 01:06:11,000 --> 01:06:15,000 unutar ovog posebnog super Global, koji, opet, predstavlja sadržaj obrasca, 1244 01:06:15,000 --> 01:06:19,000 ili spavaonica je prazna, onda ću ići naprijed i vikati na korisnika. 1245 01:06:19,000 --> 01:06:22,000 Kako? Pa, primijetit ću reći da mora dati svoje ime, spol i spavaonica. 1246 01:06:22,000 --> 01:06:24,000 Ajmo zapravo izazvati tu pogrešku. 1247 01:06:24,000 --> 01:06:27,000 Pusti me natrag u moje obliku. Dopustite mi učitati ga izbrisali. 1248 01:06:27,000 --> 01:06:30,000 I samo ću im dati Davidu, a oni ne moraju znati gdje ja živim. 1249 01:06:30,000 --> 01:06:33,000 Registrirajte se. Očito sam ne treba im reći gdje živim. 1250 01:06:33,000 --> 01:06:35,000 Morate dati svoje ime, spol i spavaonica. Idi natrag. 1251 01:06:35,000 --> 01:06:39,000 >> I ja sam mogao kliknite vratiti u tom obliku, ali zašto je to? 1252 01:06:39,000 --> 01:06:43,000 Pa, u tom slučaju ime nije bio prazan, ali rod je bio, a spavaonica je, 1253 01:06:43,000 --> 01:06:47,000 tako da je cijela ova izraz ocjenjuju da istina, i iako je sintaksa malo nova, 1254 01:06:47,000 --> 01:06:51,000 opet, ulazimo PHP način, upoznati ako izjavi, 1255 01:06:51,000 --> 01:06:54,000 ali novi dio ovdje je samo to debelo, a ja sam sjebao izostavljaju zagradu 1256 01:06:54,000 --> 01:06:57,000 slučajno, ali primijetiti debelog crijeva, a to znači 1257 01:06:57,000 --> 01:07:00,000 iako smo izlaska PHP način sve 1258 01:07:00,000 --> 01:07:03,000 koji slijedi treba ispljunuti doslovno u preglednik 1259 01:07:03,000 --> 01:07:07,000 dok ne vide drugi blok, kao i mi ovdje, 1260 01:07:07,000 --> 01:07:10,000 u kojem slučaju umjesto toga treba pljuvati to iz 1261 01:07:10,000 --> 01:07:13,000 dok ne vidite endif, tako da su neki malo nova sintaksa 1262 01:07:13,000 --> 01:07:16,000 da mi omogućuje da birate između HTML i PHP. 1263 01:07:16,000 --> 01:07:19,000 Možemo očistiti ovaj gore na kraju, ali za sada, 1264 01:07:19,000 --> 01:07:22,000 to je vrsta uvjerljiv način kontrole pogrešaka obrazac. 1265 01:07:22,000 --> 01:07:25,000 >> Sada, ja kažem da niste registrovani stvarno jer očito smo učinili ništa ali podaci, 1266 01:07:25,000 --> 01:07:28,000 pa neka je zapravo pokušati učiniti nešto cool. 1267 01:07:28,000 --> 01:07:33,000 U froshims3 Jedina razlika je što ću podnijeti register3, 1268 01:07:33,000 --> 01:07:35,000 tako da HTML je isti. 1269 01:07:35,000 --> 01:07:38,000 U register3 primijetiti. 1270 01:07:38,000 --> 01:07:40,000 Ovo je jedna vrsta seksi. 1271 01:07:40,000 --> 01:07:44,000 Na vrhu sam koristeći zahtijevaju izjavu, pa to je kao # include. 1272 01:07:44,000 --> 01:07:46,000 Ovaj put to nije stdio.h ili bilo što slično. 1273 01:07:46,000 --> 01:07:50,000 To je PHP knjižnica, a to se zove PHPMailer. 1274 01:07:50,000 --> 01:07:53,000 Kako sam znao da su upravo ovaj citirani niz? 1275 01:07:53,000 --> 01:07:56,000 Ja ga pročitati u dokumentaciji, pa kad su mi rekli ovo staviti na vrhu datoteke 1276 01:07:56,000 --> 01:08:00,000 ako želite koristiti posebnu biblioteku pod nazivom PHPMailer da radi ono što govori. 1277 01:08:00,000 --> 01:08:03,000 To vam omogućuje slanje e-pošte putem PHP. 1278 01:08:03,000 --> 01:08:05,000 Sada ćemo se pomaknite prema dolje i dalje. 1279 01:08:05,000 --> 01:08:08,000 >> Obavijest za početak sam u PHP modu cijelo ovo vrijeme, 1280 01:08:08,000 --> 01:08:11,000 tako da sada primjetiti ovdje dolje nakon uvoza tu knjižnicu, 1281 01:08:11,000 --> 01:08:13,000  da se tako izrazim, radim neke provjere razum. 1282 01:08:13,000 --> 01:08:16,000 Ako je to slučaj da ime nije prazna 1283 01:08:16,000 --> 01:08:19,000 i spol nije prazan-primijetiti Uskličnici- 1284 01:08:19,000 --> 01:08:24,000 i spavaonica nije prazan, onda korisnik logično je ispuniti obrazac, barem dovoljno. 1285 01:08:24,000 --> 01:08:28,000 Ne zanima me ako oni kapetan ili ne. Trebam samo svoje ime, spol i spavaonica. 1286 01:08:28,000 --> 01:08:31,000 Ako su ispunjeni one out, tako da nitko od tih polja su prazna 1287 01:08:31,000 --> 01:08:33,000 to je nešto novo sintaksa. 1288 01:08:33,000 --> 01:08:36,000 PHP, kao stranu, je objektno orijentiranog programskog jezika 1289 01:08:36,000 --> 01:08:39,000 što neki od vas možda sjećaju iz APCS ili poput. 1290 01:08:39,000 --> 01:08:42,000 Za sada, ako nisu upoznati, samo znam da biste koristili ovu knjižnicu 1291 01:08:42,000 --> 01:08:45,000 morate napisati liniju koda ovako koristeći novu ključnu riječ, 1292 01:08:45,000 --> 01:08:47,000 doslovno nova ključna zove novi. 1293 01:08:47,000 --> 01:08:50,000 Ali nakon toga, imamo neke poznate sintaksu. 1294 01:08:50,000 --> 01:08:54,000 To je strijela operater, koji je sličan onome što smo koristili za tvorevina u kontekstu upućuje. 1295 01:08:54,000 --> 01:08:57,000 Za danas PHP ne upućuje, 1296 01:08:57,000 --> 01:09:01,000 ali znam za sada da unutar mail varijable 1297 01:09:01,000 --> 01:09:05,000 je u suštini vrsta pokazivača na poseban knjižnici 1298 01:09:05,000 --> 01:09:08,000 da je netko napisao, a ako želim pristupiti specifičnu funkcionalnost 1299 01:09:08,000 --> 01:09:12,000 unutar tog knjižnici sam ne, kao u C, koristite operator strelica, 1300 01:09:12,000 --> 01:09:14,000 iako su to zapravo ne upućuje. 1301 01:09:14,000 --> 01:09:16,000 To je vrsta PHP vlastite verzije istih. 1302 01:09:16,000 --> 01:09:20,000 To znači ići u knjižnicu i pozvati IsSMTP funkciju. 1303 01:09:20,000 --> 01:09:23,000 SMTP, podsjetimo, od naših ratnika u neto odnosi na e-mail, 1304 01:09:23,000 --> 01:09:28,000 i to samo znači koristite e-mail server za ovaj Frosh IM registracije. 1305 01:09:28,000 --> 01:09:30,000 >> Što domaćin ne želim koristiti? 1306 01:09:30,000 --> 01:09:34,000 Pa, Harvard, ako Google okolo, ima e-mail poslužitelj zove smtp.fas.harvard.edu. 1307 01:09:34,000 --> 01:09:37,000 Ako igrate zajedno kod kuće ili živite na Comcast mreži 1308 01:09:37,000 --> 01:09:40,000 to bi moglo biti nešto poput smtp.comcast.net. 1309 01:09:40,000 --> 01:09:43,000 To potpuno ovisi o tome gdje živite i koji je vaš ISP. 1310 01:09:43,000 --> 01:09:47,000 Nakon toga ću postaviti svoje adrese iz proizvoljno da bude jharvard@cs50.net. 1311 01:09:47,000 --> 01:09:52,000 I onda ću postaviti na adresu biti jharvard@cs50.net. 1312 01:09:52,000 --> 01:09:55,000 Jedini način sam znao da ove funkcije su pozvani SetFrom i AddAddress 1313 01:09:55,000 --> 01:09:57,000 je, opet, čitao sam dokumentaciju. 1314 01:09:57,000 --> 01:09:59,000 To nije vrsta magično poznato da sve programera. 1315 01:09:59,000 --> 01:10:02,000 Tada sam postavio temu na "prijava". 1316 01:10:02,000 --> 01:10:07,000 I sad ova linija je malo ružno, jer što ne znači dot operater u PHP-u? 1317 01:10:07,000 --> 01:10:09,000 Bilo tko znati? 1318 01:10:09,000 --> 01:10:11,000 Spojite. 1319 01:10:11,000 --> 01:10:14,000 U C je bol u vratu spojite 2 žice zajedno. 1320 01:10:14,000 --> 01:10:17,000 Morate se nositi s malloc ili realloc ili sve te stvari 1321 01:10:17,000 --> 01:10:20,000 samo produljiti duljinu niza. 1322 01:10:20,000 --> 01:10:22,000 U PHP, u JavaScriptu i drugim jezicima 1323 01:10:22,000 --> 01:10:24,000 obično možete to učiniti s jednim karaktera. 1324 01:10:24,000 --> 01:10:28,000 U ovom slučaju, točka znači uzeti ovaj niz ovdje 1325 01:10:28,000 --> 01:10:30,000 i dodati na njega ovaj string. 1326 01:10:30,000 --> 01:10:32,000 >> Oh, i usput, dodati na njega ovaj niz, 1327 01:10:32,000 --> 01:10:34,000 što se događa da se varijabla unutar tog super globalnog. 1328 01:10:34,000 --> 01:10:37,000 Zatim dodajte na njega novu liniju, tako da sve od ovih točaka samo znači 1329 01:10:37,000 --> 01:10:39,000 držati što veći i veći i veći niz, 1330 01:10:39,000 --> 01:10:43,000 i ne morate brinuti uopće o malloc ili kao u jeziku kao što je ovaj, 1331 01:10:43,000 --> 01:10:46,000 a tu je i drugi načini da to učinite, ali ovo je jedan od najbrže 1332 01:10:46,000 --> 01:10:48,000 načina da ga nokautirati. 1333 01:10:48,000 --> 01:10:50,000 Što se to radi? 1334 01:10:50,000 --> 01:10:55,000 To je stvaranje e tijelo koje će reći Ime: Kapetan: Spol: spavaonica: 1335 01:10:55,000 --> 01:10:58,000 sve na odvojenim linijama, a onda na kraju, 1336 01:10:58,000 --> 01:11:00,000 jedna linija koda, a ja ću ignorirati to za sada. 1337 01:11:00,000 --> 01:11:02,000 Ako == false samo znači ako je nešto pošlo po zlu, 1338 01:11:02,000 --> 01:11:04,000 ali magija se događa ovdje. 1339 01:11:04,000 --> 01:11:08,000 Mail poslati znači poslati ovu poruku. 1340 01:11:08,000 --> 01:11:10,000 Idemo vidjeti što Neto rezultat je. 1341 01:11:10,000 --> 01:11:13,000 Na dnu datoteke, primijetit to će reći da su registrirani doista 1342 01:11:13,000 --> 01:11:15,000 ako ja dobiti tako daleko. 1343 01:11:15,000 --> 01:11:18,000 Ako, međutim, korisnik vijci gore, primijetiti da smo započeli ovu 1344 01:11:18,000 --> 01:11:21,000 ako stanje ovdje gore, ako to nije prazna, a ne prazna 1345 01:11:21,000 --> 01:11:24,000 a ne isprazniti mi poslati mail. 1346 01:11:24,000 --> 01:11:27,000 Inače ćemo poslati ovu liniju koda, 1347 01:11:27,000 --> 01:11:30,000 koje će imati učinak, kao što ćete vidjeti u pset 7, od preusmjeravanje korisnika 1348 01:11:30,000 --> 01:11:35,000 natrag do mjesta gdje su došli, froshims3.php. 1349 01:11:35,000 --> 01:11:38,000 >> Fige, inače će to biti najviše razočaravajući demo danas. 1350 01:11:38,000 --> 01:11:40,000 Ovdje ćemo ići. 1351 01:11:40,000 --> 01:11:42,000 Dopustite mi da otvori svoju e-mail sandučić za jharvard u Gmailu. 1352 01:11:42,000 --> 01:11:44,000 Ne e upravo sada. U redu. 1353 01:11:44,000 --> 01:11:53,000 Sada neka mi otvoriti froshims3, koji je treći i posljednji primjer ćemo pogledati ovdje. 1354 01:11:53,000 --> 01:11:55,000 Ok, ovdje mi ići. 1355 01:11:55,000 --> 01:12:00,000 Nate, on će biti kapetan, muškarac, iz, recimo, Apley. 1356 01:12:00,000 --> 01:12:04,000 Registrirajte se. Ok, vi ste registrovani stvarno. 1357 01:12:04,000 --> 01:12:07,000 Sada, ako sam pomaknite se na moj e-mail, Bože moj. 1358 01:12:07,000 --> 01:12:09,000 Upravo sam dinamički poslao e-mail na webu. 1359 01:12:09,000 --> 01:12:11,000 >> Ostavimo na toj bilješci. 1360 01:12:11,000 --> 01:12:16,000 Video je u pripremi za predavanja smo propustili. Vidimo se sljedeći tjedan. 1361 01:12:16,000 --> 01:12:18,000 [CS50.TV]