1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Hét 8] 2 00:00:02,000 --> 00:00:04,000 [David J Malan] [Harvard Egyetem] 3 00:00:04,000 --> 00:00:07,000 [Ez a CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:09,000 >> Üdv újra. 5 00:00:09,000 --> 00:00:11,000 Ez CS50, és ez a kezdete hét 8. 6 00:00:11,000 --> 00:00:14,000 Egy pár lehetőségek ezen a héten, 7 00:00:14,000 --> 00:00:17,000 köztük ez a beszélgetés itt, ahol néhány élelmiszer kerül felszolgálásra. 8 00:00:17,000 --> 00:00:20,000 További részletekért nézd meg a lemezeket, amelyek online. 9 00:00:20,000 --> 00:00:24,000 És azt is, egy másik esemény ezen a héten a saját Thomas Carriero. 10 00:00:24,000 --> 00:00:27,000 Ő az egyik CS50 egykori feje tanítási fickók, akik most a Dropbox, 11 00:00:27,000 --> 00:00:29,000 és ő az, aki minket akasztott fel a tudod mit, 12 00:00:29,000 --> 00:00:36,000 így ha többet szeretne e fej saját talk ma délután a Dropbox és így tovább. 13 00:00:36,000 --> 00:00:38,000 CS50 ebéd ezen a pénteken. 14 00:00:38,000 --> 00:00:41,000 Ne csatlakozzon hozzánk, ha tudja, 1:15, mint mindig, a Fire and Ice. 15 00:00:41,000 --> 00:00:45,000 >> És most belevetik magukat valami úgynevezett szemináriumok. 16 00:00:45,000 --> 00:00:49,000 A CS50 Szemináriumok, visszahívás, ezek a választható osztályok által vezetett oktatási ösztöndíjas 17 00:00:49,000 --> 00:00:51,000 és persze asszisztensek és barátai a kurzus, 18 00:00:51,000 --> 00:00:55,000 emberek egy csoportja az egyetemen nevű ABCD, ami egy csoport 19 00:00:55,000 --> 00:00:58,000 technofilek az egyetemen, valamint a csoport az úgynevezett HCS, 20 00:00:58,000 --> 00:01:02,000 A Harvard Computer Society, egyetemi hallgatók, akik szintén érdeklődnek a számítástechnikában. 21 00:01:02,000 --> 00:01:08,000 Az idei naptárban szemináriumok magában szemináriumok Android és iOS és JavaScript 22 00:01:08,000 --> 00:01:13,000 és a PHP, Unix, Vim, és így tovább, így észre, hogy ezek a szemináriumok jönnek létre. 23 00:01:13,000 --> 00:01:16,000 Ha azt szeretné, hogy Küldjön RSVP visszajelzést, ezek közül bármelyik fejét, hogy az URL-ott. 24 00:01:16,000 --> 00:01:20,000 Ezt követően teszi közzé a kurzus honlapján időpont és hely, amint véglegesítik. 25 00:01:20,000 --> 00:01:26,000 De tudom, hogy a 5 éves érdemes a korábbi szemináriumok online elérhető, 26 00:01:26,000 --> 00:01:29,000 amelyek közül sok még mindig nagyon aktuális szempontjából a technológia lehet, 27 00:01:29,000 --> 00:01:36,000 szeretne játszani a végleges projekteket, így irány ott néhány rendelkezésre álló videók cikke. 28 00:01:36,000 --> 00:01:39,000 >> CSS, azoknak, akik ismerik a CSS már, 29 00:01:39,000 --> 00:01:42,000 mi ez dióhéjban? 30 00:01:42,000 --> 00:01:45,000 Mi az a CSS? 31 00:01:45,000 --> 00:01:48,000 Ez stíluslapokat, és mit jelent ez? 32 00:01:48,000 --> 00:01:53,000 Mit csinál nekünk, CSS? 33 00:01:53,000 --> 00:01:57,000 Rendben, a warm up egy egyszerűbb egy, HTML, Hypertext Markup Language. 34 00:01:57,000 --> 00:02:01,000 Mit csinál nekünk? 35 00:02:01,000 --> 00:02:04,000 Bárki, aki egyáltalán? 36 00:02:04,000 --> 00:02:07,000 Ez kezd nagyon kínos átgondolva a fenti kérdéseket. 37 00:02:07,000 --> 00:02:11,000 HTML Hypertext Markup Language. 38 00:02:11,000 --> 00:02:14,000 Igen? Nem? 39 00:02:14,000 --> 00:02:17,000 [Hallhatatlan hallgatói válasz] 40 00:02:17,000 --> 00:02:20,000 Oké, jó, ez lehetővé teszi számunkra, hogy jelölje ki a szöveget megjeleníteni a böngészőben. 41 00:02:20,000 --> 00:02:22,000 Ez nem egy programozási nyelv. 42 00:02:22,000 --> 00:02:25,000 Ez valóban egy leíró nyelv, ami azt jelenti, hogy utasítja a böngésző hogyan jelenítse meg 43 00:02:25,000 --> 00:02:28,000 információkat, így a legegyszerűbb megtestesülése ezt láttuk 44 00:02:28,000 --> 00:02:32,000 van valami szuper egyszerű, mint boldfacing nyitott zárójel b zárva tartó hozzászólás 45 00:02:32,000 --> 00:02:36,000 hogy ez a szöveg félkövér, és ez valójában csak egy a sok szempontból 46 00:02:36,000 --> 00:02:39,000 ahol tudunk csinálni, sőt, ezekben a napokban egy jobb megközelítés 47 00:02:39,000 --> 00:02:42,000 A stilizáló a weboldal, a dolgok félkövér és dőlt 48 00:02:42,000 --> 00:02:47,000 és középre és indokolni és hasonló, nem keresztül történik HTML egyedül 49 00:02:47,000 --> 00:02:51,000 hanem inkább a technika az úgynevezett CSS stíluslapokat. 50 00:02:51,000 --> 00:02:53,000 Ez egy olyan nyelv hozzátok is. 51 00:02:53,000 --> 00:02:55,000 Ez is nem egy programozási nyelv, de- 52 00:02:55,000 --> 00:02:58,000 mindenki, ez a Dan, aki folyamatosan csatlakozik hozzánk ma. 53 00:02:58,000 --> 00:03:01,000 Néhány technikai nehézségeket. Nem probléma. 54 00:03:01,000 --> 00:03:04,000 >> CSS lehetővé teszi számunkra, hogy stilizál oldal 55 00:03:04,000 --> 00:03:07,000 azáltal, hogy úgynevezett tulajdonságait, ezért vessünk egy pillantást a 56 00:03:07,000 --> 00:03:09,000 útján néhány alapvető példát. 57 00:03:09,000 --> 00:03:12,000 Hadd menjek be a készüléket ma. 58 00:03:12,000 --> 00:03:15,000 Nekem van a forrás 8 hétfő könyvtárban van, 59 00:03:15,000 --> 00:03:18,000 és én megyek be egy könyvtárba nevű CSS, ahol van egy csomó 60 00:03:18,000 --> 00:03:21,000 A fájlok vár ránk itt, 61 00:03:21,000 --> 00:03:27,000 és ebben a mappában van, például, az utolsó search0.html alkalom. 62 00:03:27,000 --> 00:03:31,000 Most, felidézni a search0 mi maradt e feljegyzés 63 00:03:31,000 --> 00:03:35,000 a fajta végrehajtási Google, vagy tényleg csak a front end mert egy hét múlva ezelőtt, 64 00:03:35,000 --> 00:03:38,000 , és vegyük észre, hogy mi volt néhány új tag is. 65 00:03:38,000 --> 00:03:41,000 Volt h1 egy nagy, merész címsor, 66 00:03:41,000 --> 00:03:45,000 formában, amely lehetővé tette számunkra, hogy valóban van egy HTML űrlap felhasználói bevitel. 67 00:03:45,000 --> 00:03:48,000 Action, mi volt az értelme kereset attribútum 68 00:03:48,000 --> 00:03:52,000 A HTML form tag? 69 00:03:52,000 --> 00:03:58,000 Mi volt az értelme ennek, keresetet? 70 00:03:58,000 --> 00:04:00,000 Én csak ezt ma. 71 00:04:00,000 --> 00:04:03,000 Fellépés a cél, ahol a forma fog benyújtani. 72 00:04:03,000 --> 00:04:07,000 Az a tény, hogy azt mondja action = "google.com / search" 73 00:04:07,000 --> 00:04:10,000 azt jelenti, hogy ha a felhasználó rákattint a küldés gombot, vagy az azzal egyenértékű 74 00:04:10,000 --> 00:04:14,000 bármilyen űrlapmezőket azokat kitöltve fognak küldeni, hogy ne a mi szerver 75 00:04:14,000 --> 00:04:17,000 vagy a készülék, hanem az adott URL-t a Google-nál. 76 00:04:17,000 --> 00:04:19,000 És a módszerrel fog használni az úgynevezett kap, 77 00:04:19,000 --> 00:04:25,000 és kap, most, csak egy módszer az áthaladó információk mellett egy web szerver 78 00:04:25,000 --> 00:04:29,000 útján az URL-címet, ezért vessünk egy gyors pillantást, hogy ez hogyan működik. 79 00:04:29,000 --> 00:04:31,000 >> Figyeljük meg, hogy van egy input, akinek a neve q 80 00:04:31,000 --> 00:04:35,000 amelynek típusa szöveg, és azután egy második bemeneti típusú kattintson 81 00:04:35,000 --> 00:04:39,000 amelynek értéke CS50 Search, és valóban, ha megnyitja ezt a fájlt itt, 82 00:04:39,000 --> 00:04:42,000 search0.html, ez egy szuper egyszerű formában, 83 00:04:42,000 --> 00:04:45,000 és ha keressen valami hasonló számítástechnika 84 00:04:45,000 --> 00:04:50,000 , majd nyomd meg az Entert, vagy kattintson CS50 Search 85 00:04:50,000 --> 00:04:53,000 észre, hogy mi történik, túl kezd a Google 86 00:04:53,000 --> 00:04:56,000 Én kifejezetten végül a következő URL a tetején, 87 00:04:56,000 --> 00:05:01,000 google.com / search? q = számítógép + tudomány, 88 00:05:01,000 --> 00:05:04,000 és számítástechnika nyilvánvalóan mit gépelt be 89 00:05:04,000 --> 00:05:06,000 A +, csak azt jelenti, hogy ott egy szóköz karakter volt, 90 00:05:06,000 --> 00:05:10,000 és ez végzi a böngésző, csak hogy győződjön meg arról, hogy nincs 91 00:05:10,000 --> 00:05:13,000 zavart és white space a tényleges URL. 92 00:05:13,000 --> 00:05:15,000 És akkor q, természetesen, a paraméter neve. 93 00:05:15,000 --> 00:05:20,000 Nem láttuk, hogy mi, a programozó, ténylegesen hozzáférhet q még. 94 00:05:20,000 --> 00:05:23,000 Azt feltételezzük, hogy a Google tudja, mit kell tenni, hogy ennek itt, 95 00:05:23,000 --> 00:05:25,000 de mi lesz ott időben ma. 96 00:05:25,000 --> 00:05:30,000 >> De hadd nézzem inkább meg search1.html, 97 00:05:30,000 --> 00:05:34,000 amely úgy néz ki, egy kicsit más, mert úgy döntött, hogy ezt az űrlapot itt volt egy kicsit béna. 98 00:05:34,000 --> 00:05:36,000 Úgy értem, ez a bal felső sarokban. 99 00:05:36,000 --> 00:05:40,000 Itt tényleg nincs esztétika, és ezért szeretném ezt stilizál 100 00:05:40,000 --> 00:05:43,000 egy kicsit több, mint a Google, amelynek honlap, visszahívása, 101 00:05:43,000 --> 00:05:47,000 bár lehet, hogy nem látogat meg, hogy gyakran, így néz ki ma a Halloween. 102 00:05:47,000 --> 00:05:53,000 Ha ehelyett nyitni 1-es verzióját a fájl, keresés 1.html, már középre is. 103 00:05:53,000 --> 00:05:57,000 Mégis elég csúnya, de legalább most már elkezdtem, hogy ellenőrizzék az esztétika az oldalon 104 00:05:57,000 --> 00:06:00,000 nem csak a jelölés felfelé cikke. 105 00:06:00,000 --> 00:06:04,000 Vessünk egy pillantást a keresés 1, és ott tényleg csak egy különbség van, 106 00:06:04,000 --> 00:06:06,000 ami kiugrik rád, vagy talán nem, 107 00:06:06,000 --> 00:06:11,000 de mi az egy vonalra, vagy kódrészletet a különbség? 108 00:06:11,000 --> 00:06:14,000 >> Van ez a stílus attribútum, így kiderül, hogy a HTML-ben 109 00:06:14,000 --> 00:06:19,000 legtöbb eleme, a legtöbb tag lehet egy stílus attribútum őket, 110 00:06:19,000 --> 00:06:23,000 és belül, hogy a stílus attribútum jegyzett string, 111 00:06:23,000 --> 00:06:26,000 és hogy idézett karakterlánc CSS. 112 00:06:26,000 --> 00:06:29,000 Tudod, hogy lépcsőzetes stíluslap ott 113 00:06:29,000 --> 00:06:32,000 megadásával, mint egy tulajdonság nevét 114 00:06:32,000 --> 00:06:34,000 kettőspont követ, majd egy értékkel. 115 00:06:34,000 --> 00:06:37,000 Ez a fajta egy sajnálatos tervezési döntés néhány évvel ezelőtt 116 00:06:37,000 --> 00:06:40,000 hogy a CSS egy olyan nyelv, hozzátok is, 117 00:06:40,000 --> 00:06:43,000 de szintaktikailag nagyon eltér HTML. 118 00:06:43,000 --> 00:06:46,000 Ebben az esetben azt látjuk, hogy belsejében a weboldal ami meg van írva a HTML-ben, 119 00:06:46,000 --> 00:06:51,000 Van CSS belül ezek az idézetek, és az egyezmény a CSS 120 00:06:51,000 --> 00:06:55,000 hogy van az úgynevezett ingatlan után, ismét egy kettőspont, 121 00:06:55,000 --> 00:06:58,000 majd az értékét, hogy az ingatlanok, így nincs egyenlőségjel. 122 00:06:58,000 --> 00:07:00,000 Nincsenek további idézetek. 123 00:07:00,000 --> 00:07:03,000 Csak ez colon elválasztott kulcs-érték párt, 124 00:07:03,000 --> 00:07:05,000 és szöveges sor pontosan, amit mond. 125 00:07:05,000 --> 00:07:09,000 Úgy igazítja a szöveget a szervezetben az oldalon, ami valóban a belek az oldal, 126 00:07:09,000 --> 00:07:11,000 a központban. 127 00:07:11,000 --> 00:07:13,000 >> Oké, a végeredmény akkor, hogy világos legyen, nem ez. 128 00:07:13,000 --> 00:07:17,000 Nem minden szexisebb, de legalább ez középre és egy kicsit több, mint az igazi Google. 129 00:07:17,000 --> 00:07:21,000 De mi van, ha inkább nyitni 2-es verzióját az e 130 00:07:21,000 --> 00:07:25,000 és rámutatnak ide egy új tag összesen? 131 00:07:25,000 --> 00:07:30,000 Most a fejét az én oldalon, ami korábban csak voltak, amelyek tag 132 00:07:30,000 --> 00:07:32,000 Minden korábbi példát? 133 00:07:32,000 --> 00:07:34,000 Csak volt ez a cím. 134 00:07:34,000 --> 00:07:38,000 Egy pillanattal ezelőtt a head tag nézett ki, mint ez. 135 00:07:38,000 --> 00:07:40,000 Most ahelyett, hogy van egy stílusa tag belsejébe, 136 00:07:40,000 --> 00:07:44,000 és ezt is, elnézést kérek, szintaktikailag nagyon különbözik HTML, 137 00:07:44,000 --> 00:07:47,000 de meg lehet szokni, amely belsejében a stílus címke 138 00:07:47,000 --> 00:07:50,000 Most már vennünk, hogy mi volt, egy perccel ezelőtt 139 00:07:50,000 --> 00:07:54,000 egy attribútum, a stílus attribútum, és én tedd legtetején Az oldalam. 140 00:07:54,000 --> 00:07:56,000 >> Miért? 141 00:07:56,000 --> 00:08:00,000 Nos, ez a lépés takarítás dolgokat, akárcsak írásban C kódot 142 00:08:00,000 --> 00:08:04,000 mi lenne néha írni funkciót faktor ki közös alkalmassága. 143 00:08:04,000 --> 00:08:07,000 Ez csak egy kicsit tisztább kezdeni faktoring ki dolgokat, mint az esztétika 144 00:08:07,000 --> 00:08:11,000 egy központi helyen, ahelyett, hogy minden közbeszór egész HTML. 145 00:08:11,000 --> 00:08:14,000 Ez is azt teszi, amit mond, bár egy kicsit az új szintaxist. 146 00:08:14,000 --> 00:08:19,000 Ez itt egy választó, és a test csak azt jelenti, válassza ki a body elem 147 00:08:19,000 --> 00:08:21,000 és alkalmazza a következő tulajdonságokat is. 148 00:08:21,000 --> 00:08:23,000 Nos, az ingatlan pontosan ugyanaz. 149 00:08:23,000 --> 00:08:25,000 A jó intézkedés, adtam egy pontosvesszőt a végén, 150 00:08:25,000 --> 00:08:29,000 amely hajlamos arra, hogy ilyen egyezmény, és már csomagolják az egész ingatlan 151 00:08:29,000 --> 00:08:33,000 A kapcsos zárójelek mert ténylegesen különböző dolgokat. 152 00:08:33,000 --> 00:08:39,000 Azt már valóban mond valamit, mint a színe: kék; 153 00:08:39,000 --> 00:08:42,000 >> Most ez is nem lesz lépés bármi minden szebb, 154 00:08:42,000 --> 00:08:47,000 de ha most menj vissza a 2-es verziója, amit legalább most már a test az én 155 00:08:47,000 --> 00:08:49,000 oldal szövege minden kék. 156 00:08:49,000 --> 00:08:51,000 A gomb marad ugyanaz, mert ez egy bemenet. Ez nem tiszta szöveget. 157 00:08:51,000 --> 00:08:56,000 De minden mást, ami a szöveg, mint a CS50 Search up top, valójában kék. 158 00:08:56,000 --> 00:09:01,000 Ismét minden tettünk Most vegyük ki a body tag, felirat, 159 00:09:01,000 --> 00:09:04,000 a stílus attribútum, és mi volna tényezőként meg itt. 160 00:09:04,000 --> 00:09:08,000 Ez nem egy nagy javulás, de ha ezt egy lépéssel tovább 161 00:09:08,000 --> 00:09:10,000 észre, mit tehetünk ebben a harmadik verziót itt. 162 00:09:10,000 --> 00:09:14,000 >> A search3.html a weboldalon közel azonos 163 00:09:14,000 --> 00:09:17,000 kivéve az, amit az új tag most? 164 00:09:17,000 --> 00:09:20,000 Link, így ez nem nagyon találóan elnevezett 165 00:09:20,000 --> 00:09:24,000 mert nem össze abban az értelemben, egy kattintható hivatkozást. 166 00:09:24,000 --> 00:09:28,000 Inkább, te valami csinál a megfelelője # include a C 167 00:09:28,000 --> 00:09:31,000 ahol a link tag egy href attribútum 168 00:09:31,000 --> 00:09:34,000 és a rel attribútum azt mondja, gyerünk 169 00:09:34,000 --> 00:09:39,000 és másolja be a tartalmát egy fájlt a search3.css itt, lényegében. 170 00:09:39,000 --> 00:09:42,000 Ez nem egészen megtenni, de ez a szellem is. 171 00:09:42,000 --> 00:09:45,000 Azt mondja, menj nyitva a fájl, search3.css, 172 00:09:45,000 --> 00:09:49,000 és kezelni a dolgot, mintha a felhasználó már gépelt ez itt a fejét az oldal 173 00:09:49,000 --> 00:09:51,000 mint én az előző példában. 174 00:09:51,000 --> 00:09:54,000 Search3.css, eközben nagyon egyszerű. 175 00:09:54,000 --> 00:09:58,000 Ez tényleg csak tartalmaz, pontosan mi volt, egy perccel ezelőtt 176 00:09:58,000 --> 00:10:03,000 a stílus tag, de már faktorált ki ide, hogy a saját fájlt. 177 00:10:03,000 --> 00:10:07,000 >> Annak ellenére, hogy nem sok időt töltött egyáltalán HTML vagy web programozás 178 00:10:07,000 --> 00:10:11,000 Csak ösztönösen, mi a motiváció, talán, a faktoring-ből 179 00:10:11,000 --> 00:10:14,000 ezt a kis kódrészletet akár CSS-ba a saját fájlba 180 00:10:14,000 --> 00:10:19,000 majd többek között azt meg ezt a linket tag itt? 181 00:10:19,000 --> 00:10:21,000 [Hallhatatlan hallgatói válasz] 182 00:10:21,000 --> 00:10:25,000 Oké, ez könnyebb olvasni, abban az értelemben, hogy van a CSS-ben a CSS fájlban. 183 00:10:25,000 --> 00:10:28,000 Megvan a HTML a HTML-fájlban, így olvashatóbb ebben az értelemben. 184 00:10:28,000 --> 00:10:30,000 Mi más lehet kényszerítő? Igen. 185 00:10:30,000 --> 00:10:32,000 [Hallhatatlan hallgatói válasz] 186 00:10:32,000 --> 00:10:35,000 Igen, így magában sokszor, így most csináljuk ezeket 187 00:10:35,000 --> 00:10:38,000 az alap, példák egyes fájlokat, de tegyük fel, hogy tényleg így 188 00:10:38,000 --> 00:10:42,000 egy igazi weboldal, mint fogsz a Pset 7, vagy a projekt végső talán, 189 00:10:42,000 --> 00:10:45,000 , és azt szeretné, hogy több weboldalt, a biztosan gyakori 190 00:10:45,000 --> 00:10:48,000 A tényleges World Wide Web, és lenne ilyen béna 191 00:10:48,000 --> 00:10:52,000 hogy másolja és illessze be az azonos színű 192 00:10:52,000 --> 00:10:56,000 és ugyanazt a szöveget igazítva központ minden egy ilyen oldalakat. 193 00:10:56,000 --> 00:10:59,000 Inkább több értelme faktor ki, ugyanúgy, mint tettünk C 194 00:10:59,000 --> 00:11:02,000 a. h fájlt, helyezze egy központi helyen, 195 00:11:02,000 --> 00:11:06,000 Ebben az esetben a search3.css, majd hagyjuk a fájlt 196 00:11:06,000 --> 00:11:11,000 a webhelyére, hogy valóban tartalmazza, hogy a fájl útján ezt a címkét itt a sorban 16. 197 00:11:11,000 --> 00:11:14,000 Mint általában a helyzet, kezdtük 0-s verzió, milyen munkák 198 00:11:14,000 --> 00:11:18,000 de nem szükségszerűen a legjobb, és minden lépésnél, 199 00:11:18,000 --> 00:11:21,000 keresés 1, keresés 2, és most keresés 3 vettünk ezeket a baba lépéseket 200 00:11:21,000 --> 00:11:26,000 felé minták egy kicsit tisztább és több előkészítő 201 00:11:26,000 --> 00:11:30,000 bonyolultabb oldalakat, hogy talán nem az úton. 202 00:11:30,000 --> 00:11:33,000 >> Hadd nyit egy utolsó példát itt csak megmutatni 203 00:11:33,000 --> 00:11:36,000 még stilizált oldalon, de előbb nézzük meg a HTML. 204 00:11:36,000 --> 00:11:41,000 Ez search4.html, és észreveszi, hogy szerkezetileg ez majdnem ugyanaz 205 00:11:41,000 --> 00:11:44,000 kivéve a bevezetett új címke, Div. 206 00:11:44,000 --> 00:11:48,000 Div olyan tag, amely bemutatja a szétválás az oldal. 207 00:11:48,000 --> 00:11:51,000 Azt hiszem, hogy ez egy láthatatlan téglalap. 208 00:11:51,000 --> 00:11:54,000 Ez a fajta teremt rendet a terület a weboldal 209 00:11:54,000 --> 00:11:56,000 hogy akkor stilizál egyszerre. 210 00:11:56,000 --> 00:11:58,000 Amit tettem itt a következő. 211 00:11:58,000 --> 00:12:01,000 Belül a testem tag, amely már ott végig, 212 00:12:01,000 --> 00:12:05,000 Azt mondom, hozzon létre egy részlege az oldal itt vezetékeken keresztül 45 keresztül 47, 213 00:12:05,000 --> 00:12:09,000 és ez azt jelenti alapvetően adjon nekem egy láthatatlan téglalap mentén az oldal tetején. 214 00:12:09,000 --> 00:12:14,000 Akkor adj egy második téglalap, bár láthatatlan, alatti, 215 00:12:14,000 --> 00:12:16,000 és azonosítja azt a nevet tartalom, majd végül 216 00:12:16,000 --> 00:12:19,000 adj egy Division az oldal alján 217 00:12:19,000 --> 00:12:21,000 úgynevezett ID. 218 00:12:21,000 --> 00:12:23,000 Majd meglátjuk, hogy miért tettem ezt, csak egy pillanatra, 219 00:12:23,000 --> 00:12:26,000 de fogalmilag van egy fejléc alá. 220 00:12:26,000 --> 00:12:30,000 Nekem van egy tartalma részlege, és van egy részlege lábléc az oldal 221 00:12:30,000 --> 00:12:32,000 annak ellenére, hogy ezek csak a jelölő. 222 00:12:32,000 --> 00:12:35,000 A felhasználó nem fog látni 3 téglalapok, 223 00:12:35,000 --> 00:12:37,000 hanem egyfajta szerkezetileg ott a színfalak mögött 224 00:12:37,000 --> 00:12:39,000 ők ténylegesen jelen van. 225 00:12:39,000 --> 00:12:41,000 >> Nos, kit érdekel? Miért ténylegesen ezt? 226 00:12:41,000 --> 00:12:43,000 Minden más az oldalon ugyanaz, mint láttuk korábban. 227 00:12:43,000 --> 00:12:47,000 Itt a formában. Itt a bemenet, a bemenet, a sortörést és így tovább. 228 00:12:47,000 --> 00:12:50,000 Itt egy kép, bár, úgyhogy majd meglátjuk, ha ez jött egy pillanat. 229 00:12:50,000 --> 00:12:52,000 Itt egy láblécet, ami új, csak azért, mert azt akartam, hogy vezessenek be 230 00:12:52,000 --> 00:12:54,000 valamivel több tartalom van. 231 00:12:54,000 --> 00:12:58,000 Ha felfelé észre, hogy ID ennek div van fejléc. 232 00:12:58,000 --> 00:13:02,000 Az ID Ennek div tartalmát, valamint a azonosítóját ez egy lábléc. 233 00:13:02,000 --> 00:13:05,000 És ahogy a neve is sugallja, ha van egy attribútum 234 00:13:05,000 --> 00:13:09,000 HTML definíció szerint azt kell egyedileg azonosítják 235 00:13:09,000 --> 00:13:12,000 egyik eleme, az egyik tag-eket az oldalon. 236 00:13:12,000 --> 00:13:16,000 A teher teljesen rád emlékezni, hogy van egy fejléc azonosítója már. 237 00:13:16,000 --> 00:13:19,000 Van egy láblécet. Van egy tartalom azonosító már. 238 00:13:19,000 --> 00:13:22,000 A számítógép nem fog rájönni, hogy mi a rendelkezésre álló azonosító az Ön számára, 239 00:13:22,000 --> 00:13:27,000 így véletlenül így 2 tag Az azonosító fejléc, 240 00:13:27,000 --> 00:13:29,000 és hogy ez csak rossz. 241 00:13:29,000 --> 00:13:31,000 >> Meg kell szem előtt tartani, hogy mi magunk hoztunk létre, 242 00:13:31,000 --> 00:13:34,000 de ha egyszer tettél, hogy hirdetmény mit tehetünk itt. 243 00:13:34,000 --> 00:13:38,000 Most már meg az én stílusom tag tetején 244 00:13:38,000 --> 00:13:41,000 vagy azzal egyenértékű az én CSS fájlt, ha én még mindig használja azt a verziót, 245 00:13:41,000 --> 00:13:46,000 Mondhatom # header, és hogy ez mit jelent az, hogy bármilyen címke 246 00:13:46,000 --> 00:13:49,000 Az e weboldalon van egy azonosítója fejléc 247 00:13:49,000 --> 00:13:53,000 és a #, csak emberi konvenció képvisel ID. 248 00:13:53,000 --> 00:13:56,000 Az éles jel vagy kettőskereszt jelentése ID. 249 00:13:56,000 --> 00:13:58,000 Fejléc a nevet adtam. 250 00:13:58,000 --> 00:14:01,000 Ez azt jelenti, ezt a CSS tulajdonság 251 00:14:01,000 --> 00:14:04,000 hogy bármilyen címke ezen az oldalon viseli ID fejléc. 252 00:14:04,000 --> 00:14:06,000 Ugyanez a helyzet itt. 253 00:14:06,000 --> 00:14:09,000 Alkalmazza ezt a tulajdonságot, ami történik, hogy ugyanaz legyen, hogy bármely elemét 254 00:14:09,000 --> 00:14:11,000 amelynek ID tartalom, majd itt lent 255 00:14:11,000 --> 00:14:14,000 észre Van egy kicsit cifrább a lábléc. 256 00:14:14,000 --> 00:14:18,000 Minden olyan elem, amelynek ID lábléc, amelyből nem lehet csak egy definíció szerint, 257 00:14:18,000 --> 00:14:21,000 megy előre, és megteszi betűméret kisebb, 258 00:14:21,000 --> 00:14:24,000 a font súly félkövér, a különbözet ​​20 pixel. 259 00:14:24,000 --> 00:14:26,000 >> Mit jelent ez? 260 00:14:26,000 --> 00:14:28,000 Ez csak egy margin a felső, az alsó, a bal és a jobb oldalon. 261 00:14:28,000 --> 00:14:31,000 Ez azt jelenti, hogy nekem egy 20-pixel láthatatlan margin körül 262 00:14:31,000 --> 00:14:35,000 Csak, hogy álljon minden mást tőle egy kicsit, mint te talán nem a Word, 263 00:14:35,000 --> 00:14:37,000 Microsoft Word vagy Pages vagy hasonló. 264 00:14:37,000 --> 00:14:39,000 És akkor szöveget igazítsa központ. 265 00:14:39,000 --> 00:14:43,000 Lássuk a végeredményt, aztán megyünk vissza az egy megmaradt kódrészletet a CSS ott. 266 00:14:43,000 --> 00:14:48,000 Ez a 4-es verzió, az utolsó a keresési példák, és ez sokkal, de sokkal szexisebb. 267 00:14:48,000 --> 00:14:54,000 Most, a méltányosság, csak googled "google font logo generátor." 268 00:14:54,000 --> 00:14:58,000 És ez lehetővé tette számomra, hogy hozzon létre egy GIF képet formátum, ami úgy néz ki, mint, hogy van. 269 00:14:58,000 --> 00:15:00,000 Tény, hogy meg tudod csinálni ezt is. 270 00:15:00,000 --> 00:15:03,000 Van "google betűtípus logo generátor." 271 00:15:03,000 --> 00:15:05,000 >> Lássuk, meg tudjuk csinálni. 272 00:15:05,000 --> 00:15:07,000 Oké, azt hiszem, ez a honlap használtam. 273 00:15:07,000 --> 00:15:11,000 Elmondhatjuk Ec 10, például, és azokat a saját. 274 00:15:11,000 --> 00:15:13,000 Ön tud játszani ezzel egész nap, majd jobb klikk rá 275 00:15:13,000 --> 00:15:16,000 majd töltse le a tényleges GIF, amely minden, amit tettem. 276 00:15:16,000 --> 00:15:19,000 És valóban, ez az, amiért az én HTML, emlékszem, ide 277 00:15:19,000 --> 00:15:22,000 Volt egy kép tag, amit láttunk röviden a múlt héten 278 00:15:22,000 --> 00:15:24,000 amelynek forrása logo.gif. 279 00:15:24,000 --> 00:15:28,000 És mi újra volt a motiváció, hogy ilyen alt attribútumot, 280 00:15:28,000 --> 00:15:31,000 ezzel az alternatív attribútumot? 281 00:15:31,000 --> 00:15:33,000 Igen. 282 00:15:33,000 --> 00:15:35,000 [Hallhatatlan hallgatói válasz] 283 00:15:35,000 --> 00:15:37,000 Jó, tehát 2 okból igazán, ha a böngésző nem húzza ki a képet 284 00:15:37,000 --> 00:15:40,000 mert lassú a hálózati kapcsolat, vagy a kép sérült 285 00:15:40,000 --> 00:15:44,000 vagy valami ilyesmi, hogy legalább az ember megjelenik a "CS50 kereső," 286 00:15:44,000 --> 00:15:46,000 és akkor is, a hozzáférhetőség miatt. 287 00:15:46,000 --> 00:15:48,000 Ha egy felhasználót, aki vak, és használ a képernyőolvasó 288 00:15:48,000 --> 00:15:50,000 és ezért nyilvánvalóan nem látják a képeket, hogy a legalább 289 00:15:50,000 --> 00:15:52,000 hallani szöveg, ha a számítógép beszél nekik. 290 00:15:52,000 --> 00:15:56,000 >> Általában ez a legjobb gyakorlat, amikor a hozzáférhetőségét oldalak 291 00:15:56,000 --> 00:16:00,000 hogy még a felhasználók ebben a helyzetben lehet hallani, vagy látni, hogy úgy mondjam, 292 00:16:00,000 --> 00:16:03,000 mi az, ami az oldalon. 293 00:16:03,000 --> 00:16:05,000 Van még egy másik dolog, hogy én tettem ide 294 00:16:05,000 --> 00:16:09,000 ami egy kicsit érdekes, és meglátjuk meg többet erről a probléma készlet 7 295 00:16:09,000 --> 00:16:12,000 keresztül az egyik sort vezette az egyik tanítási ösztöndíjasok. 296 00:16:12,000 --> 00:16:15,000 De # content utal, hogy a tag 297 00:16:15,000 --> 00:16:20,000 amelynek ID tartalom, de akkor van egy szóköz karaktert, és akkor ott van a szó bemenet. 298 00:16:20,000 --> 00:16:25,000 Nos, mi érdekes a CSS, hogy meg lehet 299 00:16:25,000 --> 00:16:29,000 nézze meg a címkék az oldal egyfajta hierarchikus, 300 00:16:29,000 --> 00:16:33,000 és mi ez a kódrészletet a CSS azt jelenti megtalálják a tag 301 00:16:33,000 --> 00:16:37,000 amelynek ID tartalom, majd alkalmazza a következő tulajdonságokkal 302 00:16:37,000 --> 00:16:42,000 az összes bemeneti címkék, amelyek leszármazottai tartalom 303 00:16:42,000 --> 00:16:44,000 ez az, hogy be vannak húzva benne. 304 00:16:44,000 --> 00:16:48,000 Behúzás, újra, csak az a fontos, hogy a számítógép, nem pedig az emberi, 305 00:16:48,000 --> 00:16:51,000 de megegyezés mi francia dolgokat, ahogy haladunk beljebb egy oldalt, 306 00:16:51,000 --> 00:16:54,000 tehát ez azt jelenti, alkalmazni mozgásteret 5 pixel bármely input elem 307 00:16:54,000 --> 00:16:57,000 ez valahol vagy beágyazott belsejében 308 00:16:57,000 --> 00:16:59,000  elem, amelynek azonosítója tartalom. 309 00:16:59,000 --> 00:17:01,000 >> Ki, hogy alkalmazni? 310 00:17:01,000 --> 00:17:03,000 Nos, valójában csak e 2 srácok itt. 311 00:17:03,000 --> 00:17:05,000 Figyeljük meg, hogy belsejében a formanyomtatvány van 2 bemenet, 312 00:17:05,000 --> 00:17:07,000 mivel van már az összes ezeket a példákat. 313 00:17:07,000 --> 00:17:11,000 De vegyük észre, hogy a 2 bemenet történetesen beágyazva, 314 00:17:11,000 --> 00:17:13,000 bár egy kicsit mélyen, egy pár réteg behúzás, 315 00:17:13,000 --> 00:17:16,000 belül a tag, amelynek azonosítója tartalom. 316 00:17:16,000 --> 00:17:18,000 Mit jelent ez? 317 00:17:18,000 --> 00:17:21,000 Ha megy a böngésző itt lehet látni alig láthatóan, 318 00:17:21,000 --> 00:17:23,000 hadd Nagyításhoz-, hogy van egy kis padding között a gomb 319 00:17:23,000 --> 00:17:25,000 közötti, valamint a szövegmezőbe. 320 00:17:25,000 --> 00:17:27,000 >> Hadd ideiglenesen kapcsold ki. 321 00:17:27,000 --> 00:17:30,000 Hadd menjek fel a CSS, és hadd menjen előre, és csak a 322 00:17:30,000 --> 00:17:34,000 módosításához margin 5-0-ra pixel pixel. 323 00:17:34,000 --> 00:17:37,000 Hadd menjek előre, majd, és mentse a fájlt, menj vissza a kereső 324 00:17:37,000 --> 00:17:40,000 és újra, és nézd meg az oldal közepén. 325 00:17:40,000 --> 00:17:43,000 Minden kapott tömörített együtt, és amikor először vert fel ezt a példát 326 00:17:43,000 --> 00:17:46,000 Azt hittem, hogy nézett ki a hülye a szövegmezőbe, majd a gomb közvetlenül alatta. 327 00:17:46,000 --> 00:17:50,000 Akartam pad egy kicsit, úgyhogy be különbözet. 328 00:17:50,000 --> 00:17:55,000 Amit nem fogunk csinálni előadás megy keresztül a több tucat 329 00:17:55,000 --> 00:17:58,000 CSS tulajdonságok léteznek, mert ismét, vannak dolgok, mint a betűméret, 330 00:17:58,000 --> 00:18:02,000 font súly, margó, szöveg igazítása, és néhány tucat mások, 331 00:18:02,000 --> 00:18:06,000 és mi utalja Önnek problémája készlet 7 különböző oktatóanyagok online 332 00:18:06,000 --> 00:18:08,000 és hivatkozások, amelyek lehetővé teszik, hogy vegye ezeket a dolgokat. 333 00:18:08,000 --> 00:18:10,000 De ami igazán fontos, az a nap végén 334 00:18:10,000 --> 00:18:12,000 >> az, hogy megértsük, hogyan alkalmazzák ezeket a dolgokat. 335 00:18:12,000 --> 00:18:15,000 Ismét, ha van stílusa tag belsejében, amely 336 00:18:15,000 --> 00:18:19,000 mehet a választók, az a fajta azonosítók, amelyek meghatározzák 337 00:18:19,000 --> 00:18:21,000 akinek akarod alkalmazni ezeket a tulajdonságokat, 338 00:18:21,000 --> 00:18:24,000 és akkor tesz a tulajdonságokkal rendelkezik, mint kulcs-érték párt 339 00:18:24,000 --> 00:18:28,000 kettősponttal elválasztva, majd véget ért a pontosvessző, 340 00:18:28,000 --> 00:18:32,000 vagy tudod rip minden, hogy ki és tedd egy külön CSS fájlban 341 00:18:32,000 --> 00:18:35,000 nektek is. 342 00:18:35,000 --> 00:18:39,000 Rendben, bármilyen kérdése van a fogalmak 343 00:18:39,000 --> 00:18:41,000 vagy a nagy képet CSS? 344 00:18:41,000 --> 00:18:43,000 Majd ismét többet látni azt Pset 7, 345 00:18:43,000 --> 00:18:47,000 de majd tartani, hogy általában elég egyszerű. 346 00:18:47,000 --> 00:18:49,000 Nem? Rendben van. 347 00:18:49,000 --> 00:18:51,000 Itt az ideje egy valódi programozási nyelv, 348 00:18:51,000 --> 00:18:54,000 és mi jön vissza egy kicsit a CSS formájában egy példát. 349 00:18:54,000 --> 00:18:58,000 PHP valójában egy csodálatosan érthető nyelven 350 00:18:58,000 --> 00:19:02,000 , mivel szintaktikailag majdnem azonos a C. 351 00:19:02,000 --> 00:19:06,000 Más szóval, ha tudod, C, tudod, hogy a legtöbb PHP, 352 00:19:06,000 --> 00:19:08,000 legalább szintaktikailag, bár van néhány új funkciók 353 00:19:08,000 --> 00:19:10,000 és néhány új fogalmat kell majd nézni. 354 00:19:10,000 --> 00:19:13,000 >> De a legtöbb, most, hogy átmenet C és PHP 355 00:19:13,000 --> 00:19:16,000 a legtöbb új cucc valóban a nagy képet, 356 00:19:16,000 --> 00:19:19,000 hogyan használja a nyelvet a program az interneten, szemben a 357 00:19:19,000 --> 00:19:23,000 a parancssorban vagy egy villogó azonnali ahogy csináltam eddig. 358 00:19:23,000 --> 00:19:27,000 Referenciaként, különösen a Pset 7, és a végleges projekt kezdve 359 00:19:27,000 --> 00:19:31,000 nem kihasználni ezt az URL ide, ha azt szeretné, hogy olvassa fel az alaki PHP. 360 00:19:31,000 --> 00:19:34,000 Ez tulajdonképpen, mint egy ingyenes online tankönyv hatékonyan 361 00:19:34,000 --> 00:19:37,000 és akkor is megtalálja, hogy mi az igazán szép a PHP-ről 362 00:19:37,000 --> 00:19:41,000 az, hogy több száz funkciók, hogy jöjjön vele, 363 00:19:41,000 --> 00:19:44,000 mivel a C, hogy nem feltétlenül férnek hozzá 364 00:19:44,000 --> 00:19:47,000 több funkciót, mint volt a matematikai könyvtár, CS50 könyvtár. 365 00:19:47,000 --> 00:19:51,000 A PHP és a sok modern nyelvek, Python és Ruby köztük 366 00:19:51,000 --> 00:19:54,000 kapsz hozzáférést, így több funkciót, ami azt jelenti, hogy kell írni 367 00:19:54,000 --> 00:19:57,000 sokkal kevesebb kódot, mert akkor álljon a vállára más emberek 368 00:19:57,000 --> 00:19:59,000 akik már írt bizonyos dolgokat az Ön számára. 369 00:19:59,000 --> 00:20:03,000 >> Vessünk egy gyors túra a szintaxis a PHP és írjuk be néhány példát. 370 00:20:03,000 --> 00:20:06,000 Mi a jó a PHP-ről elsősorban 371 00:20:06,000 --> 00:20:08,000 van nincs fő funkciója. 372 00:20:08,000 --> 00:20:10,000 Ha azt szeretnénk, hogy írjon egy programot a PHP, csak kezdjük el beírni kódot, 373 00:20:10,000 --> 00:20:12,000 és nem kell aggódnia fő. 374 00:20:12,000 --> 00:20:14,000 Nincs int. Nincs visszatérés. 375 00:20:14,000 --> 00:20:17,000 Nincs argv, argc, ami szükséges, ha írsz a programot. 376 00:20:17,000 --> 00:20:20,000 Inkább akkor csak elkezd kód írása, és ez részben 377 00:20:20,000 --> 00:20:23,000 mivel a PHP az úgynevezett interpretált nyelv. 378 00:20:23,000 --> 00:20:26,000 C-t összeállítani, és azt állították össze, abban az értelemben, hogy elkezdi 379 00:20:26,000 --> 00:20:29,000 A forráskód, futtasd át csenget, ami egy fordító, 380 00:20:29,000 --> 00:20:33,000 és végül miután néhány számos lépést kapsz tárgykód, 0s és 1s. 381 00:20:33,000 --> 00:20:36,000 PHP és Python és Ruby és a Pearl és mások 382 00:20:36,000 --> 00:20:39,000 Különböző típusú nyelv, amit nem állítanak össze őket. 383 00:20:39,000 --> 00:20:42,000 Nem megy forráskódot 0s és 1s. 384 00:20:42,000 --> 00:20:45,000 Csak fuss a forráskódot, és futtatja a forráskód 385 00:20:45,000 --> 00:20:49,000 írásban a szokásos szöveges fájl, végződik. php ebben az esetben 386 00:20:49,000 --> 00:20:53,000 helyett. c, és mi a program nem a számítógépen 387 00:20:53,000 --> 00:20:57,000 A szó szerint értelmezi a kódot sorról sorról sorra. 388 00:20:57,000 --> 00:21:00,000 >> Más szavakkal, nem pedig levelet programot és futtassa 389 00:21:00,000 --> 00:21:04,000 közvetlenül, ahelyett levelet program egy fájlt végződő. php. 390 00:21:04,000 --> 00:21:09,000 Ezután futtassa a tényleges program neve php.exe, ha a Windows, 391 00:21:09,000 --> 00:21:12,000 vagy csak PHP, ha te vagy a Mac OS vagy Linux 392 00:21:12,000 --> 00:21:17,000 és biztosítják, mint hozzájárulás a PHP program saját forráskódját, 393 00:21:17,000 --> 00:21:20,000 és célja az életben, hogy olvassa el a kódot, felülről lefelé, balról jobbra, 394 00:21:20,000 --> 00:21:23,000 és nem, amit már mondtam, hogy igen. 395 00:21:23,000 --> 00:21:25,000 >> Lássuk, mit fog ez jelenteni szintaktikailag. 396 00:21:25,000 --> 00:21:27,000 A PHP van feltételeket. 397 00:21:27,000 --> 00:21:29,000 Ez a dia megegyezik azzal, amit láttál vissza hét 1 398 00:21:29,000 --> 00:21:33,000 mert szintaktikailag feltételek, IFS és IFS és máshol másnak PHP 399 00:21:33,000 --> 00:21:35,000 nézzen ki, mint ez. 400 00:21:35,000 --> 00:21:38,000 Amikor boolean kifejezéseket fognak nézni pontosan, mint ez. 401 00:21:38,000 --> 00:21:43,000 Amikor AND művelet a dolgokat együtt Logikai ez fog kinézni pontosan olyan, mint ez. 402 00:21:43,000 --> 00:21:46,000 Kapcsolók ugyanúgy néz ki, és megkapod az előnye a PHP-ben 403 00:21:46,000 --> 00:21:51,000 hogy a kapcsolók C csak bekapcsolni a char vagy int. 404 00:21:51,000 --> 00:21:53,000 Nem lehetett bekapcsolni a string értéket. 405 00:21:53,000 --> 00:21:55,000 A PHP akkor valóban van egy kifejezés 406 00:21:55,000 --> 00:21:58,000 ez egy változó, amelynek tartalma egy string, 407 00:21:58,000 --> 00:22:01,000 és akkor ténylegesen karakterlánc-összehasonlítás az igazi intuitív módon, 408 00:22:01,000 --> 00:22:06,000 nem mutató összehasonlítás, annak eldöntésére, hogy kell csinálni ügyben i vagy j vagy valami más. 409 00:22:06,000 --> 00:22:09,000 Majd meglátjuk, hogy a potenciálisan nemsokára. 410 00:22:09,000 --> 00:22:11,000 >> Hurkok is csodálatosan megegyeznek. 411 00:22:11,000 --> 00:22:15,000 A hurkok van inicializálás feltétel, és némely frissítések számát. 412 00:22:15,000 --> 00:22:18,000 Míg a hurkokat is léteznek PHP. 413 00:22:18,000 --> 00:22:21,000 Do while ciklusok is léteznek PHP, 414 00:22:21,000 --> 00:22:26,000 és tömbök léteznek a PHP, de itt, ahol a szintaxis kezd egy kicsit más, 415 00:22:26,000 --> 00:22:29,000 de a fogalmak az azonos, és a fogalmak valóban az ugyanaz 416 00:22:29,000 --> 00:22:32,000 mint volt a 0. héten a Scratch. 417 00:22:32,000 --> 00:22:34,000 Az első és legfontosabb a $ jel. 418 00:22:34,000 --> 00:22:37,000 Ez egy tervezési döntés a PHP, amellyel bármely változó 419 00:22:37,000 --> 00:22:41,000 PHP-by design kezdődik $-jel. 420 00:22:41,000 --> 00:22:46,000 Nincs több X, Y, Z. Ez most $ X, Y $, $ Z csak mert. 421 00:22:46,000 --> 00:22:49,000 Ez valami olyasmi, hogy tartsa szem előtt, és most a jobb oldali 422 00:22:49,000 --> 00:22:52,000 ez hasonlít egy tömb, 423 00:22:52,000 --> 00:22:54,000 de mi a szögletes zárójelben van. 424 00:22:54,000 --> 00:22:57,000 A PHP és a JavaScript, mivel mi végül látni, 425 00:22:57,000 --> 00:23:01,000 állapítsa tömb te nyitott szögletes zárójel és zárt szögletes zárójel, 426 00:23:01,000 --> 00:23:04,000 és akkor van egy vesszővel elválasztott értéklista, hogy ints 427 00:23:04,000 --> 00:23:09,000 vagy a vonósok, vagy karakter, amit akarsz, belső e kifejezés ott. 428 00:23:09,000 --> 00:23:11,000 >> Most, hogy csináltunk valamit, mint ez a C? 429 00:23:11,000 --> 00:23:16,000 Mi volt a szintaxis statikusan nyilvánító egy sor ismert számokat? 430 00:23:16,000 --> 00:23:19,000 Ez volt kapcsos zárójelek, így csekély a különbség itt, hanem mind a PHP 431 00:23:19,000 --> 00:23:22,000 és végül a JavaScript ez csak használ szögletes zárójelben, így igazán 432 00:23:22,000 --> 00:23:25,000 az egyetlen érdekes részlet itt van a $ jel a változó neve 433 00:23:25,000 --> 00:23:28,000 valamint a szögletes zárójelek, és van egy furcsa dolog 434 00:23:28,000 --> 00:23:32,000 ez kimaradt, valamint a bal oldali a = jel. 435 00:23:32,000 --> 00:23:36,000 Mi hiányzik, amit már hetek igénylő most? Igen. 436 00:23:36,000 --> 00:23:38,000 [Hallhatatlan hallgatói válasz] 437 00:23:38,000 --> 00:23:41,000 A méret, így nincs említés a méret a tömb. 438 00:23:41,000 --> 00:23:45,000 Őszintén szólva, nincs említés a szögletes zárójelek a bal oldalon 439 00:23:45,000 --> 00:23:47,000 Az = jel, és mi más hiányzik a sorból? 440 00:23:47,000 --> 00:23:49,000 Aha. >> [Hallhatatlan tanulói válasz] 441 00:23:49,000 --> 00:23:52,000 A típus, szóval mi érdekes, különösen a PHP-ről 442 00:23:52,000 --> 00:23:56,000 az, hogy ez nem egy erősen tipizált nyelv, mint c, 443 00:23:56,000 --> 00:23:58,000 és ez határozottan írt abban az értelemben, hogy meg kell mondani, char, 444 00:23:58,000 --> 00:24:00,000 meg kell mondani, int, meg kell mondjam, úszó. 445 00:24:00,000 --> 00:24:03,000 >> Bármikor szeretne egy változót meg kell mondani, hogy mi a csengés típusa. 446 00:24:03,000 --> 00:24:05,000 A PHP egy kicsit lassabb. 447 00:24:05,000 --> 00:24:08,000 Ez lazán gépelt abban az értelemben, hogy a 448 00:24:08,000 --> 00:24:11,000 akkor már úszók és a karakterek és karakterláncok 449 00:24:11,000 --> 00:24:14,000 és ints és így tovább, de a nyelv maga 450 00:24:14,000 --> 00:24:17,000 nem igazán érdekel, mit betenni egy változó. 451 00:24:17,000 --> 00:24:20,000 Nem kell, hogy tájékoztassa előre milyen adattípust 452 00:24:20,000 --> 00:24:22,000 megy egy változó. 453 00:24:22,000 --> 00:24:24,000 Ez teljesen rajtad múlik, így ez a szép 454 00:24:24,000 --> 00:24:27,000 az, hogy nem kell aggódnia, mint sokat adatok gépelés 455 00:24:27,000 --> 00:24:29,000 és aggasztó milyen érvek és így tovább. 456 00:24:29,000 --> 00:24:32,000 Ez azt is jelenti végül függvények PHP lesznek tudja visszaküldeni 457 00:24:32,000 --> 00:24:36,000 vagy egy int a legtöbb időt, és talán egyszer-egyszer 458 00:24:36,000 --> 00:24:40,000 fognak visszatérni a bool, a boolean false például, annak jeléül, hogy valami rosszul sült el. 459 00:24:40,000 --> 00:24:44,000 Ez ad nekünk néhány upsides, de ez is tesz bennünket egyfajta by design 460 00:24:44,000 --> 00:24:47,000 egy kicsit lustábbak, amikor az adatok gépelés. 461 00:24:47,000 --> 00:24:50,000 >> Mi van még szem előtt tartani itt? 462 00:24:50,000 --> 00:24:54,000 Változók nézd nagyon szeretem ezt, így $ s = "hello, world". 463 00:24:54,000 --> 00:24:57,000 Ez talán inferable az előző példában 464 00:24:57,000 --> 00:24:59,000 és mi más típusú hurok. 465 00:24:59,000 --> 00:25:02,000 Ez akkor valóban látni néha, mert elég praktikus, 466 00:25:02,000 --> 00:25:04,000 a foreach konstrukció. 467 00:25:04,000 --> 00:25:11,000 Ebben az esetben, a foreach ciklus veszi belső cikkére zárójelben 3 szó jellemzően, 468 00:25:11,000 --> 00:25:16,000 $ Valami első, amely az, amit array akarsz navigálhat tagjai felett, 469 00:25:16,000 --> 00:25:19,000 akkor szó szerint a kulcsszót, majd végül 470 00:25:19,000 --> 00:25:21,000 másik változó neve, hogy kapsz választani. 471 00:25:21,000 --> 00:25:23,000 Ez lehet foo, bar, vagy elem, 472 00:25:23,000 --> 00:25:26,000 és mi ez a konstrukció nem 473 00:25:26,000 --> 00:25:29,000 az, ha a $ array tartalmaz 10 lencsetag 474 00:25:29,000 --> 00:25:34,000 minden iterációs ezen array-sajnáljuk, minden iterációs e ciklus 475 00:25:34,000 --> 00:25:37,000 a változó nevű elem lesz frissíteni 476 00:25:37,000 --> 00:25:40,000 hogy az első elem a tömbben, akkor a második elem a tömbben, 477 00:25:40,000 --> 00:25:44,000 akkor a harmadik eleme a tömb, ezáltal szükségtelenné téve 478 00:25:44,000 --> 00:25:46,000 tenni a kissé idegesítő szögletes zárójel és a jelölés 479 00:25:46,000 --> 00:25:49,000 $ I index annak érdekében, hogy egy tömb. 480 00:25:49,000 --> 00:25:53,000 PHP nem az összes, hogy a munka az Ön számára, és minden iteráció 481 00:25:53,000 --> 00:25:55,000 csak átadja neked a következő elemet a tömbből 482 00:25:55,000 --> 00:26:01,000 nélküled kelljen tudni, vagy érdekli a numerikus index location. 483 00:26:01,000 --> 00:26:04,000 >> És végül, mert most, van egy másik jellegzetessége PHP 484 00:26:04,000 --> 00:26:08,000 ez lesz rendkívül hasznos, különösen, amikor elkezdünk programozást az interneten, 485 00:26:08,000 --> 00:26:10,000 és ez ismert, mint egy asszociatív tömb. 486 00:26:10,000 --> 00:26:13,000 A tömbök, hogy tudjuk, eddig 20-másodperc 487 00:26:13,000 --> 00:26:17,000 és az elmúlt 8 hétben a numerikusan indexelt tömbök, 488 00:26:17,000 --> 00:26:20,000 fajta hagyományos tömbök, ahol az indexek ints, 489 00:26:20,000 --> 00:26:23,000 0, 1, 2, egészen akár. 490 00:26:23,000 --> 00:26:25,000 Asszociatív tömbök sokkal erősebb. 491 00:26:25,000 --> 00:26:28,000 Ezek lehetővé teszik, hogy tetszőleges kulcs, 492 00:26:28,000 --> 00:26:31,000 önkényes indexek és tetszőleges értékeket. 493 00:26:31,000 --> 00:26:34,000 Mivel egy hagyományos tömbben ez 0, 1, 2, 494 00:26:34,000 --> 00:26:37,000 Egy asszociatív tömb akkor van az index 495 00:26:37,000 --> 00:26:41,000 vagy kulcs az ize melynek értéke bar. 496 00:26:41,000 --> 00:26:46,000 Ezután egy másik gombot, akinek a neve baz, és amelyek értéke qux. 497 00:26:46,000 --> 00:26:49,000 >> Ismét hülye számítástechnika generikus változó nevek itt, 498 00:26:49,000 --> 00:26:55,000 de a lényeg az, hogy ez a tömb nem tartó konzol 0 vagy 1. 499 00:26:55,000 --> 00:26:59,000 Ez inkább megy, hogy konzol foo és konzol BAZ. 500 00:26:59,000 --> 00:27:03,000 Ez egy sokkal sokoldalúbb, hogy fogunk tudni társítani 501 00:27:03,000 --> 00:27:07,000 szavak más szavakkal, a kulcs az értékek teljesen önkényesen, 502 00:27:07,000 --> 00:27:12,000 és mi lesz, tudja, hogy ezek az értékek vissza az időben állandó 503 00:27:12,000 --> 00:27:14,000 mert a motorháztető alatt, amit egy asszociatív tömbben 504 00:27:14,000 --> 00:27:16,000 valóban egy hash tábla. 505 00:27:16,000 --> 00:27:20,000 Emlékezzünk vissza, hogy a hash tábla lehetővé teszi, hogy hozzanak néhány bemeneti 506 00:27:20,000 --> 00:27:25,000 mint helyezze be a szót David, ha szeretné beszúrni David valamiféle szótár, 507 00:27:25,000 --> 00:27:27,000 és akkor kap vissza valamilyen értéket általában. 508 00:27:27,000 --> 00:27:29,000 Abban az esetben, helyesírás, igaz vagy hamis. 509 00:27:29,000 --> 00:27:33,000 David vagy bármi szó, vagy nem szerepel a szótárban. 510 00:27:33,000 --> 00:27:36,000 Egy asszociatív tömb tényleg csak egy hash táblát, 511 00:27:36,000 --> 00:27:38,000 de ez egy sokkal inkább felhasználóbarát megtestesülése is. 512 00:27:38,000 --> 00:27:41,000 Mint látni fogjuk, ez lesz, hogy tőlünk néhány dolgot 513 00:27:41,000 --> 00:27:43,000 Nagyon, nagyon könnyen. 514 00:27:43,000 --> 00:27:45,000 >> Vessünk egy pillantást néhány alapvető PHP 515 00:27:45,000 --> 00:27:47,000 példák, és mit tehetünk ezen a nyelven. 516 00:27:47,000 --> 00:27:51,000 Hadd menjek előre, és nyissa fel a forrás könyvtárban ma 517 00:27:51,000 --> 00:27:54,000 nevű fájlt hello1.php. 518 00:27:54,000 --> 00:27:57,000 Ez a fájl több hozzászólás, mint a tényleges kód, 519 00:27:57,000 --> 00:28:00,000 hadd valójában távolítsa el az összes észrevételek fájlból 520 00:28:00,000 --> 00:28:05,000 és a jelenlegi Önnek talán a legegyszerűbb PHP program itt. 521 00:28:05,000 --> 00:28:07,000 5 sor, és néhány ezek white space, 522 00:28:07,000 --> 00:28:09,000 így észre néhány fontos különbség van. 523 00:28:09,000 --> 00:28:12,000 A fájl neve hello1.php. 524 00:28:12,000 --> 00:28:16,000 Az első sorban, de az, 00:28:18,000 Hasonló szellemében HTML, 526 00:28:18,000 --> 00:28:21,000 hogy a karaktersorozat jelzi a számítógépnek 527 00:28:21,000 --> 00:28:25,000 "Hé, számítógép, itt jön a program vagyunk a PHP-ben." 528 00:28:25,000 --> 00:28:28,000 Ez biztosítja, hogy nem zavarodott, hogy ez egy másik nyelvet. 529 00:28:28,000 --> 00:28:30,000 2. sor egy érdekes fehér térben. 530 00:28:30,000 --> 00:28:32,000 3 sor a mi régi barátja printf, 531 00:28:32,000 --> 00:28:34,000 ezúttal keretében PHP. 532 00:28:34,000 --> 00:28:37,000 PHP saját verzióját printf viselkedik, pontosan ugyanaz, 533 00:28:37,000 --> 00:28:39,000 így ez éppen nyomdába "hello, world". 534 00:28:39,000 --> 00:28:46,000 És akkor ez ellentétes tag itt?> Azt jelenti, hogy ennyi az én PHP kódot. 535 00:28:46,000 --> 00:28:48,000 >> Lássuk, hogyan kell futtatni ezt. 536 00:28:48,000 --> 00:28:50,000 Én megyek vissza a terminál ablak van. 537 00:28:50,000 --> 00:28:52,000 Én megyek az én PHP könyvtárba. 538 00:28:52,000 --> 00:28:56,000 Figyeljük meg, hogy van egy csomó kép, az első ezek közül az egyik hello.php. 539 00:28:56,000 --> 00:29:01,000 Hadd menjek előre, és fuss ez, hello1.php írja. 540 00:29:01,000 --> 00:29:03,000 Engedély megtagadva. Oké. 541 00:29:03,000 --> 00:29:06,000 Hogyan tudjuk megállapítani dolgok, mint ez a múltban? 542 00:29:06,000 --> 00:29:08,000 Mi ez? >> [Hallhatatlan tanulói válasz] 543 00:29:08,000 --> 00:29:11,000 Meg kell írni és olvasni, de hadd tegyek ls-l. 544 00:29:11,000 --> 00:29:14,000 Ne feledje, ez a némileg rejtélyes kimenet, amellyel hello1 545 00:29:14,000 --> 00:29:17,000 Úgy tűnik, hogy olvasható és írható by me 546 00:29:17,000 --> 00:29:19,000 de olvasható mindenki más. 547 00:29:19,000 --> 00:29:22,000 Kiderült, hogy ez valójában nem egy lépés a helyes irányba. 548 00:29:22,000 --> 00:29:25,000 A különbség ismét egy értelmezett nyelv 549 00:29:25,000 --> 00:29:27,000 van, hogy ne fogyjon a programot közvetlenül. 550 00:29:27,000 --> 00:29:30,000 Te inkább fuss egy tolmács és add meg a kódot 551 00:29:30,000 --> 00:29:33,000 amit írtam így értelmezni sorról sorra. 552 00:29:33,000 --> 00:29:36,000 Ebben az esetben, a tolmács vagy a program Igazából futtatni kívánt 553 00:29:36,000 --> 00:29:38,000 szó szerint hívják PHP. 554 00:29:38,000 --> 00:29:41,000 >> Valahol ezen a merevlemezen a készülék van egy program 555 00:29:41,000 --> 00:29:45,000 valaki írt nevű PHP, vagy Windows php.exe. 556 00:29:45,000 --> 00:29:48,000 Mit fogok csinálni itt fogom a ténylegesen megtett PHP 557 00:29:48,000 --> 00:29:51,000 de hogy ez egy parancssori argumentum a kódot, hogy én írtam, 558 00:29:51,000 --> 00:29:54,000 és aztán kicsinyíteni és nyomd meg az Entert. 559 00:29:54,000 --> 00:29:58,000 Ez fut a program nekem, felülről lefelé, balról jobbra. 560 00:29:58,000 --> 00:30:01,000 Hadd menjek előre, és nyit egy kis variancia ezt. 561 00:30:01,000 --> 00:30:05,000 Ebben hello2.php észre, hogy ez is 562 00:30:05,000 --> 00:30:08,000 többnyire kommentek, hadd megszabadulni e, mint a figyelemelterelés, 563 00:30:08,000 --> 00:30:13,000 és mi egyértelműen különbözik most ezt a fájlt? 564 00:30:13,000 --> 00:30:15,000 Van ez az új vonal, kissé rejtélyesek a tetején. 565 00:30:15,000 --> 00:30:20,000 In line 1 ez: #! / Bin / php. 566 00:30:20,000 --> 00:30:24,000 Bin egy egyezményt a Linux és a Mac OS a binárisokat, 567 00:30:24,000 --> 00:30:27,000 így / bin jelent ez tartalmazó mappát egy csomó binárisok 568 00:30:27,000 --> 00:30:29,000 hogy van programozva, amelyek közül az egyik az a PHP. 569 00:30:29,000 --> 00:30:32,000 A #! a beceneve kocsma, 570 00:30:32,000 --> 00:30:35,000 amely a gyors módja a mondás, és mit jelent ez 571 00:30:35,000 --> 00:30:40,000 hogy amikor futtatni ezt a programot most van egy tipp a tetején a fájl 572 00:30:40,000 --> 00:30:44,000 hogy megmondja a számítógép, amit tolmács használni. 573 00:30:44,000 --> 00:30:47,000 >> Nem lesz egy kicsit bosszantó, ha kellett, hogy mondja el a felhasználók és az ügyfelek 574 00:30:47,000 --> 00:30:50,000 "Hé, mi ezt írta nevű programot hello1.php." 575 00:30:50,000 --> 00:30:54,000 Mindössze annyit kell tennie, hogy örökre fut a PHP, majd a neve ennek a programnak. 576 00:30:54,000 --> 00:30:58,000 Őszintén szólva, ez csak szebb futtatni hello1.php, 577 00:30:58,000 --> 00:31:00,000 és valóban, tudjuk, ha mi a következőket. 578 00:31:00,000 --> 00:31:05,000 Hadd menjek előre, és nem ls-l, és a hirdetmény hello2 ez még mindig csak olvasni írni 579 00:31:05,000 --> 00:31:10,000 majd olvasd el olvasni, így nem tudok még csinálni, hello2.php. 580 00:31:10,000 --> 00:31:15,000 De mi vezetett e valaha is olyan rövid utoljára a chmod parancsot. 581 00:31:15,000 --> 00:31:20,000 Ha megteszem chmod a + x, ami azt jelenti, minden plusz végrehajthatósága, 582 00:31:20,000 --> 00:31:26,000 majd hello2.php majd tegye ls-l újra észre, mi változott. 583 00:31:26,000 --> 00:31:29,000 Egy, Linux megmutatta nekem a fájlnév zöld közvetíteni az ötlet 584 00:31:29,000 --> 00:31:32,000 , hogy ez az végrehajtható, de ami még fontosabb, a bal oldali 585 00:31:32,000 --> 00:31:36,000 észre, hogy a képviselő bit x végrehajtható most állítva. 586 00:31:36,000 --> 00:31:42,000 Mi ez most azt jelenti, nem tudok futni ./hello2.php, mint rendesen, 587 00:31:42,000 --> 00:31:45,000 nyomd meg az Entert, és mert a kocsma legtetején a fájl 588 00:31:45,000 --> 00:31:48,000 ez egy tipp, ismét a Linux, hogy azt mondja 589 00:31:48,000 --> 00:31:51,000 Ezzel tolmácsot futtatni ezt a fájlt. 590 00:31:51,000 --> 00:31:54,000 Ne aggódj kényszeríti a felhasználót, hogy ténylegesen írja. 591 00:31:54,000 --> 00:31:57,000 >> És milyen szép most ez a fajta lényegtelen az én ügyfelek vagy a barátaimmal 592 00:31:57,000 --> 00:32:01,000 milyen nyelven írtam ezt a programot, így tudok menni előre mv 593 00:32:01,000 --> 00:32:04,000 és nevezd át ez a dolog, hogy hello2, például. 594 00:32:04,000 --> 00:32:07,000 És most, ha megteszem ./hello2 595 00:32:07,000 --> 00:32:10,000 és kicsinyítés a program tovább fut. 596 00:32:10,000 --> 00:32:13,000 Ezek a fájl kiterjesztések emberi konvenciót, hogy ez szükséges 597 00:32:13,000 --> 00:32:15,000 valami, mint a csengés és a Make akik keresik őket. 598 00:32:15,000 --> 00:32:18,000 De PHP tudtam hívni ezt a file kiterjesztés, amit akarok. 599 00:32:18,000 --> 00:32:22,000 Tudtam becsapni a világot azt gondolni, hogy én vagyok igazán jó Ruby, 600 00:32:22,000 --> 00:32:25,000 és nem tudtam írni hello2.rb majd futtassa ezt, 601 00:32:25,000 --> 00:32:28,000 és íme, most már a Ruby változat, ami egy teljes hazugság. 602 00:32:28,000 --> 00:32:30,000 De a fájl kiterjesztések értelmetlen 603 00:32:30,000 --> 00:32:35,000 ha a fájl végrehajtható, és e különleges hint a tetején a fájlt. 604 00:32:35,000 --> 00:32:38,000 >> Most, mint egy félre, hadd mutassam meg gyorsan 3-as verziójú, 605 00:32:38,000 --> 00:32:40,000 amely egyfajta hasznos trükk, hogy tudja. 606 00:32:40,000 --> 00:32:45,000 Az hello3 tettem valamit kicsit rosszul 607 00:32:45,000 --> 00:32:47,000 hogy fogom frissíteni a forráskódot online. 608 00:32:47,000 --> 00:32:50,000 A 3-as verzió, kiderül, hogy a legtöbb Linux számítógépen 609 00:32:50,000 --> 00:32:53,000 Van egy program neve env környezetvédelmi, 610 00:32:53,000 --> 00:32:56,000 és mit lehet itt csinálni, ha nem tudod hol PHP 611 00:32:56,000 --> 00:33:00,000 telepítve van a helyi merevlemezre, mert valóban lehetett függően változik a számítógépen 612 00:33:00,000 --> 00:33:03,000 hogy valaki használja, env csak mondja fuss env, 613 00:33:03,000 --> 00:33:07,000 mely a legtöbb rendszeren, és kitalálni, hol PHP. 614 00:33:07,000 --> 00:33:11,000 Csak egy közös trükk, így nem kell aggódnia, kideríteni, ha egy program. 615 00:33:11,000 --> 00:33:14,000 De ha érdekel, hogy megtudja, hol a program, és még nem törődött eddig 616 00:33:14,000 --> 00:33:16,000 akkor használja a melyik parancsot. 617 00:33:16,000 --> 00:33:19,000 >> Hadd kicsinyítés és típusjellel php, 618 00:33:19,000 --> 00:33:23,000 , és vegyük észre azt mondja nekem, hogy ez ténylegesen usr / bin / php. 619 00:33:23,000 --> 00:33:25,000 Ez a fajta hazugság. Ez is bin. 620 00:33:25,000 --> 00:33:27,000 Ez csak megmutatta nekem az első találatot. 621 00:33:27,000 --> 00:33:31,000 Ha valaha is csodálkoztam, ha csenget, melyik csenget, ez a usr / bin / csenget, 622 00:33:31,000 --> 00:33:34,000 amelyek, usr / bin / make, és hogy mit jelent ez az egész idő 623 00:33:34,000 --> 00:33:38,000 akkor lehetett volna gépelni usr / bin / csenget be futtatni csenget, 624 00:33:38,000 --> 00:33:41,000 de ez a fajta unalmas tenni, hogy így néhány mappák 625 00:33:41,000 --> 00:33:44,000 mint usr / bin és a bin Feltételezzük, hogy alapértelmezett 626 00:33:44,000 --> 00:33:50,000 így a számítógép tudja, hogy nézze meg őket. 627 00:33:50,000 --> 00:33:53,000 Bármilyen kérdésre írásban egy szuper, szuper egyszerű Hello World programban 628 00:33:53,000 --> 00:33:55,000 PHP-ben, majd fut? 629 00:33:55,000 --> 00:33:59,000 Mert most kezdjük bevezetni vonzóbb szintaxist. 630 00:33:59,000 --> 00:34:01,000 Rendben, itt vagyunk. 631 00:34:01,000 --> 00:34:03,000 Ezek a programok láttunk valójában mindegyikük előtt. 632 00:34:03,000 --> 00:34:07,000 >> Ha én nyit, például csináljuk beer1.php, 633 00:34:07,000 --> 00:34:09,000 mi nem megy keresztül több változatát is, de amit tettem 634 00:34:09,000 --> 00:34:13,000 volt, leültem, és öntötte vagy átalakított 635 00:34:13,000 --> 00:34:15,000 a C kód PHP kód itt. 636 00:34:15,000 --> 00:34:18,000 A legtöbb tetején a fájl megjegyzések itt. 637 00:34:18,000 --> 00:34:20,000 Kiderült, hogy van egy új funkció van szükségünk hívott readline. 638 00:34:20,000 --> 00:34:23,000 GetString, visszahívás, a hét 0-től volt CS50 dolog. 639 00:34:23,000 --> 00:34:27,000 PHP jön a saját felhasználóbarát nevezett funkció readline 640 00:34:27,000 --> 00:34:30,000 vevő 1 érv, amely meghatározza a prompt 641 00:34:30,000 --> 00:34:33,000 kívánt mutatni a felhasználónak, és mit csinál readline 642 00:34:33,000 --> 00:34:35,000 A adja vissza, amit a felhasználó a be 643 00:34:35,000 --> 00:34:39,000 Ebben az esetben, én nyilvánító változó neve $ n. 644 00:34:39,000 --> 00:34:42,000 Én tárolja benne a visszatérési értéke readline 645 00:34:42,000 --> 00:34:44,000 után a felhasználó megkérdezése ezzel a string. 646 00:34:44,000 --> 00:34:47,000 Csak biztonsági mentéséről, hogy valóban futtatni ezt a dolgot, hadd menjen előre 647 00:34:47,000 --> 00:34:50,000 és fuss php beer1.php. 648 00:34:50,000 --> 00:34:53,000 Hány üveg lesz-e? Csak csináljuk 2 ebben az időben. 649 00:34:53,000 --> 00:34:55,000 Az Enter billentyűt. Ez minden. 650 00:34:55,000 --> 00:34:59,000 >> A program funkcionálisan megegyezik a C verziót héttel ezelőtt. 651 00:34:59,000 --> 00:35:01,000 De szintaktikailag lássuk, mi más. 652 00:35:01,000 --> 00:35:05,000 Miután kap egy int a felhasználó észreveszi, hogy csinálok néhány hibaellenőrzés, 653 00:35:05,000 --> 00:35:08,000 és ha n értéke kevesebb, mint 1 abbahagytam, és azt ki kell nyomtatni 654 00:35:08,000 --> 00:35:11,000 szomorú üzenetet küld a felhasználónak és kilép, 1. 655 00:35:11,000 --> 00:35:13,000 Ez is egy kicsit más. 656 00:35:13,000 --> 00:35:16,000  A C-ben mit csinálunk? A C-ben visszatértünk 1. 657 00:35:16,000 --> 00:35:20,000 A PHP kilép 1, amelyet őszintén van azt hiszem, egy kicsit intuitív 658 00:35:20,000 --> 00:35:22,000 mert te szó szerint kilép a program. 659 00:35:22,000 --> 00:35:25,000 Rendben, majd itt lent a bosszantó dal azonos szintaktikailag 660 00:35:25,000 --> 00:35:29,000 kivéve a változó, ezért itt lent sorban 24-től 661 00:35:29,000 --> 00:35:31,000 észre a for ciklus közel azonos, 662 00:35:31,000 --> 00:35:34,000 de van $ elé i és n, 663 00:35:34,000 --> 00:35:37,000 és mi is hiányzik a 26, hogy már a múltban 664 00:35:37,000 --> 00:35:39,000 amikor nyilvánító i változó? 665 00:35:39,000 --> 00:35:41,000 Nincs típus. 666 00:35:41,000 --> 00:35:43,000 Ez téves PHP mondani int. 667 00:35:43,000 --> 00:35:45,000 Egyszerűen nem kell megtenni. 668 00:35:45,000 --> 00:35:48,000 A számítógép, a tolmács PHP elég okos ahhoz, hogy észre 669 00:35:48,000 --> 00:35:51,000 hogy ha tesz egy számot a $ I fog kezelni 670 00:35:51,000 --> 00:35:53,000 számként az Ön számára. 671 00:35:53,000 --> 00:35:57,000 És akkor ide is plug in $ i, $ i, $ i - 1. 672 00:35:57,000 --> 00:36:00,000 Minden, ami ugyanaz, aztán ide tesszük a "Wow, ez bosszantó" printf 673 00:36:00,000 --> 00:36:02,000 majd kilép (0). 674 00:36:02,000 --> 00:36:05,000 >> Ismét az elvitelre itt az, hogy bár fogunk költeni viszonylag 675 00:36:05,000 --> 00:36:09,000 kevés az idő a PHP, biztosan versus mit csináltunk a C, 676 00:36:09,000 --> 00:36:12,000 ez majdnem ugyanaz, és így fogjuk tenni ma, és a jövő héten 677 00:36:12,000 --> 00:36:14,000 és azon túl összpontosít tényleg néhány új ötleteket. 678 00:36:14,000 --> 00:36:17,000 Csak látom, hogy egy dolog nem fordít át C, 679 00:36:17,000 --> 00:36:20,000 ez egy szuper egyszerű program tettük Hét 1 680 00:36:20,000 --> 00:36:22,000 vagy 2, hogy CubeD értéket. 681 00:36:22,000 --> 00:36:25,000 De milyen érdekes volt abban az időben ezt a programot, hogy 682 00:36:25,000 --> 00:36:28,000 bevezette a fogalmat egyéni írásbeli funkciót, hogy mi magunk írt. 683 00:36:28,000 --> 00:36:31,000 A szintaxis a PHP-ben közel azonos. 684 00:36:31,000 --> 00:36:33,000 Itt a program kidolgozása tetején. 685 00:36:33,000 --> 00:36:35,000 Figyeljük meg ismét hiányzik bármilyen fogalma fő. 686 00:36:35,000 --> 00:36:39,000 Kezdek kód írása, és ez az, hogy mi fog kerül végrehajtásra a tolmács. 687 00:36:39,000 --> 00:36:42,000 Én kinyomtatni x ma 2, feltehetőleg. 688 00:36:42,000 --> 00:36:44,000 Aztán azt állítják, kocka ... 689 00:36:44,000 --> 00:36:47,000 Akkor hívom a kocka függvényt, és adja át a $ x 690 00:36:47,000 --> 00:36:50,000 és hozzá a visszatérési érték a $ x. 691 00:36:50,000 --> 00:36:53,000 Aztán azt állítják, hogy ez kockára vágott, aztán mondom ezt, ami remélhetőleg 692 00:36:53,000 --> 00:36:55,000 fogja mondani x most 8. 693 00:36:55,000 --> 00:36:59,000 A szintaxis a funkció a PHP-ben valaha is olyan kissé eltérő. 694 00:36:59,000 --> 00:37:01,000 Ismét hiányzik a visszatérési típus. 695 00:37:01,000 --> 00:37:05,000 Ismét ki a hiányzó visszatérési típusa, valamint a hiányzó, ami más típusú? 696 00:37:05,000 --> 00:37:07,000 [Hallhatatlan hallgatói válasz] 697 00:37:07,000 --> 00:37:10,000 Nos, oké, ez jó. Akkor gyere vissza, hogy a második. 698 00:37:10,000 --> 00:37:12,000 >> Nincs, például, int itt. 699 00:37:12,000 --> 00:37:15,000 Nem, például, már int itt, mert, ismét, PHP 700 00:37:15,000 --> 00:37:18,000 egyszerűen nem kell, és nem arra, 701 00:37:18,000 --> 00:37:20,000 hanem ott van az új kulcsszót nevű funkciót. 702 00:37:20,000 --> 00:37:23,000 A PHP majdnem egy kicsit világosabb, mert ha akarsz egy funkció 703 00:37:23,000 --> 00:37:26,000 szó szerint azt funkcióval, akkor adja meg a nevét, majd egy vesszővel elválasztott lista 704 00:37:26,000 --> 00:37:28,000 ha bármely érveit. 705 00:37:28,000 --> 00:37:32,000 Nem kell mondani, semmis vagy ilyesmi, aztán vissza ugyanaz, 706 00:37:32,000 --> 00:37:35,000 $ A * $ a * $ a. 707 00:37:35,000 --> 00:37:38,000 Mi is hiányzik? Sammy rámutatott erre itt. 708 00:37:38,000 --> 00:37:43,000 A tetején a fájl teljesen hiányzik a PHP-ben is egy prototípus. 709 00:37:43,000 --> 00:37:45,000 Ez is a design. 710 00:37:45,000 --> 00:37:48,000 Nyelvek és tolmácsok, mint a PHP okosabbak, mint valaha is volt C 711 00:37:48,000 --> 00:37:50,000 A fordítóprogramok, mint csenget. 712 00:37:50,000 --> 00:37:53,000 >> Emlékezzünk vissza, hogy csenget, ha nem mondja meg, hogy a kocka létezik, 713 00:37:53,000 --> 00:37:56,000 ha nem mondja azt, hogy a printf létezik, mint a prototípus 714 00:37:56,000 --> 00:38:00,000 vagy egy # include, nos, ez meg fog kiabálni veled, és nem is fordítsa le a kódot. 715 00:38:00,000 --> 00:38:03,000 PHP és a modern nyelvek sokkal okosabb, amikor ezt. 716 00:38:03,000 --> 00:38:07,000 Fogják venni, hogy magukra, hogy olvassa el az összes kódot 717 00:38:07,000 --> 00:38:11,000 majd kiabálni csak akkor, ha úgy találja kocka sehol. 718 00:38:11,000 --> 00:38:15,000 Nem számít, ha a kocka az alsó vagy a felső, vagy még néhány külön fájlba. 719 00:38:15,000 --> 00:38:18,000 PHP és hasonló nyelven most elég okos, hogy előre nézni 720 00:38:18,000 --> 00:38:26,000 mindent, mielőtt úgy ítélte meg úgy, mint amelyek hibázott. 721 00:38:26,000 --> 00:38:28,000 Hova vezet ez hagy minket? 722 00:38:28,000 --> 00:38:32,000 >> Csináljunk egy utolsó példa itt körülmények között, 723 00:38:32,000 --> 00:38:35,000 és ha nyit conditions2.php nyilatkozat is 724 00:38:35,000 --> 00:38:37,000 szintaxis itt majdnem ugyanaz. 725 00:38:37,000 --> 00:38:40,000 Én használ readline helyett getString, azonban hogy a vonal az ugyanaz, mint korábban, 726 00:38:40,000 --> 00:38:42,000 "Szeretnék egy egész kérem." 727 00:38:42,000 --> 00:38:45,000 Aztán van egy, ha a feltétel, az else if, majd egy más, 728 00:38:45,000 --> 00:38:48,000 de funkcionálisan ez a program is azonos azzal, amit csináltunk héttel ezelőtt, 729 00:38:48,000 --> 00:38:51,000 így ha elfutok ez a dolog, php a conditions2, 730 00:38:51,000 --> 00:38:54,000 és azt, hogy ez egy több, mint 23 - 731 00:38:54,000 --> 00:38:57,000 Felvettem egy pozitív szám. Ha adok neki -1 Felvettem egy negatív szám. 732 00:38:57,000 --> 00:39:00,000 Ha adok neki 0 I valóban felvette 0. 733 00:39:00,000 --> 00:39:02,000 Szóval, aki törődik mindezt? 734 00:39:02,000 --> 00:39:06,000 Nos, az egyik a móka fajta gyakorlatok itt 735 00:39:06,000 --> 00:39:10,000 nekem legalábbis az volt, hogy menjen vissza, és látni, milyen gyorsan tudok végrehajtani Pset 5, 736 00:39:10,000 --> 00:39:12,000 A helyesírási hibák Pset. 737 00:39:12,000 --> 00:39:15,000 Emlékezzünk vissza, hogy volt ez a nevű fájlt speller.c, 738 00:39:15,000 --> 00:39:17,000 és ott volt egy nevű fájlt dictionary.c. 739 00:39:17,000 --> 00:39:20,000 Amit nem én voltam az a fajta töltöttem pár perc, és én át a C-kódot 740 00:39:20,000 --> 00:39:23,000 A PHP kódot, és mi nem töltenek sok időt a helyesírás 741 00:39:23,000 --> 00:39:26,000 mert akárcsak Pset 5 ha nem igazán kell 742 00:39:26,000 --> 00:39:29,000 töltenek sok időt a helyesírás is, mert a figyelem a szótárban. 743 00:39:29,000 --> 00:39:32,000 >> Elég annyit mondani, hogy ha olvassa végig helyesírás, 744 00:39:32,000 --> 00:39:35,000 ezt a fájlt itt, ez nagyjából megegyezik a C kód 745 00:39:35,000 --> 00:39:37,000 adtunk neked Pset 5. 746 00:39:37,000 --> 00:39:39,000 Most adunk néhány $-helyeken. 747 00:39:39,000 --> 00:39:43,000 Már megváltozott bizonyos funkció nevét, ha nem létezik a PHP. 748 00:39:43,000 --> 00:39:45,000 Van egy további dolog itt, preg_match, 749 00:39:45,000 --> 00:39:48,000 ami egy kicsit szakértő módon csinál valamit, de majd jön vissza, hogy végül. 750 00:39:48,000 --> 00:39:51,000 De rövid, helyesírás majdnem azonos, és ha megnézi az legalján 751 00:39:51,000 --> 00:39:54,000 amit végül kiköpi ez itt, 752 00:39:54,000 --> 00:39:57,000 szavak elgépelt szavak a szótárban, a szavak a szövegben. 753 00:39:57,000 --> 00:40:00,000 Rendben, mi az érdekes, most a következő. 754 00:40:00,000 --> 00:40:05,000 A tetején a fájl vagyok igénylő dictionary.php. 755 00:40:05,000 --> 00:40:09,000 Csakúgy, mint a C-# include PHP rendelkezik egy speciális funkciót nevű igényel 756 00:40:09,000 --> 00:40:14,000 hogy nagyjából ugyanazt teszi szükségessé nevű fájlt dictionary.php. 757 00:40:14,000 --> 00:40:18,000 Hogyan megy a végrehajtási Pset 5? 758 00:40:18,000 --> 00:40:21,000 Hadd menjek előre, és megnyitja a fájlt ide. 759 00:40:21,000 --> 00:40:24,000 Engedjék meg, hogy egy kis utalás van. 760 00:40:24,000 --> 00:40:29,000 És hadd hozzon létre egy új fájlt és indítsa hívja ezt dictionary.php. 761 00:40:29,000 --> 00:40:31,000 Hadd tegye a másik mappába, így tudjuk ezt élni. 762 00:40:31,000 --> 00:40:33,000 És most én Nagyítás 763 00:40:33,000 --> 00:40:37,000 Fogom kezdeni a PHP fájl nyitó zárójel php zárt tartót. 764 00:40:37,000 --> 00:40:40,000 És akkor itt volt egy pár funkciót kellett megvalósítani az Pset 5, 765 00:40:40,000 --> 00:40:42,000 ezért hadd kezdjem végrehajtásának néhány ilyen, 766 00:40:42,000 --> 00:40:47,000 így funkció csekket, ami kellett, hogy egy szót érvként. 767 00:40:47,000 --> 00:40:49,000 Fogjuk csinálni, és gyere vissza, hogy egy pillanat alatt. 768 00:40:49,000 --> 00:40:53,000 >> Volt funkció terhelés lépett, amit érvként? 769 00:40:53,000 --> 00:40:56,000 Szótár, így a fájl, hogy én tényleg akartam tölteni. 770 00:40:56,000 --> 00:41:00,000 Volt funkció mérete, amely nem vállal semmilyen érvet 771 00:41:00,000 --> 00:41:04,000 és ott volt a funkció-mi volt a másik? 772 00:41:04,000 --> 00:41:06,000 Unload, amely nem vállal semmilyen érvet sem. 773 00:41:06,000 --> 00:41:10,000 Ezek a 4 funkció, hogy én kell most végrehajtani PHP, 774 00:41:10,000 --> 00:41:13,000 és mit fogok csinálni az megy előre, és ezt. 775 00:41:13,000 --> 00:41:16,000 Sok használt egy hash táblát Pset 5, 776 00:41:16,000 --> 00:41:21,000 hadd menjen előre, és hozzon létre egy hash táblát PHP. 777 00:41:21,000 --> 00:41:23,000 Kész. 778 00:41:23,000 --> 00:41:25,000 Ez ad nekem egy hash táblát. Nos, miért? 779 00:41:25,000 --> 00:41:30,000 Az egyik, a változó neve $ tabla, csak idézik fel az ötlet egy hash tábla. 780 00:41:30,000 --> 00:41:34,000 A szögletes zárójelek, bár emlékszem, képviseli mi? 781 00:41:34,000 --> 00:41:37,000 Egy tömb, de a PHP tömbök nem kell numerikusan indexelt. 782 00:41:37,000 --> 00:41:41,000 Ők is asszociatív tömbök, 783 00:41:41,000 --> 00:41:44,000 ami azt jelenti, hogy tetszőleges kulcsokat és értékeket. 784 00:41:44,000 --> 00:41:49,000 >> Sok hasonlóan Pset 5, azok, akik nem hash tábla implementációk 785 00:41:49,000 --> 00:41:53,000 akkor valószínűleg be a szót, majd beilleszteni azt egy láncot kapcsolt listák 786 00:41:53,000 --> 00:41:56,000 vagy tárolt értékét true valahol, vagy valami ebben az értelemben. 787 00:41:56,000 --> 00:41:59,000 Te valahogy eszébe jutott az a tény, hogy a szó volt. 788 00:41:59,000 --> 00:42:01,000 Most, hogy az lesz az én hash tábla, 789 00:42:01,000 --> 00:42:06,000 és így most megy a végrehajtó az ellenőrzés funkció 790 00:42:06,000 --> 00:42:09,000 Csak meg kell nézni, hogy a belső hash tábla 791 00:42:09,000 --> 00:42:11,000 , és ha egy szó van. 792 00:42:11,000 --> 00:42:15,000 Mit fogok tenni, hogy én fogok mondani, ha- 793 00:42:15,000 --> 00:42:20,000 mondjuk isset, ami egy PHP függvény, amely a szó szoros értelmében csak azt jelenti, a kulcs készlet, 794 00:42:20,000 --> 00:42:24,000 így isset ($ table [$ szó], 795 00:42:24,000 --> 00:42:29,000 és ha igen, vissza igaz. 796 00:42:29,000 --> 00:42:32,000 Ennyi. Ez Pset 5 in PHP. 797 00:42:32,000 --> 00:42:34,000 Nos, a méltányosság, oké. 798 00:42:34,000 --> 00:42:37,000 Else return false, így nincs ott. 799 00:42:37,000 --> 00:42:39,000 Mi folyik itt valójában? 800 00:42:39,000 --> 00:42:42,000 Nos, ha a tábla vagy hash tábla itt több általánosan 801 00:42:42,000 --> 00:42:46,000 egy asszociatív tömb, amely azt jelenti, hogy index bele 802 00:42:46,000 --> 00:42:50,000 egy szó, mint a "szó", és van, hogy újra valami értéket. 803 00:42:50,000 --> 00:42:52,000 >> Mi vagyunk a fajta szerzés egy lépéssel magunkat. 804 00:42:52,000 --> 00:42:56,000 Lenne ilyen jó, ha ténylegesen berakodott a fájl első, 805 00:42:56,000 --> 00:42:58,000 így terhelés nem olyan egyszerű, de hadd menjen előre, és felkap 806 00:42:58,000 --> 00:43:00,000  egy igazán gyors végrehajtását terhelés. 807 00:43:00,000 --> 00:43:07,000 Hadd menjek előre, és azt mondják, szó lesz fájl szótárban. 808 00:43:07,000 --> 00:43:10,000 A fájl PHP függvény megnyit egy fájlt 809 00:43:10,000 --> 00:43:12,000 és visszatér Önnek egy tömb összes szó, hogy a fájl, 810 00:43:12,000 --> 00:43:14,000 Csak átadja el Önnek. 811 00:43:14,000 --> 00:43:16,000 Ez volt a nagy fájdalom is, nem igaz? 812 00:43:16,000 --> 00:43:21,000 Most foreach, ez az új konstrukció, foreach ($ szavak as $ szó). 813 00:43:21,000 --> 00:43:25,000 Ez a hurok fog kezdeni iterációjával az array szavak 814 00:43:25,000 --> 00:43:30,000 és hozzá a $ változó szó minden szó a fájlban 815 00:43:30,000 --> 00:43:32,000 az első és a második, hogy a harmadik és a negyedik végig 816 00:43:32,000 --> 00:43:35,000 így nem kell csinálni a bosszantó [i] jelölést és hasonlók. 817 00:43:35,000 --> 00:43:38,000 És amit én egyszerűen nem megy minden ilyen szavak 818 00:43:38,000 --> 00:43:43,000 A tároljuk az én tábla indexelő figyelembe táblázat 819 00:43:43,000 --> 00:43:47,000 majd ezzel igaz, mert emlékezni 820 00:43:47,000 --> 00:43:50,000 hogy egy szó van a szótárban minden, amit igazán csinálni 821 00:43:50,000 --> 00:43:55,000 az a fajta fordítsa egy kicsit, és azt mondják ezt a szót én hash tábla ott van, igaz. 822 00:43:55,000 --> 00:43:58,000 És ha nincs ott, nem kell kifejezetten fel hamis, 823 00:43:58,000 --> 00:44:01,000 egyébként azt kell tenni false összes lehetséges szavak az univerzumban. 824 00:44:01,000 --> 00:44:05,000 >> Elég nekem, csak állítsa be az index értéke 825 00:44:05,000 --> 00:44:09,000 az igaz, ha a szó valóban az én hash táblában. 826 00:44:09,000 --> 00:44:12,000 Nos, én egy pár vágás sarkok, hogy itt fogok integetni a kezem a most, 827 00:44:12,000 --> 00:44:15,000 de most a terhelés függvényében történik. 828 00:44:15,000 --> 00:44:18,000 Én betölteni a szavakat a fájlt egy tömb. 829 00:44:18,000 --> 00:44:21,000 Én iterációkhoz hogy tömb, és minden szó a tömbben 830 00:44:21,000 --> 00:44:24,000 Én dugja be a hash tábla 1 sor kódot. 831 00:44:24,000 --> 00:44:26,000 Ez a móka. Tudja, hogyan tudjuk végrehajtani Méret most? 832 00:44:26,000 --> 00:44:28,000 Nos, méret mindig elég könnyű, a méltányosság. 833 00:44:28,000 --> 00:44:32,000 Itt is csak azt vissza száma asztalra. 834 00:44:32,000 --> 00:44:34,000 Ez elég egyszerű is, számolja meg a dolgok a táblázatban. 835 00:44:34,000 --> 00:44:36,000 Ez tulajdonképpen a fajta nem a leghatékonyabb. 836 00:44:36,000 --> 00:44:39,000 Azt kéne rendelkeznie nevű változó méretű, így tudjuk csinálni 837 00:44:39,000 --> 00:44:41,000 állandó, de ez nagyon egyszerű. 838 00:44:41,000 --> 00:44:45,000 Ja, és majd kirak, ha valóban akarjuk, hogy az anális itt 839 00:44:45,000 --> 00:44:47,000 azt mondhatjuk, hogy ez hogyan kirakodásához valamit. 840 00:44:47,000 --> 00:44:49,000 Csak állítsa a változót egyenlő egy üres tömböt, 841 00:44:49,000 --> 00:44:51,000 és megszabadul mindent, ami ott volt. 842 00:44:51,000 --> 00:44:53,000 Nem kell hívni ingyen. 843 00:44:53,000 --> 00:44:56,000 >> Megint vágott néhány sarkok, és elnézést kijelölése probléma set 5 844 00:44:56,000 --> 00:45:00,000 talán a C, de ha most megy előre, és fuss ez, 845 00:45:00,000 --> 00:45:02,000 Megyek ténylegesen futtatják verziót írtam előre 846 00:45:02,000 --> 00:45:05,000 csak azért, hogy én nem semmilyen szintaktikai hibák nélkül. 847 00:45:05,000 --> 00:45:08,000 Hadd menjek előre, és fuss helyesírás. A használat az ugyanaz. 848 00:45:08,000 --> 00:45:12,000 Itt van egy szótár fájl, ami tartalmazza a szót, csak foo. 849 00:45:12,000 --> 00:45:15,000 Itt van egy szöveges fájl, amely tartalmazza a csak foo bar. 850 00:45:15,000 --> 00:45:19,000 Nézzük ezt a helyesírás-ellenőrzés, így a helyesírás, ezzel a szótár fájlt a szöveges fájl. 851 00:45:19,000 --> 00:45:21,000 Van egy elírt szó, bár, és íme. 852 00:45:21,000 --> 00:45:23,000 Kész a Pset 5. 853 00:45:23,000 --> 00:45:30,000 Vessünk egy 5-perces szünet van, és mi jön vissza, és inkább a PHP. 854 00:45:30,000 --> 00:45:32,000 Rendben, mi vissza. 855 00:45:32,000 --> 00:45:34,000 Hadd ne-utálsz egy darabig. 856 00:45:34,000 --> 00:45:37,000 Nézzük most valóban látni, ha ez nem volt pozitív 857 00:45:37,000 --> 00:45:39,000 ténylegesen végrehajtó ez a dolog a PHP-ben. 858 00:45:39,000 --> 00:45:43,000 Nyújtott, azt 45 másodperc végrehajtani. 859 00:45:43,000 --> 00:45:45,000 >> De menjünk előre, és most fut a dolgokat. 860 00:45:45,000 --> 00:45:49,000 Hadd menjek előre, és fuss a C változat 861 00:45:49,000 --> 00:45:52,000 A Speller, és mi fuss ez az egyik legnagyobb fájlokat, 862 00:45:52,000 --> 00:45:54,000 amely a King James Biblia. 863 00:45:54,000 --> 00:45:57,000 És ez itt in-menjünk a mi C mappába, 864 00:45:57,000 --> 00:46:01,000 Speller a King James az 5.. 865 00:46:01,000 --> 00:46:03,000 Sok elgépelt szavakat. 866 00:46:03,000 --> 00:46:06,000 Oké, ez a kimenet akkor valószínűleg van akkor is, ha az idő egy kicsit más, 867 00:46:06,000 --> 00:46:09,000 ha van minden megfelelően működik, és így időt összesen helyesírás-ellenőrzés 868 00:46:09,000 --> 00:46:13,000 A King James Biblia 0,38 másodperc, így nagyon jó, hogy a végrehajtási használatával. 869 00:46:13,000 --> 00:46:16,000 Most hadd menjen be a PHP verzió, amit most írtam. 870 00:46:16,000 --> 00:46:18,000 Hadd futni helyesírás a King James. 871 00:46:18,000 --> 00:46:21,000 Hoppá, figyelmen kívül hagyja, hogy a hiba. Én vagyok a rossz könyvtárban. 872 00:46:21,000 --> 00:46:24,000 Speller a King James az 5.. 873 00:46:46,000 --> 00:46:48,000 Majdnem kész. 874 00:46:48,000 --> 00:46:51,000 >> Oké, a ravasz megfigyelő rájönnek, hogy több volt, mint 3 másodpercig ott. 875 00:46:51,000 --> 00:46:54,000 Ez az igazi működési idő. 876 00:46:54,000 --> 00:46:58,000 Kiderül, hogy időbe telik, hogy köpni sok szöveg-ből 877 00:46:58,000 --> 00:47:00,000 mert a puffer kérdések, de hosszú történet rövid, 878 00:47:00,000 --> 00:47:04,000 volt 3,15 másodperccel a gép idő, CPU időt, 879 00:47:04,000 --> 00:47:07,000 versus mi volt egy perce? 880 00:47:07,000 --> 00:47:09,000 Like .3. 881 00:47:09,000 --> 00:47:11,000 Úgy értem, ez egy nagyságrenddel lassabb, ezért hol van, hogy a 882 00:47:11,000 --> 00:47:14,000 Nevetséges lassulás jön? 883 00:47:14,000 --> 00:47:17,000 Nos, mint volt a helyzet a legtöbb bármilyen tervezési döntést hoztunk 884 00:47:17,000 --> 00:47:21,000 az osztály az elmúlt 9 hetes ott szinte mindig ilyen cserét. 885 00:47:21,000 --> 00:47:24,000 Néha csak a tér között, néha között térben és időben, 886 00:47:24,000 --> 00:47:27,000 tér, idő és fejlesztési erőfeszítések, sőt itt, bár 887 00:47:27,000 --> 00:47:31,000 megmentettük hatalmas mennyiségű időt, talán potenciálisan 10-20-30 óra 888 00:47:31,000 --> 00:47:34,000 A fejlesztési idő végrehajtása a helyesírás-ellenőrző 889 00:47:34,000 --> 00:47:36,000 által ostorozó fel mindössze 45 másodperc alatt ezen a nyelven 890 00:47:36,000 --> 00:47:40,000 az ára az, hogy ez egy nagyságrend lassabb ennek eredményeként, 891 00:47:40,000 --> 00:47:43,000 és ez általában a helyzet a legtöbb bármely értelmezett nyelv, 892 00:47:43,000 --> 00:47:46,000 PHP, Python, Ruby, Pearl vagy mások, amellyel 893 00:47:46,000 --> 00:47:49,000 ha akarsz futtatni tolmács segítségével, és azt olvassa a kódot 894 00:47:49,000 --> 00:47:52,000 soronként, felülről lefelé, balról jobbra, 895 00:47:52,000 --> 00:47:55,000 hogy a közvetítő fog tartani egy ideig a saját, 896 00:47:55,000 --> 00:47:59,000 és mit érzés itt a 3 másodperc, szemben a 0,3 másodperc 897 00:47:59,000 --> 00:48:02,000 az a tény, hogy ez a közvetítő, aki szó szerint értelmezi a kódot 898 00:48:02,000 --> 00:48:05,000 sorról sorra, és Isten őrizz, ha belül egy hurok 899 00:48:05,000 --> 00:48:08,000 egy hatalmas tartalmazó fájlt több százezer szavak. 900 00:48:08,000 --> 00:48:11,000 >> Ezt a felső fog hozzá, és add fel, és adjunk hozzá, és add fel. 901 00:48:11,000 --> 00:48:16,000 Egy eszköz, mint ez, hogy ez valószínűleg nem a legjobb nyelv használatát végrehajtási 902 00:48:16,000 --> 00:48:20,000 A helyesírás-ellenőrző, ha közvetlenség is érdekes, hogy a felhasználók és az Ön számára. 903 00:48:20,000 --> 00:48:23,000 De a luxus van egy pillanat, ha 904 00:48:23,000 --> 00:48:27,000 nyelvet használnak, mint a PHP vagy sok értelmezett nyelv 905 00:48:27,000 --> 00:48:30,000 keretében a weben, ami azt illeti, van az előny 906 00:48:30,000 --> 00:48:34,000 hogy az internet sokkal lassabb, mint a legtöbb számítógép. 907 00:48:34,000 --> 00:48:38,000 Van egy GHz CPU a számítógép, 2 GHz-es, talán még ezekben a napokban. 908 00:48:38,000 --> 00:48:41,000 De a valóság az interneten van egy nagy mennyiségű látencia 909 00:48:41,000 --> 00:48:45,000 amely a böngésző, hogy beszéljen a szerver, bár láttuk a múlt héten 910 00:48:45,000 --> 00:48:47,000 hogy elég gyors, egy fél milliszekundum, vagy úgy, 911 00:48:47,000 --> 00:48:51,000 ez is összeadja, és ha le dolgokat, mint egy kép 912 00:48:51,000 --> 00:48:54,000 vagy egy Facebook fénykép vagy kapok egy azonnali üzeneteket Facebook fecsegést, 913 00:48:54,000 --> 00:48:57,000 Gchat vagy a hasonló, az összes ilyen menettérti idő 914 00:48:57,000 --> 00:49:00,000 között, a böngésző és a szerver kezdet add fel, 915 00:49:00,000 --> 00:49:03,000 ami az adott választott nyelv sok esetben 916 00:49:03,000 --> 00:49:07,000 egyáltalán nem olyan fontos, szóval jól egy kicsit lassabb nyelv 917 00:49:07,000 --> 00:49:10,000 mint a PHP vagy Python vagy Ruby 918 00:49:10,000 --> 00:49:13,000 de amelynek vannak hatalmas upsides hogy Ön és kollégái 919 00:49:13,000 --> 00:49:17,000 és barátai, mert akkor végre dolgokat, így sokkal gyorsabb. 920 00:49:17,000 --> 00:49:20,000 Sőt, akkor sokkal kisebb a kockázata bizonyos biztonsági hibái. 921 00:49:20,000 --> 00:49:22,000 Nincs pointers PHP-ben. 922 00:49:22,000 --> 00:49:25,000 Nincs seg hiba, hogy könnyedén indukálni 923 00:49:25,000 --> 00:49:27,000 ugyanúgy tudna a C 924 00:49:27,000 --> 00:49:29,000 A C te szuper közel a hardvert. 925 00:49:29,000 --> 00:49:33,000 A PHP és hasonló nyelven te valami magasabb szintre, hogy úgy mondjam, 926 00:49:33,000 --> 00:49:37,000 sok védekező közted és mi ténylegesen folyik 927 00:49:37,000 --> 00:49:39,000 a gép belsejében, és ez csak egy üzlet. 928 00:49:39,000 --> 00:49:42,000 >> Kaptunk a pont, amelyek ezeket a modern, magas szintű nyelven 929 00:49:42,000 --> 00:49:47,000 mint a PHP, mert a tanulságok nyelven, mint a PHP-ben C. 930 00:49:47,000 --> 00:49:50,000 De ha nem érted, mi folyik a motorháztető alatt egész idő 931 00:49:50,000 --> 00:49:53,000 akkor biztosan nem tud a tervezési döntéseket, 932 00:49:53,000 --> 00:49:56,000 és természetesen, amikor a munka egy olyan helyen, mint a Facebook vagy a Google 933 00:49:56,000 --> 00:49:59,000 vagy bármely ezeken a helyeken, hogy az egyre inkább játszik nagy adathalmazok 934 00:49:59,000 --> 00:50:01,000 akkor is, ha visszamegyek, és nem gyakornok, és dolgozunk néhány MD 935 00:50:01,000 --> 00:50:04,000 A néhány nagy adatkészlet bevonásával betegek és az orvosok 936 00:50:04,000 --> 00:50:08,000 és hasonló a megfelelő eszközök is rendkívül meggyőző 937 00:50:08,000 --> 00:50:11,000 mert különben az elemzés egyes adathalmaz eltarthat másodpercig 938 00:50:11,000 --> 00:50:14,000 vagy esetleg szó szerint órákig. 939 00:50:14,000 --> 00:50:17,000 Ez csak egy példa, hogy nem meghiúsítsa az Ön számára, hogy sokkal több erőfeszítést 940 00:50:17,000 --> 00:50:21,000 ez volt a C, hanem, hogy segítsen értékelni, hogy amikor te végre valami C 941 00:50:21,000 --> 00:50:24,000 igazán érti, vagy elmélet, hogy valóban megértsék 942 00:50:24,000 --> 00:50:28,000 hogy minden, vagy ki kell dolgozni, és akkor már szinte teljes ellenőrzést 943 00:50:28,000 --> 00:50:31,000 át, mi folyik a motorháztető alatt, és ezek magasabb szintű nyelven 944 00:50:31,000 --> 00:50:34,000 van, hogy lemondjanak több ellenőrzés, hogy az emberek, akik kitalálták őket 945 00:50:34,000 --> 00:50:37,000 és ezekre inkább azok tervezési döntéseket, mint a tiéd. 946 00:50:37,000 --> 00:50:41,000 De ha magától értetődőnek, hogy a teljesítmény 947 00:50:41,000 --> 00:50:44,000 nem annyira fontos az interneten, mert ezeknek az egyéb kérdéseket, 948 00:50:44,000 --> 00:50:47,000 Csak hálózati sebesség egy kicsit lassabb, mint a CPU sebesség egyébként, 949 00:50:47,000 --> 00:50:50,000 így tudjuk rendezni az engedheti meg magának, hogy egy kicsit lassabb nyelv 950 00:50:50,000 --> 00:50:55,000 ha a upsides itt tudjuk fejleszteni a dolgokat 10-szer gyorsabb, vagy még több. 951 00:50:55,000 --> 00:50:57,000 >> Lássuk, hogyan tudjuk kezdeni ezzel. 952 00:50:57,000 --> 00:51:00,000 Hadd menjek be egy mappába 953 00:51:00,000 --> 00:51:03,000 napjaink példák nevű frosh.ims, 954 00:51:03,000 --> 00:51:06,000 és ez ténylegesen személyesen motiválta a tény, hogy a legelső dolog 955 00:51:06,000 --> 00:51:10,000 Írtam a webes éve miután CS50 és CS51 956 00:51:10,000 --> 00:51:14,000 volt a honlap a Frosh IMS-program, gólya intramurális sport, 957 00:51:14,000 --> 00:51:16,000 amely abban az időben ez elég volt évekkel ezelőtt, hogy az időben 958 00:51:16,000 --> 00:51:19,000 nem volt honlapja a program, bár volt egy Web, 959 00:51:19,000 --> 00:51:22,000 és helyette volt Proctor a Wigglesworth amellyel, ha akarod 960 00:51:22,000 --> 00:51:26,000 regisztrálni a röplabda vagy foci vagy bármi mást kíván, töltse ki az egy darab papír. 961 00:51:26,000 --> 00:51:28,000 Te aztán gyalog át az udvaron. 962 00:51:28,000 --> 00:51:31,000 Te aztán kopogtattak az ajtón, és csúsztassa a saját ajtaját, vagy kézzel a Proctor- 963 00:51:31,000 --> 00:51:34,000 egy darab papírt az Ön nevét rajta, vagy nem szeretné, hogy a csapatkapitány, 964 00:51:34,000 --> 00:51:37,000 milyen sport akartál csinálni, és mit kollégiumi voltál be 965 00:51:37,000 --> 00:51:39,000 Ez a fajta egy régi iskola módja a dolgok, és ez volt a legfontosabb 966 00:51:39,000 --> 00:51:41,000 alkalom automatizálni sok ezt a folyamatot. 967 00:51:41,000 --> 00:51:43,000 Csak megy a honlapon. Azt írja valami be 968 00:51:43,000 --> 00:51:46,000 Kapsz egy visszaigazoló e-mailben, és bumm, kész. 969 00:51:46,000 --> 00:51:49,000 >> Ez volt az első dolog, amit tettem, bár a nyelv úgynevezett Pearl, 970 00:51:49,000 --> 00:51:52,000 de ez viszonylag könnyen megoldható a PHP, és ez a fajta reprezentatív 971 00:51:52,000 --> 00:51:55,000 A probléma akkor kezdődik, amikor megoldásához tudja kifejezni magát 972 00:51:55,000 --> 00:51:58,000 programból, és nem kell támaszkodnia dolgok, mint például a Google webhelyein 973 00:51:58,000 --> 00:52:01,000 vagy Excel vagy szerszámokat, amelyek adni neked. 974 00:52:01,000 --> 00:52:03,000 Srácok, most már képes olyan dolgokat, mint ez. 975 00:52:03,000 --> 00:52:06,000 Ez egy szuper csúnya változatát egy űrlapot, 976 00:52:06,000 --> 00:52:09,000 De tételezzük fel, használja azt az elején a beszélgetés, amelyben ez a 977 00:52:09,000 --> 00:52:12,000 nagyjából milyen formában volt, mint évekkel ezelőtt nekünk 978 00:52:12,000 --> 00:52:14,000 annak érdekében, hogy az emberek az interneten, hogy iratkozzon fel Frosh PM. 979 00:52:14,000 --> 00:52:18,000 Megkérdeztük egy név, egy jelölőnégyzetet e vagy nem lenni kapitánynak, 980 00:52:18,000 --> 00:52:21,000 férfi vagy nő, és akkor mi kollégiumi voltak, 981 00:52:21,000 --> 00:52:23,000 és akkor fog benyújtani ezt a nyomtatványt. 982 00:52:23,000 --> 00:52:27,000 Nézzük először megvizsgálja a motorháztető alatt, a HTML, amely ezt a weboldalt. 983 00:52:27,000 --> 00:52:31,000 Hadd menjek be froshims0, 984 00:52:31,000 --> 00:52:35,000 és mint félre, mert Pset 7 veszem biztosra 985 00:52:35,000 --> 00:52:37,000 a könyvtárak és a mappák leteszem dolgokat be 986 00:52:37,000 --> 00:52:40,000 Majd végigvezeti hol dolog van, hogy menjen a készüléket, 987 00:52:40,000 --> 00:52:43,000 mely mod parancsokat kell futtatni, úgyhogy ne aggódj minden 988 00:52:43,000 --> 00:52:46,000 hülye details szinkronizálását-tól a get-go ide. 989 00:52:46,000 --> 00:52:49,000 >> Rendben, itt van froshims0.php. 990 00:52:49,000 --> 00:52:52,000 Hadd lapozzunk lefelé, és mi kíváncsi itt, 991 00:52:52,000 --> 00:52:56,000 ez egy PHP fájl, de mi van a belsejében, tisztán? 992 00:52:56,000 --> 00:52:59,000 Ez egy csomó HTML, és valóban, a PHP eredete 993 00:52:59,000 --> 00:53:02,000 tényleg voltak, hogy egy Web-központú nyelv. 994 00:53:02,000 --> 00:53:04,000 Egy pillanattal ezelőtt használta, hogy hajtsák végre a sör például, 995 00:53:04,000 --> 00:53:07,000 a feltételeket például a helló példa, és ez rendben van. 996 00:53:07,000 --> 00:53:11,000 Használhatja PHP egy programozási nyelv 997 00:53:11,000 --> 00:53:15,000 ahol a script tényleg csak a nómenklatúra adott egy gyors és piszkos programot 998 00:53:15,000 --> 00:53:19,000 vagy valami, hogy írsz egy előre megírt, vagy általában az értelmezett nyelv. 999 00:53:19,000 --> 00:53:22,000 PHP szuper hasznos, mert láttad, hogy milyen gyorsan 1000 00:53:22,000 --> 00:53:24,000 Viszonylag tudunk felkap programok PHP. 1001 00:53:24,000 --> 00:53:27,000 De ez tényleg tervezték, hogy kell használni az interneten, 1002 00:53:27,000 --> 00:53:31,000 és céljuk a webes abban az értelemben, hogy észre ide a tetején a fájl 1003 00:53:31,000 --> 00:53:34,000 Tudom kezdeni 00:53:38,000 Aztán van egy csomó haszontalan kommentek, megadják, de aztán közel PHP módot. 1005 00:53:38,000 --> 00:53:41,000 De aztán csepp HTML módba. 1006 00:53:41,000 --> 00:53:45,000 >> Mi érdekes PHP bár a fájl vége. Php 1007 00:53:45,000 --> 00:53:48,000 ez általában azt jelentette, hogy együtt keveredett HTML, 1008 00:53:48,000 --> 00:53:50,000 Néhány PHP kód, néhány HTML. 1009 00:53:50,000 --> 00:53:53,000 És majd meglátjuk, végül, hogy mi lehet kezdeni, hogy kötekedik azok egymástól 1010 00:53:53,000 --> 00:53:56,000 és folyamatosan a HTML külön a mi PHP teljesen, 1011 00:53:56,000 --> 00:53:59,000 de az eredete PHP valóban volt, hogy neked ez a rugalmasság, 1012 00:53:59,000 --> 00:54:02,000 hogy ha kérsz HTML csak írni, és hogy lesz 1013 00:54:02,000 --> 00:54:04,000 kiköp azonos a böngészőben. 1014 00:54:04,000 --> 00:54:07,000 De ha szükség van néhány programozási technika, 1015 00:54:07,000 --> 00:54:12,000 Néhány programozási kódot, akkor is tedd be a pontosan ugyanolyan fájlt, ahogy azt hamarosan látni. 1016 00:54:12,000 --> 00:54:14,000 Itt a HTML. 1017 00:54:14,000 --> 00:54:16,000 Van egy címet ezt Frosh PM. 1018 00:54:16,000 --> 00:54:20,000 Van egy body tag, aki kapott néhány CSS rajta középre mindent a közepén, 1019 00:54:20,000 --> 00:54:23,000 aztán itt lent van olyan formában, amely látszólag fog benyújtani 1020 00:54:23,000 --> 00:54:27,000 egy új nevű fájlt register0.php, úgyhogy majd meglátjuk, hogy egy pillanatra. 1021 00:54:27,000 --> 00:54:31,000 Ez olyan módszerrel, az úgynevezett post, ami akkor jön vissza is. 1022 00:54:31,000 --> 00:54:34,000 Aztán valamilyen formában bemenettel, egy úgynevezett nevét, akinek típusú szöveg, 1023 00:54:34,000 --> 00:54:37,000 akinek neve kapitány, amelynek típusa jelölőnégyzetet, 1024 00:54:37,000 --> 00:54:40,000 és ez az, amit még nem láttam korábban, de ez pontosan mit mond. 1025 00:54:40,000 --> 00:54:42,000 Kapsz egy jelölőnégyzet helyett a szövegdobozban. 1026 00:54:42,000 --> 00:54:46,000 Itt lent van egy rádiógomb, amely egyike azoknak a kör gomb 1027 00:54:46,000 --> 00:54:48,000 hogy akkor sem ezt választja, vagy hogy az egyik. 1028 00:54:48,000 --> 00:54:52,000 >> Figyelje, hogy ez szándékos, hogy én adtam a két rádiógombok nevét nemek. 1029 00:54:52,000 --> 00:54:55,000 Így kapsz kölcsönös kizárás, amellyel rá kell kattintani 1030 00:54:55,000 --> 00:54:58,000 vagy ez, vagy hogy az egyik, és kattintson a többi 1031 00:54:58,000 --> 00:55:01,000 akkor törli a jelet a másik, így van, hogy nekik ugyanazt a nevet 1032 00:55:01,000 --> 00:55:03,000 ha azt szeretné, hogy kölcsönösen kizárják egymást, mint ezt. 1033 00:55:03,000 --> 00:55:07,000 És akkor a kollégiumi, nem hiszem, láttunk még, de ez egy választó menü, a legördülő menüből. 1034 00:55:07,000 --> 00:55:09,000 A címke mert ez válasszuk. 1035 00:55:09,000 --> 00:55:11,000 Ezután megkapjuk a legördülő menüből egy nevet, 1036 00:55:11,000 --> 00:55:13,000 és akkor van egy csomó ezeket a lehetőségeket. 1037 00:55:13,000 --> 00:55:16,000 Az első, csak az esztétika, egy üres string. 1038 00:55:16,000 --> 00:55:20,000 Csak azt akartam, hogy a legördülő legyen üres alapértelmezés szerint, 1039 00:55:20,000 --> 00:55:22,000 és akkor ott van Apley, Canaday, Grays, és így tovább. 1040 00:55:22,000 --> 00:55:24,000 És észre a kettősség itt. 1041 00:55:24,000 --> 00:55:27,000 Az opció a legördülő értéke, 1042 00:55:27,000 --> 00:55:30,000 de akkor annak van egy ember-barát név, ami ebben a példában 1043 00:55:30,000 --> 00:55:33,000 azonos, de ha igazán szeretett volna lenni az anális mi lehetett volna 1044 00:55:33,000 --> 00:55:36,000 ennek az értékét legördülő csak legyen a rövid változat, 1045 00:55:36,000 --> 00:55:39,000 Grays, de tényleg mondani Grays Csarnok, hogy az ember lát, 1046 00:55:39,000 --> 00:55:43,000 de ez nem olyan érdekes, úgyhogy csak folyamatosan egyszerű és tette őket azonos. 1047 00:55:43,000 --> 00:55:46,000 Aztán meg az alján van egy submit gomb 1048 00:55:46,000 --> 00:55:49,000 amelyek láttuk korábban, de észre én csak adtam egy másik szót. 1049 00:55:49,000 --> 00:55:53,000 Ahelyett CS50 keresési adtam a címke "Regisztráció". 1050 00:55:53,000 --> 00:55:56,000 >> A végeredmény ez a honlap itt, és újra, 1051 00:55:56,000 --> 00:56:00,000 amennyiben ez kap benyújtani? 1052 00:56:00,000 --> 00:56:04,000 Egyre benyújtott néhány fájl, az érték a kereset attribútum, 1053 00:56:04,000 --> 00:56:07,000 amely register0.php. 1054 00:56:07,000 --> 00:56:09,000 Lássuk, mi is történik itt. 1055 00:56:09,000 --> 00:56:13,000 Hadd menjek előre, és töltse ki az űrlapot, mondjuk David, 1056 00:56:13,000 --> 00:56:16,000 férfi, Matthews, majd azt mondom regisztráljon. 1057 00:56:16,000 --> 00:56:18,000 Hadd kicsinyítés és kattintson regisztráljon. 1058 00:56:18,000 --> 00:56:22,000 Oké, szóval ilyen haszontalan, de lássuk, mi folyik itt valójában. 1059 00:56:22,000 --> 00:56:26,000 Figyelje meg, hogy az URL-címet változott, hogy register0.php. 1060 00:56:26,000 --> 00:56:34,000 Mi kíváncsian hiányzik az URL-címet, bár, bár mi csak benyújtotta a formában? 1061 00:56:34,000 --> 00:56:37,000 [Hallhatatlan hallgatói válasz] 1062 00:56:37,000 --> 00:56:39,000 Oké, ez csak a Chrome, hogy felhasználóbarát ezekben a napokban. 1063 00:56:39,000 --> 00:56:42,000 Ez tényleg ott van. Ők csak elrejteni helyet takaríthat meg. 1064 00:56:42,000 --> 00:56:44,000 De jó gondolat, jó gondolat. 1065 00:56:44,000 --> 00:56:46,000 Felé a másik végét az URL-címet, bár, mi hiányzik? Igen. 1066 00:56:46,000 --> 00:56:48,000 [Student] A query string. 1067 00:56:48,000 --> 00:56:51,000 A query string, így felidézni a mi egyszerű Google-keresés példákat. 1068 00:56:51,000 --> 00:56:54,000 Amint kattintson az elküld gombra az URL-címet 1069 00:56:54,000 --> 00:57:00,000 elvitt a Google, de akkor ott volt? q = számítógép-tudomány, vagy bármi én gépelt be 1070 00:57:00,000 --> 00:57:04,000 Ez azért van, mert mi használtuk get módszer a keresési példa. 1071 00:57:04,000 --> 00:57:06,000 >> Ezúttal mi és milyen módszer helyett? 1072 00:57:06,000 --> 00:57:10,000 Tegye fel, és az egyik a közvetlen megkülönböztetés 1073 00:57:10,000 --> 00:57:14,000 közötti kap, és írjon, hogy tegye nem tesz a felhasználó bemenet az URL-címet. 1074 00:57:14,000 --> 00:57:16,000 Ez elrejti azt. Még mindig elküldi. 1075 00:57:16,000 --> 00:57:19,000 Tény, hogy amit látunk a böngészőben itt, mivel mi derül ki egy pillanat 1076 00:57:19,000 --> 00:57:22,000 által nézett register0, az Én csak látni a tartalmát 1077 00:57:22,000 --> 00:57:25,000 A tömb nyújtották be a böngészőből a szerverre. 1078 00:57:25,000 --> 00:57:29,000 De az URL nincs?, Nincs kulcsszavak 1079 00:57:29,000 --> 00:57:31,000 vagy értékek, és miért van ez? 1080 00:57:31,000 --> 00:57:35,000 Nos, tegye lehetővé teszi, hogy még be adatokat az űrlapot a szerver, 1081 00:57:35,000 --> 00:57:38,000 de nem tette be az URL-címet, így milyen információk után 1082 00:57:38,000 --> 00:57:41,000 különösen alkalmas talán, ha kéred, hogy a felhasználó 1083 00:57:41,000 --> 00:57:44,000 írja bemeneti formában? 1084 00:57:44,000 --> 00:57:48,000 Olyasmi, mint egy jelszó, vagy valami ilyesmi, mi mást? 1085 00:57:48,000 --> 00:57:50,000 Hitelkártya-számokat. 1086 00:57:50,000 --> 00:57:53,000 Bármi, ami enyhén érzékeny, akkor valószínűleg nem akar véget fel az URL-címet 1087 00:57:53,000 --> 00:57:56,000 ha csak azért, mert ez azt jelenti, a szobatársad vagy családtag egyszerűen troll keresztül 1088 00:57:56,000 --> 00:57:59,000 az internet történetét, majd szó szerint látni jelszavait, 1089 00:57:59,000 --> 00:58:02,000 szó szerint lásd a hitelkártya-számokat, mert a legtöbb böngésző 1090 00:58:02,000 --> 00:58:05,000 emlékszik a történelem bármilyen URL voltál at, 1091 00:58:05,000 --> 00:58:09,000 így ha csak azért, mert lenne egy rossz ötlet. 1092 00:58:09,000 --> 00:58:11,000 A hozzászólás nyersbőr, hogy részletesen a felhasználó. 1093 00:58:11,000 --> 00:58:14,000 >> Továbbá, hogyan lehet feltölteni egy fényképet a Facebook? 1094 00:58:14,000 --> 00:58:17,000 Nos, az csak 2 mechanizmusok igazán használni, 1095 00:58:17,000 --> 00:58:21,000 bár van néhány más, misztikus is, az kap, és írjon. 1096 00:58:21,000 --> 00:58:26,000 Hogyan lehetséges feltölteni egy fényképet keresztül URL? 1097 00:58:26,000 --> 00:58:28,000 Tudod valójában csinálni. 1098 00:58:28,000 --> 00:58:30,000 Tudod hogy egy JPEG vagy bitkép vagy GIF és akkor képviseli azt hexadecimális 1099 00:58:30,000 --> 00:58:32,000 vagy valami úgynevezett bázis 64. 1100 00:58:32,000 --> 00:58:35,000 Ahelyett, hogy 16 alap használata alap 64, amely lényegében úgy néz ki, mint a 1101 00:58:35,000 --> 00:58:38,000 ASCII karaktereket, és akkor tényleg feltölteni egy fényképet keresztül URL 1102 00:58:38,000 --> 00:58:41,000 után egy kérdőjel, de általában megengedett méretet. 1103 00:58:41,000 --> 00:58:44,000 A legtöbb böngésző kényszeríteni URL-eket nem lehet több, mint 1000 karakter, 1104 00:58:44,000 --> 00:58:47,000 talán 2000 karakter vagy hasonlók, így nem lehet feltölteni 1105 00:58:47,000 --> 00:58:50,000 A 10 MB Facebook fotó. 1106 00:58:50,000 --> 00:58:54,000 Mert, hogy használja hozzászólás is, így most kap helyezi a paraméterek az URL-ben, 1107 00:58:54,000 --> 00:58:57,000 ami szép és hasznos néha, de semmit érzékeny vagy nagy 1108 00:58:57,000 --> 00:58:59,000 post az út. 1109 00:58:59,000 --> 00:59:02,000 Mit register0 valójában csinál itt? 1110 00:59:02,000 --> 00:59:05,000 Hát, ha nyit register0 észre, hogy ez egy szuper egyszerű oldal, 1111 00:59:05,000 --> 00:59:09,000 de ez bizonyítja az a tény, hogy én is együtt keveredik, a jobb vagy rosszabb, 1112 00:59:09,000 --> 00:59:12,000 HTML PHP. 1113 00:59:12,000 --> 00:59:15,000 Ez az egész fájlt, kivéve a megjegyzések a tetején, a HTML 1114 00:59:15,000 --> 00:59:19,000 kivéve ez a fickó itt. 1115 00:59:19,000 --> 00:59:22,000 >> Figyeljük meg a közepén a saját PHP kód, 1116 00:59:22,000 --> 00:59:26,000 közepén a HTML, van valami átmenetileg 1117 00:59:26,000 --> 00:59:28,000 belépett PHP módba. 1118 00:59:28,000 --> 00:59:31,000 Hívom a speciális funkciót nevű print r. 1119 00:59:31,000 --> 00:59:34,000 Ez azt jelenti, nyomtatás rekurzív, és mit csinál ez rekurzív nyomtat 1120 00:59:34,000 --> 00:59:38,000 bármilyen változót adja le, pontosvessző, exit PHP módot. 1121 00:59:38,000 --> 00:59:40,000 És a pre tag ad előre formázott szöveget, 1122 00:59:40,000 --> 00:59:43,000 mono tér szöveget úgy, hogy minden hely, akkor valóban látni azt. 1123 00:59:43,000 --> 00:59:46,000 Ez nem tűnik el. Mi az a poszt? 1124 00:59:46,000 --> 00:59:48,000 Nos, mi érdekes és vonzó a PHP-ről 1125 00:59:48,000 --> 00:59:52,000 az, hogy amikor be űrlapot kap, vagy postai úton 1126 00:59:52,000 --> 00:59:56,000 bármit, ami benyújtott Önnek a böngésző 1127 00:59:56,000 --> 01:00:00,000 PHP maga kitalálja, hogy mi a kulcs érték párok, 1128 01:00:00,000 --> 01:00:02,000 kitalálja, ha van azonos jeleket, számokat, ha van egy kérdőjel. 1129 01:00:02,000 --> 01:00:07,000 Ez nem a kemény munka az Ön számára, és akkor odaadja neked egy asszociatív tömbben 1130 01:00:07,000 --> 01:00:10,000 tartalmaz mindent, ami a felhasználó beírt a formában. 1131 01:00:10,000 --> 01:00:12,000 Nos, mi nem ezt az űrlapot területeken van? 1132 01:00:12,000 --> 01:00:14,000 >> Meg kellett 4 mezőket. 1133 01:00:14,000 --> 01:00:16,000 Az egyik egy szöveges mező nevű nevét. 1134 01:00:16,000 --> 01:00:18,000 Az egyik egy négyzetet nevű kapitány. 1135 01:00:18,000 --> 01:00:22,000 Az egyik egy rádiógomb nevű nemi, 1136 01:00:22,000 --> 01:00:24,000 volt, egy legördülő menü nevű kollégiumi, 1137 01:00:24,000 --> 01:00:27,000 úgyhogy észre, amikor nyomtatni rekurzív 1138 01:00:27,000 --> 01:00:29,000 tartalmát e különleges változó. 1139 01:00:29,000 --> 01:00:34,000 Ez egy speciális globális változó neve szó szerint $ _POST, minden sapkák. 1140 01:00:34,000 --> 01:00:39,000 Ez egy speciális globális változó, hogy a PHP csak teremt az Ön számára 1141 01:00:39,000 --> 01:00:42,000 és a kéz neked, hogy el tudja érni mindent 1142 01:00:42,000 --> 01:00:45,000 küldtünk el egy űrlapon keresztül a felhasználó által. 1143 01:00:45,000 --> 01:00:48,000 És hívja print r rajta, akkor nem ezt a normál alkalmazás. 1144 01:00:48,000 --> 01:00:50,000 Megcsináljuk ezt látni belül ez a változó, 1145 01:00:50,000 --> 01:00:53,000 és mi van benne, nos, 4 kulcs, 1146 01:00:53,000 --> 01:00:56,000 4 http paraméterek, hogy úgy mondjam, 1147 01:00:56,000 --> 01:00:59,000 neve, kapitány, nem, kollégiumban, majd az értékeket, hogy a felhasználói 1148 01:00:59,000 --> 01:01:01,000 beírt egy kivétellel. 1149 01:01:01,000 --> 01:01:03,000 Én típusa D-A-V-I-D. 1150 01:01:03,000 --> 01:01:05,000 Megnéztem a dobozt, bár a férfi, ami nyilvánvalóan be egy értéket 1151 01:01:05,000 --> 01:01:07,000 mindössze m legyen tömör. 1152 01:01:07,000 --> 01:01:10,000 >> Amikor a kijelölt Matthews, hogy ez az érték, hogy van kiválasztva, 1153 01:01:10,000 --> 01:01:12,000 és ez egy kicsit hülye, de ez az egyezmény. 1154 01:01:12,000 --> 01:01:17,000 Amikor megnéztem a dobozt, akkor az érték be, "a" kapott be a jelölőnégyzetet. 1155 01:01:17,000 --> 01:01:21,000 Ha még nem ellenőrizte azt, nem érték volna elküldött nélkül. 1156 01:01:21,000 --> 01:01:26,000 Ez csak ad nekünk betekintést, mi van benne E különleges globális változó, 1157 01:01:26,000 --> 01:01:29,000 és ez olyan különleges, hogy ez az úgynevezett szuper globális változót. 1158 01:01:29,000 --> 01:01:33,000 Létezik mindenhol tartozó kódot, így tényleg hozzáférni. 1159 01:01:33,000 --> 01:01:36,000 Ez nem olyan meggyőző, úgyhogy valóban használja a szuper globális 1160 01:01:36,000 --> 01:01:38,000 és valóban megpróbálja regisztrálni valakit. 1161 01:01:38,000 --> 01:01:41,000 Az froshims1 fogok, hogy egy változás. 1162 01:01:41,000 --> 01:01:44,000 Én megváltoztatja a keresetet register1.php, 1163 01:01:44,000 --> 01:01:46,000 és csinálok egy másik dolog. 1164 01:01:46,000 --> 01:01:48,000 Én kedves volt zavarba minősége honlapomon ott. 1165 01:01:48,000 --> 01:01:52,000 Elég undorító, őszintén, így kiderül, 1166 01:01:52,000 --> 01:01:56,000 amelyek segítségével nagyon könnyen az interneten 1167 01:01:56,000 --> 01:01:59,000 mások JavaScript kódot, más emberek CSS 1168 01:01:59,000 --> 01:02:02,000 hogy már írt és nyílt forráskódú és elérhetővé tenni, mint egy könyvtár, 1169 01:02:02,000 --> 01:02:06,000 hogy úgy mondjam, és például, itt vagyok egy szabadon rendelkezésre álló könyvtár, 1170 01:02:06,000 --> 01:02:08,000 egy csomó kódot, hogy valaki más írta. 1171 01:02:08,000 --> 01:02:11,000 >> Twitter történt írni ezt a kódot, és ez az úgynevezett bootstrap könyvtár, 1172 01:02:11,000 --> 01:02:15,000 és ez csak egy csomó CSS ​​stíluslapok, egy rakás. css fájlt 1173 01:02:15,000 --> 01:02:19,000 hogy valaki más írta és rájöttek, hogyan lehet mindent szép és csinos 1174 01:02:19,000 --> 01:02:22,000 hogy az emberek, mint mi is aggódni egy kicsit kevésbé a esztétika és a fókusz sokkal 1175 01:02:22,000 --> 01:02:24,000 A logika és a tényleges programozás. 1176 01:02:24,000 --> 01:02:30,000 Azáltal, összekapcsolva azt be, hogy a tag, amely ugyanazt a címkét szoktam emlékezni styles3.css korábban 1177 01:02:30,000 --> 01:02:34,000 Most hozzáférhetnek nevű fájlt bootstrap.min.css. 1178 01:02:34,000 --> 01:02:37,000 Min csak azt jelenti, hogy már minified, és ők már ütött megszabadulni az összes white space és így tovább 1179 01:02:37,000 --> 01:02:40,000 Csak, hogy megbizonyosodjon arról, hogy nem küld nekem több bájt, mint amit ténylegesen szüksége van. 1180 01:02:40,000 --> 01:02:45,000 De van egy csomó CSS, tehát ha most nyit az 1-es verzióját Frosh PM 1181 01:02:45,000 --> 01:02:49,000 észre, hogy a fájl biztosan szebb. 1182 01:02:49,000 --> 01:02:54,000 Most még csak fekete-fehér, hanem észrevenni, hogy csak használ a stíluslap 1183 01:02:54,000 --> 01:02:58,000 és használata bizonyos funkciói a számítógépre formában ez nem csodálatos, 1184 01:02:58,000 --> 01:03:01,000 de ez határozottan tisztább, mint korábban volt, és a projektor nem csinálja igazságszolgáltatás. 1185 01:03:01,000 --> 01:03:05,000 Kevés szürke vonalak körül a gombok és az egész szövegmező itt, 1186 01:03:05,000 --> 01:03:07,000 de ez határozottan tisztább, mint korábban volt. 1187 01:03:07,000 --> 01:03:09,000 >> Most, tisztesség, tudtam meg kell változtatni a jelölés egy kicsit. 1188 01:03:09,000 --> 01:03:12,000 Ez az 1-es verzióját, és vegyük észre, hogy én már használt néhány új tag, 1189 01:03:12,000 --> 01:03:17,000 és őszintén szólva, fogalmam sem volt, hogyan kell ezt csinálni, amíg nem olvassa el a dokumentációt 1190 01:03:17,000 --> 01:03:20,000 A Twitter bootstrap könyvtár, és azt mondták nekem, ha azt szeretnénk, hogy használja a könyvtári 1191 01:03:20,000 --> 01:03:23,000 használata fieldset elem belsejében formában, 1192 01:03:23,000 --> 01:03:27,000 helyezze a kívánt szót mellett megmutatja mező belsejében egy címke tag, 1193 01:03:27,000 --> 01:03:30,000 majd adja meg a bemenetet egy nevet, mint korábban, 1194 01:03:30,000 --> 01:03:34,000 majd a jelölőnégyzetet, nem csak te csavarja be egy címke elem, 1195 01:03:34,000 --> 01:03:36,000 használ egy úgynevezett osztály, így még nem láttam ilyet, 1196 01:03:36,000 --> 01:03:39,000 de akkor látja ezt az egyik Pset 7-es nadrág. 1197 01:03:39,000 --> 01:03:43,000 Egy osztály CSS segítségével csinálj valamit nagyon hasonló az ID, 1198 01:03:43,000 --> 01:03:46,000 de mielőtt amikor volt egy azonosítót a # jelet 1199 01:03:46,000 --> 01:03:48,000 hogy volt egy és csak egy elem. 1200 01:03:48,000 --> 01:03:51,000 Mi a jó egy osztály, hogy több elem is lehet az azonos osztályú 1201 01:03:51,000 --> 01:03:54,000 vagy az azonos CSS dolgokat alkalmazva. 1202 01:03:54,000 --> 01:03:57,000 >> De ismétlem, inkább azok a rövid, és a többi ez csak másol és tészta 1203 01:03:57,000 --> 01:04:00,000 a saját dokumentációját, ahol adtam egy címke itt-ott. 1204 01:04:00,000 --> 01:04:03,000 És a végén, mert már tartalmazza a link tag a tetején, 1205 01:04:03,000 --> 01:04:06,000 Mindent úgy néz ki, csinosabb automatikusan 1206 01:04:06,000 --> 01:04:10,000 egyszerűen miután jelölt oldalam oly módon, hogy 1207 01:04:10,000 --> 01:04:12,000 Twitter várható, és van olyan sok különböző módon 1208 01:04:12,000 --> 01:04:14,000 Az ezt, és ez valóban nagyon megfelelő. 1209 01:04:14,000 --> 01:04:17,000 Ezen a ponton a félévben, mint látni fogod a Pset 7-es spec, 1210 01:04:17,000 --> 01:04:20,000 Googling körül, olvassa fel a könyvtárakban, a más emberek CSS 1211 01:04:20,000 --> 01:04:23,000 és a JavaScript megoldani járulékos problémák 1212 01:04:23,000 --> 01:04:26,000 A probléma halmaz maga bizonnyal ösztönzik és az út 1213 01:04:26,000 --> 01:04:29,000 A Web épül ezekben a napokban, az állva más emberek vállára 1214 01:04:29,000 --> 01:04:32,000 így valóban összpontosítani új és érdekes problémákat. 1215 01:04:32,000 --> 01:04:34,000 De nézzük most összpontosítani, megint csak a logika. 1216 01:04:34,000 --> 01:04:38,000 >> Ez egy gyors kitérőt az esztétika, csak, hogy mutassa meg az irányt, amelyben mehetsz. 1217 01:04:38,000 --> 01:04:40,000 Fogok visszatérni a csúnyább 1 most csak azért, mert 1218 01:04:40,000 --> 01:04:44,000 nincs zavaró Twitter cucc, és hadd menjen előre, és nyissa ki 1219 01:04:44,000 --> 01:04:51,000 froshims2, amely ismét különbözik csak az akció, register2.php, 1220 01:04:51,000 --> 01:04:55,000 és vessünk egy pillantást, milyen hatása van. 1221 01:04:55,000 --> 01:04:57,000 Hadd menjek előre, és írja be David. 1222 01:04:57,000 --> 01:04:59,000 Nem leszek kapitány ebben az időben. 1223 01:04:59,000 --> 01:05:01,000 Azt mondom férfi, Matthews, nyilvántartásba. 1224 01:05:01,000 --> 01:05:05,000 A francba. Oké, ez egy csavar ki a részemről. 1225 01:05:05,000 --> 01:05:07,000 Készenlét. 1226 01:05:07,000 --> 01:05:17,000 Register2, line 22, ha üres vagy, sajnálom. 1227 01:05:17,000 --> 01:05:19,000 Nézzük újra. 1228 01:05:19,000 --> 01:05:22,000 Oké, upon benyújtásával ezt az űrlapot, mi történt? 1229 01:05:22,000 --> 01:05:25,000 Én beírt David, kockás férfi, kattintott Matthews, nyilvántartásba. 1230 01:05:25,000 --> 01:05:27,000 Ön regisztrálva van. (Nos, nem igazán.) 1231 01:05:27,000 --> 01:05:32,000 Ez nyilvánvalóan egy lépés nem csupán kinyomtatott tartalmát néhány változó, 1232 01:05:32,000 --> 01:05:34,000 de mi ez a fájl valójában csinál? 1233 01:05:34,000 --> 01:05:37,000 In register2.php 1234 01:05:37,000 --> 01:05:40,000 észre, hogy van valami új kódot. 1235 01:05:40,000 --> 01:05:44,000 Belül a testem tag van alapvetően, ha más konstrukció, 1236 01:05:44,000 --> 01:05:47,000 hanem azért, mert én együtt keveredés ezt néhány HTML 1237 01:05:47,000 --> 01:05:51,000 Meg kell be-és kilépéshez PHP mód oda-vissza, úgyhogy lássuk, mit csinálok. 1238 01:05:51,000 --> 01:05:55,000 >> Az első sorban itt azt mondom, ha ez a helyzet 1239 01:05:55,000 --> 01:06:00,000 hogy a poszt szuper globális üres a kulcs nevét, 1240 01:06:00,000 --> 01:06:04,000 Más szóval, ha a felhasználó nem ad meg egy értéket nevet a formában, 1241 01:06:04,000 --> 01:06:07,000 akkor üres megy vissza igaz, mert az érték üres. 1242 01:06:07,000 --> 01:06:11,000 Vagy-észre a függőleges vonalak, ha a nemek közötti üres 1243 01:06:11,000 --> 01:06:15,000 belül a különleges szuper globális, ami ismét képviseli a tartalmát a forma, 1244 01:06:15,000 --> 01:06:19,000 vagy a kollégiumi üres, akkor én megyek előre, és kiabálni a felhasználót. 1245 01:06:19,000 --> 01:06:22,000 Hogyan? Hát, észre fogom mondani, meg kell adnia a nevét, a nemek és a kollégium. 1246 01:06:22,000 --> 01:06:24,000 Nézzük ténylegesen indukálják ezt a hibát. 1247 01:06:24,000 --> 01:06:27,000 Hadd menjek vissza a formában. Hadd töltse be újra, hogy törölje azt. 1248 01:06:27,000 --> 01:06:30,000 És én csak megy, hogy nekik David, és nem kell tudni, hogy hol lakom. 1249 01:06:30,000 --> 01:06:33,000 Regisztráció. Úgy tűnik, nekem kell mondanom nekik, ahol élek. 1250 01:06:33,000 --> 01:06:35,000 Meg kell adnia a nevét, a nemek és a kollégiumban. Menj vissza. 1251 01:06:35,000 --> 01:06:39,000 >> És tudtam kattintva vissza, hogy a forma, de miért van ez? 1252 01:06:39,000 --> 01:06:43,000 Nos, ebben az esetben a neve ennek ellenére nem üres, de a nemek közötti volt, és kollégiumi volt, 1253 01:06:43,000 --> 01:06:47,000 így ez az egész kifejezés értéke true, és bár a szintaxis egy kicsit új, 1254 01:06:47,000 --> 01:06:51,000 újra belépünk PHP módba, ismerős if, 1255 01:06:51,000 --> 01:06:54,000 de az új rész itt csak ez a vastagbél-, és én elszúrtam elhagyásával a zárójel 1256 01:06:54,000 --> 01:06:57,000 véletlenül, de észre a vastagbél, és ez azt jelenti, 1257 01:06:57,000 --> 01:07:00,000 bár mi kilépéskor PHP módot minden 1258 01:07:00,000 --> 01:07:03,000 hogy a következőképpen kell kiköp szó, hogy a böngésző 1259 01:07:03,000 --> 01:07:07,000 amíg meg nem jelenik egy mást tömb, mint mi itt, 1260 01:07:07,000 --> 01:07:10,000 ebben az esetben ehelyett köpni ezt meg 1261 01:07:10,000 --> 01:07:13,000 amíg meg nem jelenik a endif, így néhány enyhén új szintaxis 1262 01:07:13,000 --> 01:07:16,000 , amely lehetővé teszi számomra, hogy váltás a HTML és PHP. 1263 01:07:16,000 --> 01:07:19,000 Mi lehet tisztítani ezt fel végül, de most, 1264 01:07:19,000 --> 01:07:22,000 ez egyfajta kényszerítő módon hibaellenőrzést az űrlapot. 1265 01:07:22,000 --> 01:07:25,000 >> Most azt mondom, hogy nem igazán nyilvántartásba, mert nyilván tettünk semmit, csak az adatokat, 1266 01:07:25,000 --> 01:07:28,000 úgyhogy valóban megpróbál tenni valamit cool. 1267 01:07:28,000 --> 01:07:33,000 A froshims3 az egyetlen különbség, hogy én megyek be register3, 1268 01:07:33,000 --> 01:07:35,000 így a HTML van az ugyanaz. 1269 01:07:35,000 --> 01:07:38,000 Ebben register3 észre ezt. 1270 01:07:38,000 --> 01:07:40,000 Ez egy ilyen szexi. 1271 01:07:40,000 --> 01:07:44,000 A tetején Én használ egy require nyilatkozatot, így ez olyan, mint a # include. 1272 01:07:44,000 --> 01:07:46,000 Ezúttal ez nem stdio.h vagy ilyesmi. 1273 01:07:46,000 --> 01:07:50,000 Ez egy PHP könyvtárat, és ez az úgynevezett PHPMailer. 1274 01:07:50,000 --> 01:07:53,000 Honnan tudom, hogy fel pontosan ezt idézett szöveg? 1275 01:07:53,000 --> 01:07:56,000 Olvastam a dokumentációban, így amikor azt mondták nekem, hogy ezt a tetején a fájl 1276 01:07:56,000 --> 01:08:00,000 ha szeretné használni a speciális könyvtári nevű PHPMailer, hogy azt teszi, amit mond. 1277 01:08:00,000 --> 01:08:03,000 Ez lehetővé teszi, hogy küldjön e-mailt keresztül PHP. 1278 01:08:03,000 --> 01:08:05,000 Most lapozzunk lefelé tovább. 1279 01:08:05,000 --> 01:08:08,000 >> Közlemény kezdődik vagyok PHP módban egész idő alatt, 1280 01:08:08,000 --> 01:08:11,000 így most észre idelent importálása után a könyvtár, 1281 01:08:11,000 --> 01:08:13,000  hogy úgy mondjam, csinálok néhány alapvető ellenőrzést. 1282 01:08:13,000 --> 01:08:16,000 Ha ez a helyzet, hogy neve nem üres 1283 01:08:16,000 --> 01:08:19,000 és a nemek nem üres észre a felkiáltójel- 1284 01:08:19,000 --> 01:08:24,000 és kollégiumi nem üres, akkor a felhasználó logikusan töltötte ki az űrlapot, legalábbis elég. 1285 01:08:24,000 --> 01:08:28,000 Nem érdekel, ha ők kapitány vagy sem. Csak kell a nevüket, a nemek és a kollégiumban. 1286 01:08:28,000 --> 01:08:31,000 Ha kitöltötte azokat ki, hogy ezek egyike sem mezők üresek 1287 01:08:31,000 --> 01:08:33,000 ez némileg új szintaxist. 1288 01:08:33,000 --> 01:08:36,000 PHP, mint félre, egy objektum-orientált programozási nyelv 1289 01:08:36,000 --> 01:08:39,000 amelyek közül néhány a srácok lehet előhívni APC-k vagy hasonló. 1290 01:08:39,000 --> 01:08:42,000 Mert most, ha ismeretlen, csak tudom, hogy használja ezt a könyvtárat 1291 01:08:42,000 --> 01:08:45,000 Van, hogy írjon egy sort, mint ez egy új kulcsszót, 1292 01:08:45,000 --> 01:08:47,000 a szó szoros értelmében egy új kulcsszót nevű új. 1293 01:08:47,000 --> 01:08:50,000 De azon túl, hogy van néhány ismerős szintaxist. 1294 01:08:50,000 --> 01:08:54,000 Ez egy operátort, amely hasonló ahhoz, amit használt struktúrákat keretében mutatók. 1295 01:08:54,000 --> 01:08:57,000 A mai PHP nem mutató, 1296 01:08:57,000 --> 01:09:01,000 de tudom, most, hogy belül az e-mail változó 1297 01:09:01,000 --> 01:09:05,000 lényegében egyfajta mutató egy speciális könyvtári 1298 01:09:05,000 --> 01:09:08,000 hogy valaki más írta, és ha azt akarom, hogy hozzáférjen bizonyos funkciók 1299 01:09:08,000 --> 01:09:12,000 belül, hogy a könyvtári én, mint a C-ben, a nyíl üzemeltető, 1300 01:09:12,000 --> 01:09:14,000 annak ellenére, hogy ezek valójában nem mutatók. 1301 01:09:14,000 --> 01:09:16,000 Ez a fajta PHP saját verzióját cikke. 1302 01:09:16,000 --> 01:09:20,000 Ez azt jelenti, menj be a könyvtárba, és hívja a IsSMTP funkciót. 1303 01:09:20,000 --> 01:09:23,000 SMTP, visszahívás, a mi Warriors a Net utal e-mailbe, 1304 01:09:23,000 --> 01:09:28,000 és ez csak azt jelenti, használjon e-mail kiszolgáló erre Frosh PM regisztráció. 1305 01:09:28,000 --> 01:09:30,000 >> Mit host akarok használni? 1306 01:09:30,000 --> 01:09:34,000 Nos, Harvard, ha a Google körül, van egy e-mail szerverhez nevű smtp.fas.harvard.edu. 1307 01:09:34,000 --> 01:09:37,000 Ha játszol végig otthon vagy élsz a Comcast hálózaton 1308 01:09:37,000 --> 01:09:40,000 lehet, hogy valami ilyesmi smtp.comcast.net. 1309 01:09:40,000 --> 01:09:43,000 Ez teljesen attól függ, hogy hol élsz, és aki az ISP. 1310 01:09:43,000 --> 01:09:47,000 Utána fogok állíthatom be a címet önkényesen kell jharvard@cs50.net. 1311 01:09:47,000 --> 01:09:52,000 Én aztán majd állítsa a kezelésére, hogy jharvard@cs50.net. 1312 01:09:52,000 --> 01:09:55,000 Az egyetlen módja, tudtam, hogy ezeket a funkciókat hívták SetFrom és AddAddress 1313 01:09:55,000 --> 01:09:57,000 van, újra olvastam a dokumentációt. 1314 01:09:57,000 --> 01:09:59,000 Ez nem az a fajta varázsütésre mindenki által ismert programozók. 1315 01:09:59,000 --> 01:10:02,000 Aztán be a hatálya alá tartozó "regisztrációs". 1316 01:10:02,000 --> 01:10:07,000 És most ez a sor egy kicsit csúnya, mert mit jelent a pont operátor jelent a PHP? 1317 01:10:07,000 --> 01:10:09,000 Bárki, aki tudja? 1318 01:10:09,000 --> 01:10:11,000 Összefűzni. 1319 01:10:11,000 --> 01:10:14,000 A C-ben ez a fájdalom a nyak összefűzéséhez 2 karakterláncok együtt. 1320 01:10:14,000 --> 01:10:17,000 Meg kell foglalkozni malloc vagy realloc vagy minden ilyesmi 1321 01:10:17,000 --> 01:10:20,000 csak azért, hogy bővítse a string hossza. 1322 01:10:20,000 --> 01:10:22,000 A PHP, JavaScript és más nyelveken 1323 01:10:22,000 --> 01:10:24,000 akkor általában ezt egyetlen karaktert. 1324 01:10:24,000 --> 01:10:28,000 Ebben az esetben pont azt jelenti, hogy ezt a fonalat itt 1325 01:10:28,000 --> 01:10:30,000 és mellékeli hozzá ezt a fonalat. 1326 01:10:30,000 --> 01:10:32,000 >> Ja, és mellesleg, csatolja hozzá a húr, 1327 01:10:32,000 --> 01:10:34,000 amely történetesen egy változó belső e szuper globális. 1328 01:10:34,000 --> 01:10:37,000 Majd hozzáfűzi, hogy ez egy új vonal, ezért az összes ilyen pont csak azt jelenti, 1329 01:10:37,000 --> 01:10:39,000 tartani, hogy egy egyre nagyobb és nagyobb string, 1330 01:10:39,000 --> 01:10:43,000 , és nem kell törődni az egész malloc vagy hasonló nyelven, mint ez, 1331 01:10:43,000 --> 01:10:46,000 és van más módja van, de ez az egyik leggyorsabb 1332 01:10:46,000 --> 01:10:48,000 módon feküdt ki. 1333 01:10:48,000 --> 01:10:50,000 Mit keres ez? 1334 01:10:50,000 --> 01:10:55,000 Ez létre egy e-mail szerv fogja mondani Név: Captain: Nem: Dorm: 1335 01:10:55,000 --> 01:10:58,000 Minden külön sorokban, majd végül 1336 01:10:58,000 --> 01:11:00,000 egy sor kód, és én fogom figyelmen kívül hagyja ezt most. 1337 01:11:00,000 --> 01:11:02,000 Ha == false csak azt jelenti, ha valami baj, 1338 01:11:02,000 --> 01:11:04,000 de a varázslat itt történik. 1339 01:11:04,000 --> 01:11:08,000 Mail küldés olyan küldése e-mailt. 1340 01:11:08,000 --> 01:11:10,000 Lássuk, mi a nettó eredmény. 1341 01:11:10,000 --> 01:11:13,000 Alján a fájl, észre fogja mondani, regisztrált valóban 1342 01:11:13,000 --> 01:11:15,000 ha kapok ilyen messzire. 1343 01:11:15,000 --> 01:11:18,000 Ha azonban a felhasználó csavarok fel, észre, hogy elkezdtük ezt 1344 01:11:18,000 --> 01:11:21,000 ha a feltétel ide, ha ez nem üres, és nem üres 1345 01:11:21,000 --> 01:11:24,000 és nem üres küldjük a levelet. 1346 01:11:24,000 --> 01:11:27,000 Máskülönben fogunk küldeni ezt a kódsort, 1347 01:11:27,000 --> 01:11:30,000 ami megy, hogy a hatás, mint látni fogod a Pset 7, az átirányítása a felhasználó 1348 01:11:30,000 --> 01:11:35,000 oda, ahol jöttek, froshims3.php. 1349 01:11:35,000 --> 01:11:38,000 >> Drukkolás, különben ez lesz a legnagyobb csalódást demo ma. 1350 01:11:38,000 --> 01:11:40,000 Itt vagyunk. 1351 01:11:40,000 --> 01:11:42,000 Hadd nyissa fel a postafiókjában jharvard a Gmailben. 1352 01:11:42,000 --> 01:11:44,000 Nincs e-mail most. Rendben van. 1353 01:11:44,000 --> 01:11:53,000 Most hadd megnyitása froshims3, amely a harmadik és utolsó példában fogjuk nézni itt. 1354 01:11:53,000 --> 01:11:55,000 Oké, itt vagyunk. 1355 01:11:55,000 --> 01:12:00,000 Nate, ő lesz kapitány, hím, az, mondjuk, Apley. 1356 01:12:00,000 --> 01:12:04,000 Regisztráció. Oké, regisztrált igazán. 1357 01:12:04,000 --> 01:12:07,000 Most, ha én lépjünk át e-mail címemet, ó, Istenem. 1358 01:12:07,000 --> 01:12:09,000 Épp most dinamikusan küldött egy e-mailt a weben. 1359 01:12:09,000 --> 01:12:11,000 >> Hagyjuk e megjegyzés. 1360 01:12:11,000 --> 01:12:16,000 A videó érkezik az előadás hagytunk. Viszlát jövő héten. 1361 01:12:16,000 --> 01:12:18,000 [CS50.TV]