1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Oddelek 8] [manj udoben] 2 00:00:02,000 --> 00:00:04,000 [Nate Hardison] [Harvard University] 3 00:00:04,000 --> 00:00:08,000 [To je CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:11,000 >> Dobrodošli na naši predzadnji točki. 5 00:00:11,000 --> 00:00:13,000 V tem tednu bomo govorili o PHP, in nato naslednji teden 6 00:00:13,000 --> 00:00:17,000 potrudili se bomo malo oceno za kviz 1. 7 00:00:17,000 --> 00:00:20,000 Bomo začeli na strani 3 tega problema postavlja paket, 8 00:00:20,000 --> 00:00:28,000 in bomo delo z oddelkom vprašanj precej hitro. 9 00:00:28,000 --> 00:00:34,000 Na strani 3, smo začeli govoriti o tej razliki med C in PHP 10 00:00:34,000 --> 00:00:38,000 v smislu, da je PHP dinamično vnesli jezik, 11 00:00:38,000 --> 00:00:42,000 ker je C statično tipkajo, 12 00:00:42,000 --> 00:00:46,000 in je kdo res hitro narediti vse šifre v nekaj podobnega PHP 13 00:00:46,000 --> 00:00:51,000 ali Python ali Ruby pred JavaScript? 14 00:00:51,000 --> 00:00:53,000 Popolnoma novo? Ok. 15 00:00:53,000 --> 00:00:56,000 >> Vse od teh jezikov, da sem omenil 16 00:00:56,000 --> 00:01:01,000 so zelo drugačni od jezikov, kot so C in C + + in Java 17 00:01:01,000 --> 00:01:04,000 v smislu, da ko ugotovi spremenljivko vam ni treba prijaviti 18 00:01:04,000 --> 00:01:09,000 kakšne spremenljivke je, da v C smo obtičali ob vedno govoril 19 00:01:09,000 --> 00:01:13,000 To se bo int spremenljivka, ali ta se bo char spremenljivka * 20 00:01:13,000 --> 00:01:16,000 ker s PHP, Python, s z Ruby, 21 00:01:16,000 --> 00:01:20,000 z veliko več teh modernih jezikov vam ni treba storiti, da sploh ne. 22 00:01:20,000 --> 00:01:24,000 Ti samo ugotovi svojo spremenljivko, in v primeru PHP 23 00:01:24,000 --> 00:01:28,000 lahko ugotovi, da je spremenljivka, da ga prefixing z $ znakom, 24 00:01:28,000 --> 00:01:35,000 in potem je tip spremenljivke določi glede na vrednost, ki jo drži, 25 00:01:35,000 --> 00:01:38,000 ki je nekako kul. 26 00:01:38,000 --> 00:01:44,000 Da bi se igral s tem malo, imamo kodo vzorca PHP tukaj 27 00:01:44,000 --> 00:01:47,000 v času med oznakami začetka in konca. 28 00:01:47,000 --> 00:01:53,000 Mi smo z uporabo te vrste, kot so HTML, v smislu, da 29 00:01:53,000 --> 00:01:56,000 imamo te kotne oklepaje tukaj za odpiranje in zapiranje. 30 00:01:56,000 --> 00:01:58,000 Videli boste to s HTML. 31 00:01:58,000 --> 00:02:03,000 Videli boste enako vrsto skladnje z XML preveč. 32 00:02:03,000 --> 00:02:06,000 >> To kaže na začetek bloka PHP. 33 00:02:06,000 --> 00:02:09,000 To? Php je specifična za PHP. 34 00:02:09,000 --> 00:02:16,000 Smo blizu vse, kar je z> kot dobro. 35 00:02:16,000 --> 00:02:22,000 Odprimo se datoteke v napravi z uporabo našega karkoli želite. 36 00:02:22,000 --> 00:02:25,000 V tem paketu je zapisano, da pokličete dynamic.php. 37 00:02:25,000 --> 00:02:29,000 V resnici, ga lahko pokličete, kar želite, vendar je ime datoteke bo prišlo do 38 00:02:29,000 --> 00:02:34,000 in je pomembno kasneje, zato samo ne pozabite, kar vam rečejo. 39 00:02:34,000 --> 00:02:36,000 Jaz grem za preklop naprave, 40 00:02:36,000 --> 00:02:43,000 in jaz bom, da bo imenik za 41 00:02:43,000 --> 00:02:48,000 oddelek 9 Verjamem, da smo na zdaj. 42 00:02:48,000 --> 00:02:51,000 In bomo šli v oddelku 9, 43 00:02:51,000 --> 00:02:54,000 in bom uporabila gedit. 44 00:02:54,000 --> 00:02:59,000 Poglejmo, gedit in bom poklical rudnik dynamic.php. 45 00:02:59,000 --> 00:03:03,000 Boom. 46 00:03:03,000 --> 00:03:06,000 V dynamic.php, saj je to PHP datoteke 47 00:03:06,000 --> 00:03:09,000 in želim teči skozi to tolmač PHP 48 00:03:09,000 --> 00:03:12,000 Moram začeti vse off s temi odprtimi oznakami, 49 00:03:12,000 --> 00:03:17,000 tako da bom za začetek tiste pravice stran, 50 00:03:17,000 --> 00:03:23,000 dam malo prostora med oznakami, 51 00:03:23,000 --> 00:03:26,000 in potem smisel te vaje je bil igral z 52 00:03:26,000 --> 00:03:34,000 Ta funkcija je gettype, tako gettype, to funkcijo tukaj. 53 00:03:34,000 --> 00:03:38,000 >> Obvestilo, da ni podčrtaj ali presledek ali vezaj ali kaj podobnega 54 00:03:38,000 --> 00:03:42,000 ločuje od 2 besedami, dobili in tip, le eno besedo v celoti. 55 00:03:42,000 --> 00:03:46,000 Ampak kaj bo to storiti, je, če grem mimo v spremenljivko za gettype, 56 00:03:46,000 --> 00:03:51,000 pravijo, $ var ali $ x, 57 00:03:51,000 --> 00:03:55,000 to bo mi povej vrste v obliki odpravljanje napak 58 00:03:55,000 --> 00:03:59,000 Kaj je ime te vrste je. 59 00:03:59,000 --> 00:04:03,000 Mi bomo tukaj eksperimentirati. 60 00:04:03,000 --> 00:04:07,000 Še posebej, če se ozremo na pset spec 61 00:04:07,000 --> 00:04:11,000 imamo nekaj različnih vrstic kode tukaj. 62 00:04:11,000 --> 00:04:16,000 V prvi vrstici kode se zažene te spremenljivke, $ var, 63 00:04:16,000 --> 00:04:21,000 da je enak 7, in potem imamo to vrstico printf 64 00:04:21,000 --> 00:04:25,000 , ki pravi, hej, printf var je prazen. 65 00:04:25,000 --> 00:04:29,000 Printf je eden od načinov, da lahko natisnejo stvari v PHP. 66 00:04:29,000 --> 00:04:33,000 Pogosto boste videli odmeva funkcijo, ki se uporablja namesto printf, 67 00:04:33,000 --> 00:04:40,000 printf vendar smo vsi seznanjeni z ki so bili kodirani v C za nekaj časa. 68 00:04:40,000 --> 00:04:42,000 Kaj lahko dejansko narediti je, da vidimo, če je kopiranje in lepljenje dela. 69 00:04:42,000 --> 00:04:46,000 Bom dal to poskusiti. 70 00:04:46,000 --> 00:04:52,000 Mi bomo vrnili čez na napravo. 71 00:04:52,000 --> 00:05:00,000 Ok, pa gremo. 72 00:05:00,000 --> 00:05:05,000 In razdalja je malo funky, ampak tukaj smo. 73 00:05:05,000 --> 00:05:08,000 Imamo to kodo tukaj. 74 00:05:08,000 --> 00:05:11,000 >> [Študent] Ali ni dobro ime, da ga kartica? 75 00:05:11,000 --> 00:05:13,000 Prosim? 76 00:05:13,000 --> 00:05:15,000 [Študent] Je običajna, da ga kartici? 77 00:05:15,000 --> 00:05:21,000 V redu, torej Sam sprašuje, če je dogovor, da ga kartici ali ne. 78 00:05:21,000 --> 00:05:23,000 Ponavadi ja. 79 00:05:23,000 --> 00:05:26,000 V tem primeru sem se odločil, da ne bo. 80 00:05:26,000 --> 00:05:33,000 Resnično, boste videli različne stvari med različnimi programerjev. 81 00:05:33,000 --> 00:05:40,000 PHP se ponavadi uporablja pogosto v kombinaciji s HTML 82 00:05:40,000 --> 00:05:45,000 in drugih jezikih, in tako včasih pri tiskanju videti malo funky 83 00:05:45,000 --> 00:05:50,000 če alinea v začetku PHP in končne oznake. 84 00:05:50,000 --> 00:05:53,000 Res je odvisno. 85 00:05:53,000 --> 00:05:56,000 V tem primeru tako ni kopiraj in prilepi, ne prilepite jezičke v mene, 86 00:05:56,000 --> 00:06:02,000 vendar pa zagotovo ne, kot si rekel, da bo bolj jasno. 87 00:06:02,000 --> 00:06:06,000 V redu, če shranite to kodo v dynamic.php 88 00:06:06,000 --> 00:06:10,000 potem kaj lahko naredite, je prišel na svoj terminalsko okno, kjer sem prav tukaj 89 00:06:10,000 --> 00:06:17,000 v gedit ter narediti enakovredno zbere 90 00:06:17,000 --> 00:06:20,000 z znamko in nato teče kodo v C 91 00:06:20,000 --> 00:06:25,000 Vse kar morate storiti z datoteko PHP je zagon tolmača PHP, 92 00:06:25,000 --> 00:06:30,000 kar je malo program, imenovan PHP, 93 00:06:30,000 --> 00:06:35,000 in argument daš na tolmača je datoteka, ki jo želite interpretirati. 94 00:06:35,000 --> 00:06:40,000 V tem primeru dynamic.php. 95 00:06:40,000 --> 00:06:43,000 Ups, kam sem jo dal? 96 00:06:43,000 --> 00:06:52,000 Oh, sem ga dal v oddelku 9, in zdaj sem tu. To je, zakaj. 97 00:06:52,000 --> 00:06:57,000 >> Zdaj, če sem teči še enkrat 98 00:06:57,000 --> 00:07:02,000 vidimo, da je v svojem prvem klicu funkcije gettype 99 00:07:02,000 --> 00:07:04,000 var je celo število. 100 00:07:04,000 --> 00:07:12,000 V naslednjem var 1 je niz, nato pa v tretjem 1 var je logična. 101 00:07:12,000 --> 00:07:15,000 Zanimivo pri tem je, če se pomaknete nazaj vidimo, da 102 00:07:15,000 --> 00:07:18,000 To so tipi, podobne tistim, ki smo jih imeli v C. 103 00:07:18,000 --> 00:07:22,000 Imeli smo ints v C. 104 00:07:22,000 --> 00:07:26,000 Mi nekako imel nizov v C, 105 00:07:26,000 --> 00:07:31,000 tako da strune niso povsem zakonit tip v tem smislu, da 106 00:07:31,000 --> 00:07:37,000 naša CS50 niz je bil res kaj? 107 00:07:37,000 --> 00:07:39,000 Prosim? Missy? 108 00:07:39,000 --> 00:07:41,000 [Missy] Char *. 109 00:07:41,000 --> 00:07:43,000 Ja, to je ta char * smo uporabili. 110 00:07:43,000 --> 00:07:47,000 Na samem začetku semestra smo s pomočjo niza vrsto, 111 00:07:47,000 --> 00:07:52,000 vendar je bilo res char * pod pokrovom. 112 00:07:52,000 --> 00:07:58,000 Vpišemo samo določene, ker so ti v PHP nizi so dejanski vrsti. 113 00:07:58,000 --> 00:08:07,000 Nič več te stvari char * tipa. 114 00:08:07,000 --> 00:08:10,000 >> Videli boste, da lahko naredimo še veliko več stvari, s strunami 115 00:08:10,000 --> 00:08:14,000 veliko lažje v PHP, kot smo lahko v C, 116 00:08:14,000 --> 00:08:17,000 in nato končno imamo to boolean tipa, in velika razlika v tem, da 117 00:08:17,000 --> 00:08:21,000 če se pomaknete nazaj vidimo, da se ime te vrste 118 00:08:21,000 --> 00:08:28,000 Zdaj celo, niz, logična namesto int in bool, 119 00:08:28,000 --> 00:08:31,000 in kot ste pick up različne programske jezike, 120 00:08:31,000 --> 00:08:36,000 ob predpostavki, da je na neki točki v vašem življenju boste prišli v stik s 121 00:08:36,000 --> 00:08:40,000 Različne tisti, ki jo boste opazili malo quirks, kot je ta 122 00:08:40,000 --> 00:08:44,000 kjer je C poziva cela števila ints. 123 00:08:44,000 --> 00:08:46,000 Nekateri pravijo cela števila. 124 00:08:46,000 --> 00:08:51,000 Obstajajo tudi drugi pogoji, ki jih boste vodijo v. 125 00:08:51,000 --> 00:08:55,000 Big int smo danes videli v SQL. 126 00:08:55,000 --> 00:08:59,000 Obstajajo tudi število in nato int, boolean, 127 00:08:59,000 --> 00:09:03,000 vse vrste razlik tam. 128 00:09:03,000 --> 00:09:07,000 >> To ni grozno zanimivo, zdaj pa bom dal malo časa, 129 00:09:07,000 --> 00:09:13,000 če bomo povečali nazaj na delo, s tem uresničevanje na dnu strani 3 130 00:09:13,000 --> 00:09:20,000 ko se sprašuje, kakšne vrste ujemati s temi vrednotami tukaj na dnu. 131 00:09:20,000 --> 00:09:24,000 Imamo 3,50. 132 00:09:24,000 --> 00:09:28,000 Imamo to stvar tukaj, kar je zanimivo. 133 00:09:28,000 --> 00:09:32,000 Nismo videli prej, vendar, če ste bili po skupaj v predavanju 134 00:09:32,000 --> 00:09:35,000 ste verjetno že veste, kaj to je. 135 00:09:35,000 --> 00:09:40,000 Potem pa imamo to, kar je nekako funky. 136 00:09:40,000 --> 00:09:42,000 Poznaš to. 137 00:09:42,000 --> 00:09:46,000 Kaj je to v C? 138 00:09:46,000 --> 00:09:50,000 Sam? Kaj bi to dal v C? 139 00:09:50,000 --> 00:09:54,000 To bi odprli datoteko, imenovano dynamic.php in da je berljivo. 140 00:09:54,000 --> 00:09:58,000 Ja, in kaj bi bil tip spremenljivke, ki bi dodelite to? Zvezdico datotek. >> 141 00:09:58,000 --> 00:10:02,000 Točno tako, bi določite to datoteko zvezda. 142 00:10:02,000 --> 00:10:08,000 To je legitimno PHP preveč. 143 00:10:08,000 --> 00:10:12,000 Run to. Oglejte si, kaj se zgodi, ko se boste peljali, da v gettype. 144 00:10:12,000 --> 00:10:19,000 In potem tudi preveriti, kaj je nična, kaj bi to lahko bilo v PHP. 145 00:10:19,000 --> 00:10:21,000 Dal vam bom nekaj minut. 146 00:10:21,000 --> 00:10:24,000 Lahko dobesedno kopiranje in lepljenje teh vrednot v, 147 00:10:24,000 --> 00:10:29,000 in potem bomo naredili nekaj naključno klic na vas 148 00:10:29,000 --> 00:10:34,000 in videti, kaj imaš. 149 00:10:34,000 --> 00:10:36,000 >> [Študent] Imam vprašanje. << Ja. 150 00:10:36,000 --> 00:10:40,000 V enem od predavanj David je rekel, da je nekaj, kar lahko dajo na vrhu datoteke 151 00:10:40,000 --> 00:10:43,000 tako da vam ni treba vnesti v PHP vsakič. 152 00:10:43,000 --> 00:10:45,000 Kaj je to? 153 00:10:45,000 --> 00:10:50,000 Verjetno je govoril o britanski bang, bang razpršene. 154 00:10:50,000 --> 00:10:57,000 To je direktiva, da če označite datoteko kot izvršljiv 155 00:10:57,000 --> 00:11:01,000 potem kaj počne, ko zaženete datoteko 156 00:11:01,000 --> 00:11:06,000 da bo povedal lupinski program 157 00:11:06,000 --> 00:11:12,000 uporabljati PHP tolmača za razlago vsebine datoteke. 158 00:11:12,000 --> 00:11:16,000 Vprašanje pa, kaj je bilo to posebno linijo 159 00:11:16,000 --> 00:11:20,000 da bi lahko tudi na vrhu našega PHP datotek ni potrebno vključiti 160 00:11:20,000 --> 00:11:26,000 Ta postavka PHP ali je ta ukaz PHP, kadar želimo izvesti datoteko? 161 00:11:26,000 --> 00:11:31,000 In lahko dejansko to s kupom različnih datotek. 162 00:11:31,000 --> 00:11:37,000 Mislim, da je odvisno od tega, kje je shranjena binarna PHP, 163 00:11:37,000 --> 00:11:43,000 vendar pogosto usr / bin / php je dober kraj za začetek. 164 00:11:43,000 --> 00:11:45,000 Lahko ugotovimo, točno to, da greste nazaj v svojo napravo 165 00:11:45,000 --> 00:11:50,000 in tipkanje, kateri php. 166 00:11:50,000 --> 00:11:55,000 Katero ukaz Številke, ko ste izvršitve binarno 167 00:11:55,000 --> 00:12:01,000 ali ukaz, kjer je ustrezno datoteko. 168 00:12:01,000 --> 00:12:06,000 To mi je povedal, da je res PHP aliasing to binarno datoteko 169 00:12:06,000 --> 00:12:13,000 , ki je shranjena v usr / bin, ki je, kjer so nameščeni veliko sistemskih binarnih datotek. 170 00:12:13,000 --> 00:12:21,000 Na primer, če se pomaknite do vrha, zdaj, ko sem dal to #! vrstica tukaj 171 00:12:21,000 --> 00:12:27,000 Lahko se pomaknite navzdol in sem lahko poskusil zagnati 172 00:12:27,000 --> 00:12:35,000 dynamic.php, vendar sem dobil to napako o zavrnitvi dovoljenja se, 173 00:12:35,000 --> 00:12:42,000 in kaj to pomeni, da ta slika trenutno ni izvršljiv daje dovoljenja. 174 00:12:42,000 --> 00:12:46,000 Ni označen kot datoteke, ki jih lahko nekdo teči. 175 00:12:46,000 --> 00:12:52,000 >> Ko ste zagnali naredijo ali Jek in imaš izvedljivo iz nje 176 00:12:52,000 --> 00:12:56,000 prevajalnik je bil dovolj pameten, da veš, da hej, jaz gradim izvedljivo. 177 00:12:56,000 --> 00:13:00,000 Verjetno si želite izvesti, tako da bi samodejno konfiguracijo 178 00:13:00,000 --> 00:13:02,000 dovolilnice za vas. 179 00:13:02,000 --> 00:13:06,000 To ne drži, čeprav, ko boste ustvarili normalno datoteko iz nič, 180 00:13:06,000 --> 00:13:13,000 Razlog, ki se običajno ne želite, da so vse datoteke na vašem sistemu izvršljiv, 181 00:13:13,000 --> 00:13:15,000 tako da boste dejansko morali iti in ročno narediti. 182 00:13:15,000 --> 00:13:22,000 Najlažji način za to je z ukazom chmod, 183 00:13:22,000 --> 00:13:28,000 in chmod + x pravi, dodamo malo izvedljivo 184 00:13:28,000 --> 00:13:31,000 ker je branje malo, ko se delni bit in izvršljiv bit, 185 00:13:31,000 --> 00:13:35,000 r, w in x, 186 00:13:35,000 --> 00:13:39,000 in bo rekel chmod + x vklop izvršljiv bit 187 00:13:39,000 --> 00:13:46,000 potem za spis, ki ga določi organ, ki bo v tem primeru treba dynamic.php. 188 00:13:46,000 --> 00:13:49,000 >> [Študent], ki je vključena za vse? 189 00:13:49,000 --> 00:13:52,000 Poglejmo tole, na kakšen način bi lahko preverim, da vidim dovoljenja? 190 00:13:52,000 --> 00:13:54,000 Ali veste, kako sem preverite dovoljenja za datoteko? 191 00:13:54,000 --> 00:13:56,000 [Neslišno študentski odziv] 192 00:13:56,000 --> 00:13:58,000 Žal mi je? >> [Študent] XSD. 193 00:13:58,000 --> 00:14:03,000 XSD nam datoteke v hacks. 194 00:14:03,000 --> 00:14:09,000 Seznamom vseh datotek,-l, bo pokazal mi je vse datoteke na mojem imeniku 195 00:14:09,000 --> 00:14:13,000 nekako v svojem dolgem seznamu, verbose, zato tukaj vidimo, da 196 00:14:13,000 --> 00:14:17,000 Ta datoteka dynamic.php 197 00:14:17,000 --> 00:14:23,000 Čas zadnje spremembe: 5. november ob 16:21. 198 00:14:23,000 --> 00:14:26,000 Lastnik te datoteke je jharvard. 199 00:14:26,000 --> 00:14:28,000 To je uporabnik, ki je prijavljen 200 00:14:28,000 --> 00:14:31,000 To si bom, kot da delajo, 201 00:14:31,000 --> 00:14:36,000 in če ste tudi v aparatu ste tudi delal kot jharvard uporabnika. 202 00:14:36,000 --> 00:14:38,000 Ti si v skupini študentov, 203 00:14:38,000 --> 00:14:44,000 in to so stvari, ki jih boste videli dovolj pogosto. 204 00:14:44,000 --> 00:14:47,000 >> Lahko gremo v veliko podrobnosti, tukaj, 205 00:14:47,000 --> 00:14:50,000 vendar za večino del, kaj želite gledati, ko ste hoteli videti, 206 00:14:50,000 --> 00:14:55,000 ali je datoteka izvedljiva, je v prvi vrsti 207 00:14:55,000 --> 00:14:58,000 uporabnik, ki je lastnik te datoteke, lastnik, 208 00:14:58,000 --> 00:15:03,000 tako da to jharvard, nato pa smo 209 00:15:03,000 --> 00:15:07,000 dovoljenji, bitov tukaj na levi strani, 210 00:15:07,000 --> 00:15:13,000 in na način, da se glasi je, da je zadnji korak 211 00:15:13,000 --> 00:15:18,000 Običajno se uporablja za označevanje ali ne, vsaj v tem primeru 212 00:15:18,000 --> 00:15:21,000 Ta zadnji korak bo pogosto postavljajo na oglas, ki označuje 213 00:15:21,000 --> 00:15:24,000 da datoteka je imenik in ne le navadne datoteke. 214 00:15:24,000 --> 00:15:28,000 Potem naslednje 3 biti prav tukaj 215 00:15:28,000 --> 00:15:34,000 določitev dovoljenja, ki je lastnik datoteke, je 216 00:15:34,000 --> 00:15:38,000 tako da v tem primeru jharvard, kot lastnik datoteke, lahko bere in piše datoteke in s tem 217 00:15:38,000 --> 00:15:42,000 vendar pa je dejal, da pomišljaj jharvard ne more izvesti te datoteke. 218 00:15:42,000 --> 00:15:46,000 Naslednjih 3 bitov za skupino, tako da je to skupina študentov, 219 00:15:46,000 --> 00:15:49,000 tako da, če bi bilo več uporabnikov na mojem aparatu, 220 00:15:49,000 --> 00:15:52,000 in smo imeli več uporabnikov kot del skupine študentov, 221 00:15:52,000 --> 00:15:55,000 potem lahko vsi prebrali to datoteko, vendar ne morem pisati, 222 00:15:55,000 --> 00:15:59,000 in da tudi kdo drug, svet 223 00:15:59,000 --> 00:16:01,000 lahko samo branje te datoteke, kot tudi. 224 00:16:01,000 --> 00:16:03,000 Tam je dobro, če writeup o tem, 225 00:16:03,000 --> 00:16:05,000 Tako si lahko preberete na spletu. 226 00:16:05,000 --> 00:16:10,000 V spec problem set gremo v to bolj podrobno. 227 00:16:10,000 --> 00:16:12,000 >> [Študent] Je 218 se nanaša na svetu? 228 00:16:12,000 --> 00:16:17,000 The 218 se-off vrhu moje glave sem pozabil, 229 00:16:17,000 --> 00:16:20,000 ampak ne. 230 00:16:20,000 --> 00:16:29,000 Pa poglejmo. Jaz sem slepo o tem prav zdaj. 231 00:16:29,000 --> 00:16:32,000 Nazaj na kar smo bili na tem, da s tem chmod + x 232 00:16:32,000 --> 00:16:37,000 kjer smo želeli dati dynamic.php dovoljenja izvršljiva, 233 00:16:37,000 --> 00:16:40,000 in vprašanje je, ali bi to lahko izvršljiv dovoljenja za vsakogar 234 00:16:40,000 --> 00:16:44,000 ali samo jharvard, pa smo lahko videli tako, 235 00:16:44,000 --> 00:16:48,000 izvaja ukaze in ukazom ls-l, 236 00:16:48,000 --> 00:16:51,000 in zdaj smo videli, da je označena kot izvršljiv. 237 00:16:51,000 --> 00:16:54,000 Vidite, da je sprememba barve. 238 00:16:54,000 --> 00:16:57,000 Zdaj je dynamic.php navedene v zeleni barvi, 239 00:16:57,000 --> 00:17:01,000 in izgleda, da je odgovor na vprašanje, kaj je Charlotte? 240 00:17:01,000 --> 00:17:04,000 [Charlotte] Samo jharvard. >> Le jharvard, ja. 241 00:17:04,000 --> 00:17:08,000 >> Če bi želeli spremeniti izvedljivo bit za vsakogar 242 00:17:08,000 --> 00:17:10,000 kako bi lahko to naredil? 243 00:17:10,000 --> 00:17:13,000 Vsak misli? >> + X? 244 00:17:13,000 --> 00:17:15,000 Ja, točno tako. 245 00:17:15,000 --> 00:17:23,000 Charlotte je rekel, da lahko naredimo chmod + x iz leta dynamic.php, 246 00:17:23,000 --> 00:17:26,000 in zdaj, če smo teči ls-l vidimo, da so izvedljive bitov 247 00:17:26,000 --> 00:17:30,000 Dejansko se vklopi za vsakogar. 248 00:17:30,000 --> 00:17:37,000 In lahko dejansko narediti ravno nasprotno kot to, da jo lahko izključite za vse 249 00:17:37,000 --> 00:17:41,000 z minus. 250 00:17:41,000 --> 00:17:46,000 Zdaj je izklopljen, in zdaj lahko spet vklopite za jharvard 251 00:17:46,000 --> 00:17:52,000 tako da bomo lahko dejansko deluje zdaj, 252 00:17:52,000 --> 00:17:58,000 in zdaj, ko smo videli teči kodo to posebno #! vrstica na vrhu, 253 00:17:58,000 --> 00:18:04,000 #! line, je povedal lupino, 254 00:18:04,000 --> 00:18:08,000 je povedal naš terminal, hej, ko teče ta datoteka, 255 00:18:08,000 --> 00:18:14,000 uporabo / usr / bin / php razložiti to sliko 256 00:18:14,000 --> 00:18:20,000 in nato natisnete rezultat. 257 00:18:20,000 --> 00:18:22,000 [Neslišno študentski vprašanje] 258 00:18:22,000 --> 00:18:25,000 Seveda, mi se pomaknete nazaj. Tako kot to. 259 00:18:25,000 --> 00:18:36,000 Videli boste vse te direktive začnejo z funta in potem klicaj, 260 00:18:36,000 --> 00:18:39,000 včasih imenujemo shebang, razpršene pok. 261 00:18:39,000 --> 00:18:48,000 >> [Študent] Kako ga lahko zaženete s dynamic.php php, preden naredimo to izvedljivo? 262 00:18:48,000 --> 00:18:55,000 Vprašanje je bilo, kako lahko izvajamo to z binarno PHP 263 00:18:55,000 --> 00:18:58,000 medtem ko dynamic.php ni izvedljiva? 264 00:18:58,000 --> 00:19:01,000 To je super pomembna, ker je to točno, kako 265 00:19:01,000 --> 00:19:06,000 da se bo delo, ko pišete težave sklop 7. 266 00:19:06,000 --> 00:19:09,000 Večino časa datotek PHP niso neposredno izvršljiva. 267 00:19:09,000 --> 00:19:14,000 Tako, da deluje, ker je PHP binarna, da je izvršljiv. 268 00:19:14,000 --> 00:19:16,000 Tolmač je stvar, ki se je izvršen, 269 00:19:16,000 --> 00:19:20,000 in kaj se počne dobesedno srkanje na celotno vsebino 270 00:19:20,000 --> 00:19:25,000 naše dynamic.php datoteke in poteka po vrsticah 271 00:19:25,000 --> 00:19:29,000 in izvajanju teh ukazov, tako da je z našo datoteko PHP 272 00:19:29,000 --> 00:19:31,000 kot seznam navodil. 273 00:19:31,000 --> 00:19:36,000 Ni ga neposredno izvajanje. 274 00:19:36,000 --> 00:19:40,000 To je, če rečemo, da so te datoteke razlagati v času izvajanja. 275 00:19:40,000 --> 00:19:46,000 To je čas delovanja jezik namesto nečesa, kar se določi v času prevajanja, 276 00:19:46,000 --> 00:19:49,000 Ne zbrati jezik kot C. 277 00:19:49,000 --> 00:19:54,000 >> Ali obstaja način, da se jezik teči čas, da deluje, kot da je čas prevajanje jezikov, 278 00:19:54,000 --> 00:19:58,000 všeč, če imate vse zaganjanje opravil na strežniku 279 00:19:58,000 --> 00:20:00,000 ne, saj veš, kaj mislim? 280 00:20:00,000 --> 00:20:04,000 Ja, tako je vprašanje, 281 00:20:04,000 --> 00:20:11,000 Ali obstaja način, da se izvajajo jezikov čas, da deluje bolj kot zbere vrst časovnih jezikov? 282 00:20:11,000 --> 00:20:18,000 In tam so, mislim, da je aktivno področje raziskovanja, za veliko teh podjetij. 283 00:20:18,000 --> 00:20:22,000 Menim, Facebook je naredil veliko delo s PHP 284 00:20:22,000 --> 00:20:25,000 in ga pripravi navzdol, zaradi česar je hitrejši, je optimizacija 285 00:20:25,000 --> 00:20:29,000 saj je njihova spletna stran temelji na PHP. 286 00:20:29,000 --> 00:20:34,000 Če ste bili po node.js na vse, 287 00:20:34,000 --> 00:20:40,000 , ki je neke vrste tolmač JavaScript 288 00:20:40,000 --> 00:20:44,000 da se lahko vozijo JavaScript zunaj brskalnika, izven spletnega brskalnika, 289 00:20:44,000 --> 00:20:47,000 ker bi tradicionalno JavaScript šele teči znotraj Firefox ali Chrome, 290 00:20:47,000 --> 00:20:52,000 in bi ga uporabili, da bi kul animacije zgodilo na spletni strani 291 00:20:52,000 --> 00:20:55,000 in da vaše spletne strani dinamično. 292 00:20:55,000 --> 00:20:59,000 , Ki je bila zgrajena na veliko delo, ki ga je Google naredil 293 00:20:59,000 --> 00:21:03,000 da, JavaScript in C + + 294 00:21:03,000 --> 00:21:09,000 vežejo skupaj, tako da je veliko dejavnih raziskav na 295 00:21:09,000 --> 00:21:13,000 se ti jeziki za interakcijo in optimizacijo jim, 296 00:21:13,000 --> 00:21:17,000 predvsem zato, ker lahko tako veliko ljudi kodo v PHP in JavaScript 297 00:21:17,000 --> 00:21:19,000 zato, ker je veliko lažje. 298 00:21:19,000 --> 00:21:21,000 To je veliko lepši. Nimaš kazalca. 299 00:21:21,000 --> 00:21:27,000 Nimaš vrst plava okoli. 300 00:21:27,000 --> 00:21:31,000 Želeli so, da pridobijo koristi od tega Čas za prevajanje jezikov 301 00:21:31,000 --> 00:21:36,000 vse vrste preverjanja in hitrost in nižjo porabo pomnilnika in vseh, ki 302 00:21:36,000 --> 00:21:42,000 medtem ko še vedno ohranja prožnost in enostavnost uporabe teh novejšimi. 303 00:21:42,000 --> 00:21:46,000 >> Nazaj na naš prvotni načrt napada. 304 00:21:46,000 --> 00:21:50,000 Imamo nekaj od teh vprašanj tukaj v naši spec problem set. 305 00:21:50,000 --> 00:21:54,000 Gremo skozi njih zelo hitro, in bomo šli po sobi. 306 00:21:54,000 --> 00:21:59,000 Charlotte, kakšne vrste je 3,50? 307 00:21:59,000 --> 00:22:01,000 [Charlotte] To je dvojna. >> To je dvojna. 308 00:22:01,000 --> 00:22:03,000 Jimmy, kaj je to drugo? >> Matrike. 309 00:22:03,000 --> 00:22:09,000 Matrika, super, in Jared, kaj je fopen? 310 00:22:09,000 --> 00:22:11,000 [Jared] je vir. >> To je vir. 311 00:22:11,000 --> 00:22:15,000 To je nekako novo, ne datoteka zvezda, ne datoteke. 312 00:22:15,000 --> 00:22:19,000 To je vir vrste v PHP, 313 00:22:19,000 --> 00:22:24,000 in žal mi je, Ella, zadnja null, kaj? 314 00:22:24,000 --> 00:22:26,000 Null. 315 00:22:26,000 --> 00:22:28,000 Nič, kako je zapisano v PHP? >> Enak način. 316 00:22:28,000 --> 00:22:30,000 Na enak način prestolnici? >> Ja. 317 00:22:30,000 --> 00:22:33,000 Ja, v redu. 318 00:22:33,000 --> 00:22:35,000 Takole, imamo dvojna, imamo niz, 319 00:22:35,000 --> 00:22:41,000 imamo vir in potem imamo nično. 320 00:22:41,000 --> 00:22:48,000 Poglejmo sedaj ste videli, 321 00:22:48,000 --> 00:22:51,000 Poglejmo, zdaj mislim, da tisto, kar želim tudi storiti, je, potegnite navzgor 322 00:22:51,000 --> 00:22:56,000 Ta spletna stran tukaj, to php.net / navodila 323 00:22:56,000 --> 00:23:01,000 Torej, če vi kopirate to in odpiranje spletnega brskalnika. 324 00:23:01,000 --> 00:23:07,000 Grem dvigni Chrome, je dal to notri 325 00:23:07,000 --> 00:23:10,000 Rad bi vam pokazal to ne samo zato, ker 326 00:23:10,000 --> 00:23:13,000 Lahko govorimo ves dan o vrstah in vse to zabavno stvari 327 00:23:13,000 --> 00:23:19,000 ampak zato, ker je to uporabo PHP 328 00:23:19,000 --> 00:23:23,000 in obstaja veliko PHP programerjev tam. 329 00:23:23,000 --> 00:23:26,000 Obstaja veliko spletnih strani PHP tam, 330 00:23:26,000 --> 00:23:31,000 in kot rezultat, je veliko dokumentacije o PHP, 331 00:23:31,000 --> 00:23:36,000 in navodila, to php.net je res dober kraj za iti 332 00:23:36,000 --> 00:23:43,000 kadar imate vprašanja o tem, kaj je najboljši način za to X v PHP 333 00:23:43,000 --> 00:23:45,000 ali kaj funkcija izgleda? 334 00:23:45,000 --> 00:23:49,000 Tako nekako seznanjanja s tem, kaj to izgleda, ker 335 00:23:49,000 --> 00:23:54,000 boš tukaj prihaja pogosto, malo za problem iz 7. 336 00:23:54,000 --> 00:23:57,000 >> Če boste na koncu delaš končni projekt, ki uporablja PHP 337 00:23:57,000 --> 00:24:04,000 To bo kraj, boste postali zelo dobro pozna. 338 00:24:04,000 --> 00:24:09,000 Pogosto je način, kako ljudje to je, da uporabite Google za iskanje spletne strani, 339 00:24:09,000 --> 00:24:16,000 in če ne uporabite polje za iskanje, ki je tukaj v zgornjem desnem kotu, ki je nekakšna majhna. 340 00:24:16,000 --> 00:24:19,000 Če ste po Googling nekaj storiti s PHP in boste videli 341 00:24:19,000 --> 00:24:24,000 eden od fizične povezave pop up lahko običajno zanašajo na to, 342 00:24:24,000 --> 00:24:31,000 kot dokaj dober vir. 343 00:24:31,000 --> 00:24:34,000 Super, torej od teh tipov, samo iz radovednosti, 344 00:24:34,000 --> 00:24:37,000 tisti, ki so se nisva videla? 345 00:24:37,000 --> 00:24:40,000 Vse, kar še nismo videli tukaj? 346 00:24:40,000 --> 00:24:44,000 [Študent] vira. >> Videli smo vir z fopen klic. 347 00:24:44,000 --> 00:24:48,000 [Študent] objektov. >> Objekti nismo videli zagotovo. 348 00:24:48,000 --> 00:24:51,000 Callbacks nismo videli. 349 00:24:51,000 --> 00:24:54,000 Obstajajo nekatere od teh lažnih vrst. 350 00:24:54,000 --> 00:24:57,000 Vsekakor videl samo celo število in dvojno. 351 00:24:57,000 --> 00:25:01,000 Nismo videli nekaj drugih, tako da če kliknete na celih 352 00:25:01,000 --> 00:25:08,000 lahko vidimo, ali obstajajo kakršne koli druge cela, da imajo tukaj? 353 00:25:08,000 --> 00:25:11,000 Ali so vsi, tako celo, celo, celo. 354 00:25:11,000 --> 00:25:14,000 Nekateri jeziki imajo večje celo število vrst, 355 00:25:14,000 --> 00:25:23,000 kot smo videli na MySQL danes ni bilo int in nato velik int. 356 00:25:23,000 --> 00:25:25,000 Kul. 357 00:25:25,000 --> 00:25:28,000 >> Torej, PHP navodila. 358 00:25:28,000 --> 00:25:37,000 Vrnimo se na naš spec problem set, in bomo zdaj pomaknite na 4. strani. 359 00:25:37,000 --> 00:25:41,000 Ena od stvari, ki se zgodi, ko dobite te jezike 360 00:25:41,000 --> 00:25:49,000 , ki nimajo te statično tipkanje, tako da ti jeziki kjer imate prijaviti 361 00:25:49,000 --> 00:25:52,000 tip spredaj spremenljivo do 362 00:25:52,000 --> 00:26:00,000 se vam primere, kjer lahko začnete ob spremenljivk različnih tipov 363 00:26:00,000 --> 00:26:04,000 interakcija s seboj, 364 00:26:04,000 --> 00:26:09,000 in PHP pa to stvar, kjer se poskuša narediti 365 00:26:09,000 --> 00:26:13,000 kaj meni, da je najbolj smiselna stvar 366 00:26:13,000 --> 00:26:18,000 če imate 2 različni vrsti med seboj. 367 00:26:18,000 --> 00:26:24,000 Na primer, če pogledamo na teh vrstic kode tukaj 368 00:26:24,000 --> 00:26:29,000 boste videli, da smo dojeli, kaj se zgodi, ko 369 00:26:29,000 --> 00:26:38,000 poskušamo dodati niz 1 do 2 celo število. 370 00:26:38,000 --> 00:26:41,000 Kaj se zgodi, če poskušamo dodati niz, ki ni številčna vrednost 371 00:26:41,000 --> 00:26:48,000 ampak dejanski znaki, CS na številko 50? 372 00:26:48,000 --> 00:26:51,000 Potem bomo videli, ali je še kaj drugačna, če se to zgodi 373 00:26:51,000 --> 00:26:56,000 namesto da bi dodali niz za številne bomo dodajali število v nizu, 374 00:26:56,000 --> 00:27:00,000 in tako naprej in tako naprej do točke, ko bomo dobili 375 00:27:00,000 --> 00:27:05,000 nekakšen čuden stvari tukaj, kjer smo dobili 7 + res. 376 00:27:05,000 --> 00:27:09,000 Kaj za vraga to pomeni? 377 00:27:09,000 --> 00:27:19,000 >> Če greste naprej in prilepite nekaj te kode v napravo. 378 00:27:19,000 --> 00:27:27,000 Lahko ga hranite v dynamic.php. 379 00:27:27,000 --> 00:27:30,000 Bomo videli, kaj se bo zgodilo. 380 00:27:41,000 --> 00:27:43,000 [Študent] Samo uporabite tisk, ne printf? 381 00:27:43,000 --> 00:27:52,000 Ja, boste ugotovili, da tisk je tudi veljavna funkcija za tiskanje v PHP. 382 00:27:52,000 --> 00:27:54,000 Obstaja veliko različnih načinov za to početje. 383 00:27:54,000 --> 00:27:58,000 Bomo videli, z nekaj primerov kasneje, ko bomo začeli govoriti 384 00:27:58,000 --> 00:28:02,000 o edinstveni problem, ki ga bomo napisali 385 00:28:02,000 --> 00:28:06,000 in nato koncentracije problem, ki ga bomo napisali 386 00:28:06,000 --> 00:28:09,000 da čeprav imamo fopen in fclose 387 00:28:09,000 --> 00:28:15,000 to pogosto ni najenostavnejši način, da se glasi v vsebini datoteke. 388 00:28:15,000 --> 00:28:21,000 PHP ima veliko C-teh, kot holdovers. 389 00:28:21,000 --> 00:28:28,000 [Študent] Ko sem dal v vseh 6 teh stvareh sem dobil samo eno številko kot izhod. 390 00:28:28,000 --> 00:28:36,000 [Nate H.] Ko si dal v vseh 6 teh stvari. 391 00:28:36,000 --> 00:28:39,000 Poglejmo, je to zato, ker je mogoče, 392 00:28:39,000 --> 00:28:46,000 Ena stvar je, da so ti klici tiskanje ne konča na koncu, z novimi linijami. 393 00:28:46,000 --> 00:28:49,000 Nobenega novega črta, ki ločuje vsakega od teh razpisov tiskanja, 394 00:28:49,000 --> 00:28:51,000 tako da morda ste dobili eno veliko številko, 395 00:28:51,000 --> 00:28:58,000 in to je res samo zmes novih znakov vrstic. 396 00:28:58,000 --> 00:29:00,000 [Študent] Ok, kako zagotoviti, 397 00:29:00,000 --> 00:29:03,000 No, obstaja kup različnih načinov. 398 00:29:03,000 --> 00:29:06,000 Lahko ročno dal v tisk nove linije značaja, 399 00:29:06,000 --> 00:29:09,000 odmeva nov lik linije, 400 00:29:09,000 --> 00:29:12,000 natisniti nove proge. 401 00:29:12,000 --> 00:29:16,000 [Študent] Torej odmev, je isto, kot printf? 402 00:29:16,000 --> 00:29:21,000 >> Printf je kot C printf 403 00:29:21,000 --> 00:29:24,000 če tiskate oblikovan niz. 404 00:29:24,000 --> 00:29:32,000 Ti oskrbujejo ji oblikovnega niza, nato pa vse ograde spremenljivk. 405 00:29:32,000 --> 00:29:39,000 Pogosto je nekaj, kar se ne uporablja, 406 00:29:39,000 --> 00:29:42,000 Poglejmo, kot odpoved, 407 00:29:42,000 --> 00:29:48,000 Jaz sem manj seznanjeni s PHP kot jaz z drugimi jeziki spletu, 408 00:29:48,000 --> 00:29:53,000 in ko sem sprogramiral v PHP, jaz ponavadi ne uporabljajo printf 409 00:29:53,000 --> 00:29:59,000 ker se mi zdi hitrejši za uporabo zmogljivosti, interpolacija niz, ki ga ima, 410 00:29:59,000 --> 00:30:04,000 ki bomo šli v ti bom pokazal v samo sekundo, 411 00:30:04,000 --> 00:30:08,000 ker je v C smo nekako morali narediti Hacky stvar, ki mi ga je izpisal pravilno. 412 00:30:08,000 --> 00:30:16,000 Lahko dejansko spremenljivk neposredno v nizih v PHP. 413 00:30:16,000 --> 00:30:22,000 Printf je nekako preveč časa za to, kar sem ponavadi. Ja, Ella. 414 00:30:22,000 --> 00:30:25,000 [Ella] Na splošno, če boste dobili Napaka pri razčlenjevanju to pomeni, 415 00:30:25,000 --> 00:30:30,000 kot na C pa ne pove, kje je napaka in kaj je, 416 00:30:30,000 --> 00:30:34,000 tako pa to pomeni pogled skozi svojo celotno kodo in pogruntal? 417 00:30:34,000 --> 00:30:39,000 To je običajno bolj ciljno kot to. 418 00:30:39,000 --> 00:30:48,000 Mislim, da v tem primeru ni bilo malo off, 419 00:30:48,000 --> 00:30:51,000 zato menim, da v tem primeru smo bili manjka podpičje. 420 00:30:51,000 --> 00:30:54,000 To je poskušal smisel vsega, 421 00:30:54,000 --> 00:30:57,000 Tako kot ti razumel jeziku, tolmač bo poskušal 422 00:30:57,000 --> 00:31:01,000 in po svojih najboljših močeh, da vse deluje pravilno. 423 00:31:01,000 --> 00:31:04,000 >> Videli boste, na primer, v JavaScriptu 424 00:31:04,000 --> 00:31:10,000 Pogosto boste Spletna izkazi konec s podpičjem tako kot počnejo v PHP, 425 00:31:10,000 --> 00:31:13,000 tako kot to počnejo v C. 426 00:31:13,000 --> 00:31:15,000 V JavaScriptu nekaj tolmačev JavaScript 427 00:31:15,000 --> 00:31:20,000 v veliko brskalnikov bo dal v podpičji za vas 428 00:31:20,000 --> 00:31:23,000 Če se zgodi, da se jim manjka. 429 00:31:23,000 --> 00:31:29,000 Ti bom poskušal namestiti nekaj površnost na vaši strani. 430 00:31:29,000 --> 00:31:34,000 To je, če bi se poskuša in poskuša in poskuša, da bi stvari dela, 431 00:31:34,000 --> 00:31:36,000 in na koncu bo prišel do točke, kjer piše v redu, 432 00:31:36,000 --> 00:31:38,000 Ne morem, da se stvari delajo na bailing, in da je, kjer boste dobili številko vrstice 433 00:31:38,000 --> 00:31:44,000 da se zdi malo off od tistega kraja. 434 00:31:44,000 --> 00:31:47,000 Ok, gremo skozi to zelo hitro. 435 00:31:47,000 --> 00:31:50,000 Smo končali z Ello, tako da gremo v leto Missy, 436 00:31:50,000 --> 00:31:54,000 in Missy, kaj tisk niza 1 plus 2 številki vam? 437 00:31:54,000 --> 00:31:56,000 [Missy] 3. >> 3. 438 00:31:56,000 --> 00:31:59,000 Ima to smisel? Nekako? 439 00:31:59,000 --> 00:32:02,000 Ali vam številko? Ali se vam niz? 440 00:32:02,000 --> 00:32:05,000 [Missy] število. >> To je številka. 441 00:32:05,000 --> 00:32:09,000 Ampak to je tiskanje, zato se dogaja, da vam neke vrste niza. 442 00:32:09,000 --> 00:32:12,000 >> Ena stvar, ki jo lahko storite, da preverite to 443 00:32:12,000 --> 00:32:21,000 je, če naredimo $ var = 1 + 2 444 00:32:21,000 --> 00:32:28,000 in potem rečemo odmev gettype, 445 00:32:28,000 --> 00:32:33,000 tako da smo z 1/3 vrste tiskanja tukaj. 446 00:32:33,000 --> 00:32:39,000 Danes lahko vidimo, kaj se dogaja tukaj. 447 00:32:39,000 --> 00:32:42,000 Tu kar imamo, je, da imamo celo število iz tega. 448 00:32:42,000 --> 00:32:45,000 Čeprav smo dodali ta niz na številko, 449 00:32:45,000 --> 00:32:48,000 Nismo dobili niz iz njega, tako kot Missy dejal. 450 00:32:48,000 --> 00:32:52,000 Smo dobili celo število. 451 00:32:52,000 --> 00:32:57,000 V redu, pa poglejmo, naslednjič gor, Kevin. 452 00:32:57,000 --> 00:32:59,000 CS + 50? >> [Kevin] 50. 453 00:32:59,000 --> 00:33:02,000 [Nate H.] 50. Ima to smisel? 454 00:33:02,000 --> 00:33:04,000 [Kevin] Ja. 455 00:33:04,000 --> 00:33:06,000 [Nate H.] Zakaj? Zakaj je smiselno, da vas? 456 00:33:06,000 --> 00:33:11,000 [Kevin] Ker je samo ob niza, ki ima ničlo številko vrednosti. 457 00:33:11,000 --> 00:33:16,000 Ja, super. 458 00:33:16,000 --> 00:33:20,000 Nekako dvoumnih situacij, vendar je dobro vedeti, kaj se dogaja. 459 00:33:20,000 --> 00:33:25,000 Stella, kaj se bo zgodilo s številko 1 + 2 niza? 460 00:33:25,000 --> 00:33:27,000 [Stella] 3. >> 3. znova. 461 00:33:27,000 --> 00:33:30,000 In v tem primeru, bomo dobili niz ali število? 462 00:33:30,000 --> 00:33:36,000 >> Dajmo to poskusiti. 463 00:33:36,000 --> 00:33:43,000 Je kdo hitrejši od mene dobil odgovor? Charlotte? 464 00:33:43,000 --> 00:33:46,000 Oh, jaz Nisi-v redu, pa poglejmo, bomo narediti isto reč 465 00:33:46,000 --> 00:33:49,000 kjer imamo številne plus niz, in bomo echo vrsto, 466 00:33:49,000 --> 00:33:51,000 videli, kaj smo dobili. 467 00:33:51,000 --> 00:33:55,000 Prav tako smo dobili celo število. 468 00:33:55,000 --> 00:33:58,000 Ni važno, kateri je niz, ki je ena številka. 469 00:33:58,000 --> 00:34:00,000 Še vedno se dogaja, da bi dobili celo število. 470 00:34:00,000 --> 00:34:04,000 Še vedno gre za kaj lahko pričakujemo. 471 00:34:04,000 --> 00:34:09,000 V redu, Sam, kaj pa 90 + 9 steklenic piva na zidu? 472 00:34:09,000 --> 00:34:12,000 [Sam] 99. >> 99. 473 00:34:12,000 --> 00:34:15,000 Ni steklenic piva na zidu, čeprav. 474 00:34:15,000 --> 00:34:17,000 To nam daje nekaj več informacij o tem, kaj se dogaja. 475 00:34:17,000 --> 00:34:21,000 [Sam] Če bi napisal 9 črkami 476 00:34:21,000 --> 00:34:23,000 potem bi imeli 90, kajne? 477 00:34:23,000 --> 00:34:26,000 [Nate H.] Ja. 478 00:34:26,000 --> 00:34:30,000 Vprašanje je bilo, če bi mi napisal 9, kakor N-I-N-E 479 00:34:30,000 --> 00:34:34,000 bi si dobil 99 ali 90? 480 00:34:34,000 --> 00:34:38,000 Radi bi dobili 90. 481 00:34:38,000 --> 00:34:42,000 To je dobesedno samo iščejo mestno znakov. 482 00:34:42,000 --> 00:34:46,000 To ni dovolj pameten, da priznajo, da število besed in podobno. Da. 483 00:34:46,000 --> 00:34:48,000 >> [Študent] Ali obstaja kaj takega kot typecasting v PHP? 484 00:34:48,000 --> 00:34:54,000 Tukaj je, in to je točno tako, kot bi to v C. 485 00:34:54,000 --> 00:34:56,000 Kaj pa 10/7, Charlotte? 486 00:34:56,000 --> 00:34:58,000 [Charlotte] 1,4285. 487 00:34:58,000 --> 00:35:01,000 [Nate H.] Ja, pa kaj bi bilo presenetljivo glede tega? 488 00:35:01,000 --> 00:35:04,000 Kaj bi se zgodilo, če si to isto reč v C, 489 00:35:04,000 --> 00:35:06,000 če si 10/7 v C? 490 00:35:06,000 --> 00:35:08,000 [Charlotte] To bi le, da boste, odvisno od tega, kako typecasted mislim, 491 00:35:08,000 --> 00:35:12,000 da bi vam le omejeno število znakov za decimalno. 492 00:35:12,000 --> 00:35:16,000 Ja, tako je omejeno število znakov za decimalno. 493 00:35:16,000 --> 00:35:21,000 Kaj drugega bi bilo, bi vam vse decimalke? 494 00:35:21,000 --> 00:35:28,000 Pogosto ni tako zopet odvisno od tega, kako ste ga typecasting 495 00:35:28,000 --> 00:35:31,000 je lahko ali pa ne pretvoriti v plavajoči število točk. 496 00:35:31,000 --> 00:35:35,000 Tukaj je nekako lepo, da je to storil. 497 00:35:35,000 --> 00:35:40,000 Če bi pokazala, ti to nazaj, ko smo začeli delati takšne stvari v C 498 00:35:40,000 --> 00:35:44,000 Verjetno bi na malo bolj smiselno 499 00:35:44,000 --> 00:35:48,000 da ne pojdite na 1. 500 00:35:48,000 --> 00:35:51,000 In potem končno, Jamie, kaj pa 7 + res? 501 00:35:51,000 --> 00:35:53,000 [Jamie] 8. >> 8. 502 00:35:53,000 --> 00:35:56,000 Kaj to pomeni? 503 00:35:56,000 --> 00:35:58,000 Mislim, da samo daje resnično vrednost 1. 504 00:35:58,000 --> 00:36:01,000 Ja. Kaj se zgodi, če bomo spremenili, da je neresnično? 505 00:36:01,000 --> 00:36:04,000 [Študent] 7. 506 00:36:04,000 --> 00:36:09,000 Ja, spomnim ko govorimo o teh binarnih vrednosti, 507 00:36:09,000 --> 00:36:12,000 1 je na, 0 pa dol? 508 00:36:12,000 --> 00:36:17,000 Zdaj imamo res, 1, 0, je napačen, 509 00:36:17,000 --> 00:36:21,000 in morda ne boste videli to v primerih C, ki smo jih storili v preteklosti ta semester, 510 00:36:21,000 --> 00:36:27,000 av zgodovini je bool tip C ni pravi tip, 511 00:36:27,000 --> 00:36:32,000 Tako so ljudje navajeni 0 in 1 v kraju resnično in lažno. 512 00:36:32,000 --> 00:36:35,000 To je odraz tega. 513 00:36:35,000 --> 00:36:39,000 >> Ok, tako da je eden od pomembnih del o vsem tem 514 00:36:39,000 --> 00:36:41,000 je, da imamo te različne vrste. 515 00:36:41,000 --> 00:36:43,000 Lahko vplivajo drug na drugega. 516 00:36:43,000 --> 00:36:49,000 Pogosto lahko med seboj na način, ki je prijazen, kot smo videli tukaj. 517 00:36:49,000 --> 00:36:53,000 Lepo je, da bi lahko imeli niz 1 in številko 2, jih dodajte skupaj in dobili 3. 518 00:36:53,000 --> 00:36:55,000 To ima smisel. 519 00:36:55,000 --> 00:36:59,000 Vendar, ko pišete spletnih strani, še posebej, če ste predelave 520 00:36:59,000 --> 00:37:04,000 uporabnik vložek, tako pravijo, da si napisal spletnega obrazca 521 00:37:04,000 --> 00:37:09,000 da zbira informacije od uporabnika, in nato, da jo obdela 522 00:37:09,000 --> 00:37:13,000 na zadnjem delu, na strani strežnika v vašem PHP kodo 523 00:37:13,000 --> 00:37:18,000 če ste pričakovali, da se vrednost, ki si jih vnesli v in predložili 524 00:37:18,000 --> 00:37:23,000 na obrazcu za celo število ali za plavajočo število točko ali kaj podobnega 525 00:37:23,000 --> 00:37:29,000 morate izrecno odda 526 00:37:29,000 --> 00:37:34,000 in naredite nekaj preverjanje tipov. 527 00:37:34,000 --> 00:37:41,000 >> Če ne želite, da opirati le na ta sistem tipa, žongliranje, da bi stvari izšlo, 528 00:37:41,000 --> 00:37:48,000 predvsem zaradi varnostnih razlogov in samo za trdnost vaše spletne strani. 529 00:37:48,000 --> 00:37:51,000 Samo nekaj, da ne pozabite, da se vedno, ko ravnanje podatke obrazcev 530 00:37:51,000 --> 00:37:57,000 vse, kar prihaja v mesto ali dobili superglobals 531 00:37:57,000 --> 00:38:01,000 poskrbite, da boste vedno potrditi in se preoblikoval in jo typecast. 532 00:38:01,000 --> 00:38:04,000 In tako kot smo govorili trenutek pred tem typecasting 533 00:38:04,000 --> 00:38:08,000 v PHP je popolnoma enak kot v C, če imate oklepajev 534 00:38:08,000 --> 00:38:14,000 in potem tip. 535 00:38:14,000 --> 00:38:16,000 Imejte to v mislih. 536 00:38:16,000 --> 00:38:19,000 Ena funkcija, ki bo prišel prav, ko to počnete 537 00:38:19,000 --> 00:38:22,000 je, da smo bili z uporabo, in to je nekako kot prahi, 538 00:38:22,000 --> 00:38:27,000 smo bili z uporabo te funkcije gettype tukaj 539 00:38:27,000 --> 00:38:30,000 ugotoviti vrsto spremenljivke, 540 00:38:30,000 --> 00:38:37,000 in ko je to priročen za odpravljanje napak in videti, kaj je spremenljivka tipa je 541 00:38:37,000 --> 00:38:42,000 ne želite uporabljati to, na primer, v stanju, ko 542 00:38:42,000 --> 00:38:57,000 boste preverjali, če gettype od $ var = celo nekaj narediti. 543 00:38:57,000 --> 00:39:01,000 To je slabo, slabo, slabo. 544 00:39:01,000 --> 00:39:09,000 Namesto tega so te funkcije je celo pozval, je niz, 545 00:39:09,000 --> 00:39:14,000 je niz, ki ga želite namesto tega, da je v tem primeru 546 00:39:14,000 --> 00:39:18,000 kaj bi rad naredil namesto tega tipa tukaj 547 00:39:18,000 --> 00:39:31,000 se uporaba je celo var. 548 00:39:31,000 --> 00:39:37,000 In oni so pogosto sklicuje, je is_ * v smislu, da bi lahko zamenjal z * celo, 549 00:39:37,000 --> 00:39:43,000 string, in tako dalje, in tako zagotoviti zelo hitro 550 00:39:43,000 --> 00:39:50,000 to je int php. 551 00:39:50,000 --> 00:39:59,000 Izgleda, da lahko naredite kar koli je int, ali se je celo, kot tudi? 552 00:39:59,000 --> 00:40:06,000 Da, alias, tako int cela vzdevki. 553 00:40:06,000 --> 00:40:08,000 Kul. 554 00:40:14,000 --> 00:40:17,000 >> Kako delamo? 555 00:40:17,000 --> 00:40:20,000 Naj ujeti ritem malo. 556 00:40:20,000 --> 00:40:24,000 Zdaj bomo govorili o polja, tako da lahko vidite 557 00:40:24,000 --> 00:40:28,000 V naslednjem delu spec govorimo o tem, kako v PHP nizi 558 00:40:28,000 --> 00:40:31,000 so nekoliko drugačne, kot so v C. 559 00:40:31,000 --> 00:40:34,000 V resnici, oni so neke vrste amalgam 560 00:40:34,000 --> 00:40:36,000 se plošča, ki ste jih spoznali in ljubezen v C 561 00:40:36,000 --> 00:40:40,000 kjer je vse iste vrste 562 00:40:40,000 --> 00:40:43,000 shranjeni zaporedno contiguously v spominu, 563 00:40:43,000 --> 00:40:46,000 in imaš te številske indeksov. 564 00:40:46,000 --> 00:40:49,000 Imate indeks 0, indeks 1, indeks 2, 565 00:40:49,000 --> 00:40:53,000 in shranjevanje vrednosti v teh indeksov. 566 00:40:53,000 --> 00:40:57,000 Prav tako v C, ko si napisal speller, veliko vas 567 00:40:57,000 --> 00:41:00,000 vam razpršene tabele pristop, in ste videli, da smo imeli 568 00:41:00,000 --> 00:41:03,000 Drugačna skladišča, kjer smo kartiranje 569 00:41:03,000 --> 00:41:07,000 Ključ do vrednosti, tako da, ko si se potrudil, da shranite nekaj v hash tabelo 570 00:41:07,000 --> 00:41:11,000 boste morali določiti, da si želel, da ga shranite s posebnim ključem, 571 00:41:11,000 --> 00:41:17,000 in da je ključno določiti lokacijo vrednosti in kje se shranijo. 572 00:41:17,000 --> 00:41:22,000 Vi ste nekako dobil obe od teh pojmov dogaja ob istem času v array PHP, 573 00:41:22,000 --> 00:41:27,000 in kot rezultat, smo pogosto imenujemo asociativne nize 574 00:41:27,000 --> 00:41:33,000 kjer smo se povezujejo na tipko na vrednosti. 575 00:41:33,000 --> 00:41:39,000 V naslednjem delu govorimo o preprosti niz PHP 576 00:41:39,000 --> 00:41:45,000 kjer imamo ključe A, B in C, 577 00:41:45,000 --> 00:41:53,000 vse strune, preslikava s številkami od 1, 2 in 3. 578 00:41:53,000 --> 00:41:57,000 In lahko imate ključe različnih tipov. 579 00:41:57,000 --> 00:42:00,000 >> Lahko imaš nekaj tipk, ki so strune, nekaj tipk, ki so cela števila. 580 00:42:00,000 --> 00:42:03,000 Lahko so vrednosti različnih vrst. 581 00:42:03,000 --> 00:42:06,000 Lahko imajo vrednost, ki je niz, vrednost, ki je celo, 582 00:42:06,000 --> 00:42:11,000 vrednost, ki je predmet ali drugo polje, na primer, 583 00:42:11,000 --> 00:42:16,000 vsi v istem objektu diod, kar je čudno. 584 00:42:16,000 --> 00:42:20,000 Saj ni treba imeti niz, ki je pravkar dobil eno vrsto elementov v njem. 585 00:42:20,000 --> 00:42:26,000 Lahko imaš veliko različnih stvari se dogaja tam. 586 00:42:26,000 --> 00:42:33,000 Druga stvar je tudi omeniti, da ko boš videl kaj takega v kodi, 587 00:42:33,000 --> 00:42:38,000 ki velja PHP prijaviti niz, tako kot je to, 0, 1, 2, 3, 4, 5, 588 00:42:38,000 --> 00:42:43,000 da bo razglasila initialized $ arr za to polje. 589 00:42:43,000 --> 00:42:48,000 Ampak, kaj ste dejansko dobili pod pokrovom je ta vrsta implicitne 590 00:42:48,000 --> 00:42:55,000 generacija ključev, kjer smo dobili 0-0, 1-1, 2-2, 3-3. 591 00:42:55,000 --> 00:42:59,000 In izkazalo se je, da tudi če imate niz, kot je ta fant tukaj 592 00:42:59,000 --> 00:43:03,000 če imate, B in C, kot so ključi 593 00:43:03,000 --> 00:43:09,000 in potem začneš z metodo matrike naročeno, da začnete uporabljati to vrsto kot kup, 594 00:43:09,000 --> 00:43:12,000 tako da lahko vidite, da je ta niz objekt, je ta matrika res postaja preobremenjena. 595 00:43:12,000 --> 00:43:15,000 Uporabljamo ga lahko kot matriko. Lahko ga uporabljate kot hash tabele. 596 00:43:15,000 --> 00:43:19,000 Lahko ga uporabljate kot dimnik. 597 00:43:19,000 --> 00:43:22,000 Ko začnete potiskajo stvari na tem polju 598 00:43:22,000 --> 00:43:30,000 Prva stvar, ki si nataknite to bo indeks 0 in nato 1 in indeks indeks 2. 599 00:43:30,000 --> 00:43:33,000 Lahko dobite te vrste implicitnega generacije tipk 600 00:43:33,000 --> 00:43:38,000 razen če jih izrecno navesti. 601 00:43:38,000 --> 00:43:43,000 Način, kako določiti ključe izrecno, seveda s pomočjo tega nosilca zapisa, 602 00:43:43,000 --> 00:43:48,000 ki je podobna nizi razen namesto da samo dovoljuje 603 00:43:48,000 --> 00:43:54,000 celoštevilskih indeksi v tukaj, zdaj smo lahko ničesar. 604 00:43:54,000 --> 00:43:57,000 Če želite, da vaš ključ za niz, bi si ga določite, kot je ta. 605 00:43:57,000 --> 00:44:06,000 Če želite, da je int, ga določite z int ga želite uporabiti. 606 00:44:06,000 --> 00:44:13,000 >> Vprašanja o, da do sedaj? 607 00:44:13,000 --> 00:44:18,000 Ena od lepih stvari o tej ideji 608 00:44:18,000 --> 00:44:26,000 je, da lahko vedno le eno vrednost, shranjeno s posebnim ključem. 609 00:44:26,000 --> 00:44:32,000 Če se vrnemo v naše naprave, dovolite mi, zbrišite nekaj te stvari. 610 00:44:32,000 --> 00:44:47,000 In recimo, da sem inicializirati array biti 0, 1, 2, opravljeno. 611 00:44:47,000 --> 00:44:55,000 Če Zdaj vem, da, na primer, če sem echo $ arr [0] 612 00:44:55,000 --> 00:44:59,000 Jaz bom dobil vrednost 0 natisne, 613 00:44:59,000 --> 00:45:05,000 in ker ni mogoče vedno samo ena vrednost shrani za določeno tipko 614 00:45:05,000 --> 00:45:11,000 če sem kaj hranite v $ arr [0], recimo, 615 00:45:11,000 --> 00:45:16,000 potem vem, kdaj sem echo $ arr [0] ponovno 616 00:45:16,000 --> 00:45:19,000 Jaz ne bo dobil 0 natisne kot prej. 617 00:45:19,000 --> 00:45:24,000 Jaz sem samo še. 618 00:45:24,000 --> 00:45:30,000 Torej, to je v bistvu rekel, da ne morem imeti $ arr [0] shranjevanje 2 različni vrednosti. 619 00:45:30,000 --> 00:45:34,000 Prav tako ni mogoče shraniti 0 in niz se, kot je to dobesedno nadomešča 620 00:45:34,000 --> 00:45:38,000 kaj je bilo $ arr [0] prej. 621 00:45:38,000 --> 00:45:43,000 Razlog, da sem omenjati je teči, kaj se bo zgodilo. 622 00:45:43,000 --> 00:45:47,000 Glej tukaj, da imam 0 natisne in nato tukaj. 623 00:45:47,000 --> 00:45:51,000 Ni nova linija tam, ker sem bil len in nisem dal to notri 624 00:45:51,000 --> 00:45:54,000 Kar je pri tem pa je lahko to uporabimo kot način 625 00:45:54,000 --> 00:46:00,000 ujeti to idejo sklopa 626 00:46:00,000 --> 00:46:07,000 če ne moremo imeti več tipk v polju. 627 00:46:07,000 --> 00:46:10,000 Ne moremo imeti enake tipke v matriko. 628 00:46:10,000 --> 00:46:17,000 Ne morem imeti ključno 0 in vrednost 1 in ključne 0 in vrednost za 629 00:46:17,000 --> 00:46:21,000 ali tipko 0 in vrednost res. 630 00:46:21,000 --> 00:46:27,000 Tipke so vse obstaja samo 1 ključ v polje. 631 00:46:27,000 --> 00:46:32,000 Čeprav lahko imate enako vrednost, shranjeno 632 00:46:32,000 --> 00:46:35,000 večkrat v matriki iz različnih ključev 633 00:46:35,000 --> 00:46:42,000 da ni mogoče, da imajo enake tipke večkrat pojavi v vašem PHP array. 634 00:46:42,000 --> 00:46:47,000 >> Če pogledamo ta naslednji problem, unique.php, 635 00:46:47,000 --> 00:46:51,000 če želimo odpreti datoteko PHP 636 00:46:51,000 --> 00:46:54,000 vsebuje seznam nizov, en niz na vrstico, 637 00:46:54,000 --> 00:47:01,000 in želimo, da bi našli vse edinstvene nizov v datoteko 638 00:47:01,000 --> 00:47:06,000 Vse kar moramo storiti je, da uporabite enega od teh PHP nizi 639 00:47:06,000 --> 00:47:12,000 in uporabo nizov v dokumentaciji od ključev za ta niz 640 00:47:12,000 --> 00:47:17,000 in vodi posodabljanje našo vrsto, kot smo shranili te nove ključe. 641 00:47:17,000 --> 00:47:22,000 Kot beremo vsako vrstico iz datoteke lahko shranite v polje, 642 00:47:22,000 --> 00:47:28,000 in na koncu bomo imeli v naših ključe v naši matriki 643 00:47:28,000 --> 00:47:34,000 vse edinstvene nize znotraj datoteke. 644 00:47:34,000 --> 00:47:37,000 Ima to smisel? 645 00:47:37,000 --> 00:47:41,000 Poglejmo, kako to deluje. 646 00:47:41,000 --> 00:47:49,000 Bomo odprli, glede na spec, novo datoteko z imenom unique.php. 647 00:47:49,000 --> 00:47:58,000 Odpri. Ups, se opravičujem, nova datoteka. 648 00:47:58,000 --> 00:48:03,000 Bomo ga začnete z oznakami isti začetni in končni. 649 00:48:03,000 --> 00:48:17,000 Bomo ga shranite v oddelku 9, in bomo rekli unique.php. 650 00:48:17,000 --> 00:48:25,000 Ok, zdaj povečate palca 651 00:48:25,000 --> 00:48:32,000 Ideja je odpreti datoteko, 652 00:48:32,000 --> 00:48:38,000 berejo v skladu datotek s črto. 653 00:48:38,000 --> 00:48:46,000 Za vsako vrstico v datoteki 654 00:48:46,000 --> 00:48:51,000 da bomo imeli množico, kjer imamo 655 00:48:51,000 --> 00:49:03,000  linija, kot je naš ključ. 656 00:49:03,000 --> 00:49:09,000 In potem ko pridemo do konca tukaj 657 00:49:09,000 --> 00:49:17,000 Tipke $ arr je so edinstvene linije 658 00:49:17,000 --> 00:49:25,000 Iz spisa, saj vemo, da če sem dal linijo v tem polju 659 00:49:25,000 --> 00:49:33,000 večkrat, da bo kar naprej nujnimi staro vrednost, 660 00:49:33,000 --> 00:49:46,000 in lahko dejansko dal niza črte v kot sama kar tako. 661 00:49:46,000 --> 00:49:48,000 >> To je čudno. 662 00:49:48,000 --> 00:49:52,000 Mi shranjevanje isto ključno vrednost par znova in znova in znova, 663 00:49:52,000 --> 00:50:00,000 ampak ker smo jamči, da bo samo 1 ključ imenujemo linija 664 00:50:00,000 --> 00:50:05,000 tako da, če bomo imeli datoteko, ki pravi-datoteke živalskih zvokov in ima hov hov,, 665 00:50:05,000 --> 00:50:11,000 mijav, mijav, moo, moo, in vsakič, ko smo prebrali živali hrup iz 666 00:50:11,000 --> 00:50:15,000 hov, kot smo jo shranite v naši matriki dobimo hov in nato še drugič 667 00:50:15,000 --> 00:50:20,000 hranimo hov, da prepiše prvič, da smo ga shranili. 668 00:50:20,000 --> 00:50:25,000 Na koncu bomo imeli samo en vnos v matriki 669 00:50:25,000 --> 00:50:33,000 za vsako od živali, zvokov v našem spisu živali zvoke. 670 00:50:33,000 --> 00:50:41,000 Ali vi prepričani, da lahko reševanje odprtje datoteke v PHP? 671 00:50:41,000 --> 00:50:45,000 Eden od načinov, da to storite, pojdimo v tem hitro-en način, da to storite 672 00:50:45,000 --> 00:50:50,000 je z fopen, kot smo videli prej. 673 00:50:50,000 --> 00:50:55,000 Si lahko fopen some_file.txt. 674 00:50:55,000 --> 00:50:59,000 Lahko ga odprete v načinu branja, tako kot v C. 675 00:50:59,000 --> 00:51:02,000 To je ena povsem dober način, da to storite. 676 00:51:02,000 --> 00:51:05,000 Prav tako pa za branje v datoteko po vrsticah 677 00:51:05,000 --> 00:51:12,000 imajo enake funkcije, mnogi od njih, ki si jih naredil v C 678 00:51:12,000 --> 00:51:14,000 Imate fgets. 679 00:51:14,000 --> 00:51:17,000 Imate feof, čeprav mi ni všeč, da uporabljate 680 00:51:17,000 --> 00:51:22,000 saj se spomnite, da ni bilo veliko v C. 681 00:51:22,000 --> 00:51:25,000 To lahko storite na enak način, 682 00:51:25,000 --> 00:51:34,000 ampak tukaj je res super stvar. 683 00:51:34,000 --> 00:51:41,000 Žal mi je, ne želim narediti $ datoteka, vendar je funkcijo imenovano datoteko v PHP, 684 00:51:41,000 --> 00:51:47,000 in ta funkcija tukaj je super, ker je zapisano celotno vsebino 685 00:51:47,000 --> 00:51:52,000 iz spisa, ki ga določite, da some_file.txt, 686 00:51:52,000 --> 00:51:56,000 prebere celotno vsebino tega dokumenta v matriki 687 00:51:56,000 --> 00:52:03,000 nato pa vam omogoča, da izbirate nad njim, kar je precej eleganten. 688 00:52:03,000 --> 00:52:07,000 >> Če gremo na primer na naši spletni brskalnik 689 00:52:07,000 --> 00:52:14,000 in gledamo na Googlu datoteko PHP 690 00:52:14,000 --> 00:52:23,000 si lahko ogledate tukaj, da naš priročnik pravi, da datoteke prebere celotno datoteko v array, 691 00:52:23,000 --> 00:52:27,000 in bomo lahko file_get_contents vrniti vsebino datoteke kot niz, 692 00:52:27,000 --> 00:52:30,000 vendar običajno šele dobili kot matriko je res lepo, ker kaj počne 693 00:52:30,000 --> 00:52:33,000 se ga razdeli tako, da je vsak element 694 00:52:33,000 --> 00:52:37,000 V matriki je ena vrstica datoteke, 695 00:52:37,000 --> 00:52:41,000 tako da, če pogledamo datoteko 0, to je prva vrstica datoteke. 696 00:52:41,000 --> 00:52:46,000 Slika 1, druga vrstica, slika 2, tretja vrstica, in tako naprej in tako naprej. 697 00:52:46,000 --> 00:52:50,000 Ali ne bi bilo lepo, če bi bilo vse, kar bi moral storiti v C? 698 00:52:50,000 --> 00:52:53,000 Precej eleganten. 699 00:52:53,000 --> 00:52:59,000 David je pokazala to v predavanju, in idiom je pokazala, je bila 700 00:52:59,000 --> 00:53:03,000 da poleg našega standarda za zanke v PHP, da smo imeli 701 00:53:03,000 --> 00:53:09,000 for ($ i = 0; i <10; i + +), 702 00:53:09,000 --> 00:53:16,000 in lahko to storite v PHP preveč, isto- 703 00:53:16,000 --> 00:53:27,000 imamo tudi to kul konstrukt, imenovan foreach. 704 00:53:27,000 --> 00:53:32,000 Foreach je zelo priročen, ko ponavljanjem nad polji ali teh podatkovnih struktur 705 00:53:32,000 --> 00:53:36,000 saj vam omogoča, da izvlečete vsak element matrike 706 00:53:36,000 --> 00:53:42,000 ne da bi morali storiti ročno indeksiranje sami, 707 00:53:42,000 --> 00:53:46,000 ne da bi morali ročno ustvariti indeks spremenljivko, jo prirastek, 708 00:53:46,000 --> 00:53:51,000 izvlecite vrednost v matriki, na tej točki, ker je to zelo pogosta stvar. 709 00:53:51,000 --> 00:53:54,000 >> Verjetno ste to storili ton časih, ko ste počeli stvari C 710 00:53:54,000 --> 00:54:00,000 Sprehodite se po polovici, tako da s tem foreach 711 00:54:00,000 --> 00:54:06,000 smo lahko zanka v tem datotečnem array, 712 00:54:06,000 --> 00:54:12,000 in skladnja je, da želimo zdaj zanke nad tem polju 713 00:54:12,000 --> 00:54:18,000 in določite, da je spremenljivka bomo uporabili za shranjevanje 714 00:54:18,000 --> 00:54:27,000 element tega sklopa na lokalni ravni, lokalnega obsega te zanke foreach, 715 00:54:27,000 --> 00:54:32,000 se bomo, da ga pokličete linijo. 716 00:54:32,000 --> 00:54:38,000 Če je datoteka le besede in da je ena beseda v vrstici 717 00:54:38,000 --> 00:54:43,000 Lahko bi call it besedo, kot tudi, res samo daš to ime, 718 00:54:43,000 --> 00:54:49,000 karkoli želite poklicati ga, 719 00:54:49,000 --> 00:55:02,000 in nato znotraj zanke lahko narediš karkoli hočeš s tem spremenljivo linijo. 720 00:55:02,000 --> 00:55:08,000 Če to ni dovolj, da se vrednost polja, in tudi vi želite, da bi dobili 721 00:55:08,000 --> 00:55:17,000 Indeks skupaj z njim pa lahko določite ime za indeks 722 00:55:17,000 --> 00:55:22,000 kot tudi vrednost, in zdaj imate dostop do 2 spremenljivk. 723 00:55:22,000 --> 00:55:26,000 Imate $ i in linija 724 00:55:26,000 --> 00:55:30,000 če $ i indeks v polju, 725 00:55:30,000 --> 00:55:38,000 in linija je linija, ki jih pridobijo iz spisa. 726 00:55:38,000 --> 00:55:49,000 Na primer, če smo želeli natisniti odmeva črto 0 do datoteke, kot je ta, 727 00:55:49,000 --> 00:55:57,000 Lahko bi to naredil tako, kot je ta, "Line $ i do datoteke je $ vrstici" 728 00:55:57,000 --> 00:56:02,000 in tukaj je nekaj, kar smo prav tako nismo videli niti 729 00:56:02,000 --> 00:56:13,000 če sem prav popolnoma preskočijo% tega celotnega poslovanja s% d 730 00:56:13,000 --> 00:56:16,000 da smo morali obravnavati v C, in namesto tega sem šel naravnost 731 00:56:16,000 --> 00:56:19,000 pisno spremenljivke v skladu mojem nizu. 732 00:56:19,000 --> 00:56:23,000 >> To se imenuje spremenljivka interpolacija, interpolacija niz 733 00:56:23,000 --> 00:56:26,000 če ste polnjenje spremenljivke desno, in tolmač PHP 734 00:56:26,000 --> 00:56:31,000 je dovolj pameten, ko se obravnava skozi niz, ki se začne z dvojnimi narekovaji, 735 00:56:31,000 --> 00:56:34,000 ne enojnih narekovajih, z eno kotirajo na strune si tega ne more storiti, 736 00:56:34,000 --> 00:56:38,000 vendar z dvojnimi kotirajo na strune, kot je zapisano skozi, kar je iskal spremenljivk. 737 00:56:38,000 --> 00:56:42,000 To jim lov navzdol, in če vidi spremenljivke bo trajalo, da bo vrednost spremenljivke 738 00:56:42,000 --> 00:56:47,000 in jo stlačiti v nizu, če ga lahko pretvorite v niz zastopanje 739 00:56:47,000 --> 00:56:51,000 kar je zelo eleganten. 740 00:56:51,000 --> 00:56:56,000 Za zdaj, kaj je komentar še druge vsega, 741 00:56:56,000 --> 00:57:00,000 razen tega, in kaj lahko sedaj naredimo je, da lahko odprejo datoteko 742 00:57:00,000 --> 00:57:06,000 da lahko rečemo some_file.txt, kaj je ustvarjanje novih datotek 743 00:57:06,000 --> 00:57:15,000 in bomo lahko v kup neumnosti stvari tukaj samo za testiranje vse ven, 744 00:57:15,000 --> 00:57:25,000 ga rešili, pravijo some_file.txt, saj delam tu gor na vrhu, 745 00:57:25,000 --> 00:57:33,000 in zdaj, če sem pomanjšavo samo se prepričajte, vse, kar je v istem imeniku, 746 00:57:33,000 --> 00:57:36,000 izgleda, da imam unique.php in some_file.txt v istem imeniku. 747 00:57:36,000 --> 00:57:42,000 Če bom tekel php unique.php 748 00:57:42,000 --> 00:57:51,000 videli, kako se natisne vsako vrstico v datoteki in kaj je vrv? 749 00:57:51,000 --> 00:57:56,000 >> To je zelo močna, kajne? 750 00:57:56,000 --> 00:58:03,000 Poglej, to je 3 vrstic kode za odpiranje datoteke. 751 00:58:03,000 --> 00:58:08,000 No, 4 vrstic kode. Ne morem prešteti danes, jasno. 752 00:58:08,000 --> 00:58:13,000 Ampak res samo 2 zanimive vrstic kode, saj je drugi 2 sta bili zavite oklepaje, 753 00:58:13,000 --> 00:58:17,000 vendar v tem zakoniku toliko smo uspeli odpreti datoteko, ponovitev prek njega, 754 00:58:17,000 --> 00:58:20,000 izvlecite številko vrstice in črto sam 755 00:58:20,000 --> 00:58:24,000 in ga natisnite. 756 00:58:24,000 --> 00:58:26,000 Cool stvari. Charlotte. 757 00:58:26,000 --> 00:58:28,000 [Charlotte] Imam vprašanje glede sintakse. 758 00:58:28,000 --> 00:58:33,000 Torej foreach ukvarja z vsakim vrsti datoteke, ki jih odprete, 759 00:58:33,000 --> 00:58:37,000 in potem, ko hočeš narediti stvari z vsakim črto si to naredil kot 760 00:58:37,000 --> 00:58:39,000 in nato povežejo vrednost. 761 00:58:39,000 --> 00:58:41,000 [Nate H.] Kaj lahko storite tukaj, je bilo vprašanje, 762 00:58:41,000 --> 00:58:46,000 the foreach ima opraviti z matriko, tako da foreach sintaksa 763 00:58:46,000 --> 00:58:51,000 foreach je res, in obvestilo, da ni prostora 764 00:58:51,000 --> 00:58:53,000 ali karkoli med in za vsakega. 765 00:58:53,000 --> 00:58:56,000 Imajo pravico iti drug poleg drugega, 766 00:58:56,000 --> 00:59:00,000 in potem je potrebno v matriki, 767 00:59:00,000 --> 00:59:05,000 in potem moraš to drugo ključno besedo imenovan kot da je tam, 768 00:59:05,000 --> 00:59:11,000 in potem ko je, kot si lahko bodisi dal eno ime spremenljivke, 769 00:59:11,000 --> 00:59:14,000 V tem primeru se boste lahko umaknili vrednosti matrike, 770 00:59:14,000 --> 00:59:20,000 ne indeksi, ali če vam je kot smo že napisal pod 771 00:59:20,000 --> 00:59:24,000 boste dobili ključe in vrednosti. 772 00:59:24,000 --> 00:59:33,000 Imate foreach element matriki ali par matrike so zaščiteni, da se vrednost 773 00:59:33,000 --> 00:59:38,000 ali samo vrednost. 774 00:59:38,000 --> 00:59:40,000 Glede na to, kar potrebujete, če jih ne potrebujete ključe, 775 00:59:40,000 --> 00:59:42,000 potem lahko greš z vrednostjo. 776 00:59:42,000 --> 00:59:45,000 Če želite ključe lahko greš z njim preveč. 777 00:59:45,000 --> 00:59:48,000 >> [Charlotte] Spoznal sem, da nikoli razglasil i ali linijo. 778 00:59:48,000 --> 00:59:51,000 Kako je vedel, kaj so? 779 00:59:51,000 --> 00:59:53,000 [Nate H.] Kaj mislite s tem prijaviti? 780 00:59:53,000 --> 00:59:57,000 [Charlotte] Nikoli jim povedal, kaj sem, ali postavka sredstev. 781 00:59:57,000 --> 01:00:01,000 [Nate H.] Mi nikoli ni povedal, kaj sem računalnik ali vrstica pomeni v smislu, 782 01:00:01,000 --> 01:00:05,000 [Charlotte] To si jih indeksira ali they're- 783 01:00:05,000 --> 01:00:09,000 [Nate H.] Mi nikoli rekel, da je to naj bi bil indeks ali ključ in vrednost, 784 01:00:09,000 --> 01:00:13,000 in da je zato, ker je to PHP tolmača. 785 01:00:13,000 --> 01:00:17,000 Ta služi kot deklaracija in pravi redu, ključ se bo 786 01:00:17,000 --> 01:00:20,000 spremenljivka imenovan i shranjen v spremenljivko, imenovano i. 787 01:00:20,000 --> 01:00:24,000 Vrednost se bo shranjen v spremenljivko, imenovano linijo, 788 01:00:24,000 --> 01:00:28,000 tako da ta služi kot deklaracija teh spremenljivk 789 01:00:28,000 --> 01:00:35,000 in pravi, $ i je ključen, $ vrstica vrednost. 790 01:00:35,000 --> 01:00:37,000 Ja, Ella. 791 01:00:37,000 --> 01:00:41,000 [Ella] Če se tipke ne opravi številčno 792 01:00:41,000 --> 01:00:44,000 kako se odločiti, kaj bi to bo natisniti vse? 793 01:00:44,000 --> 01:00:47,000 Je to tako kot je vrstni red je vpisana v? 794 01:00:47,000 --> 01:00:51,000 [Nate H.] Dajmo poskusiti. 795 01:00:51,000 --> 01:00:57,000 Naj ustvarite spremenljivko, imenovano arr, 796 01:00:57,000 --> 01:01:06,000 in lahko storimo, gre za 7. 797 01:01:06,000 --> 01:01:19,000 Recimo, 0, odide v drugo matriko z 1, 2 ali jabolko. 798 01:01:19,000 --> 01:01:30,000 Recimo 7 gre v 1, b gre za 2, 799 01:01:30,000 --> 01:01:39,000 in 3 gre 4. 800 01:01:39,000 --> 01:01:44,000 To je nekako noro videti, na primer zato, ker smo mešanja 801 01:01:44,000 --> 01:01:47,000 godala in cela števila po vsem mestu. 802 01:01:47,000 --> 01:01:50,000 Ni realno, da bi ta niz. 803 01:01:50,000 --> 01:01:55,000 Mislim, lahko bi naročiš vse v abecednem vrstnem redu po tipkah. 804 01:01:55,000 --> 01:01:57,000 Mi lahko odredi vse po abecedi glede na vrednost. 805 01:01:57,000 --> 01:02:00,000 >> Lahko bi poskusili upoštevati, da so nekatere strune, nekateri so ints, 806 01:02:00,000 --> 01:02:03,000 in bi lahko poskusili in pretvorbo jih vse do iste vrste in videli, kaj se bo zgodilo, 807 01:02:03,000 --> 01:02:09,000 ali bi jih lahko upoštevali pri vrednosti, v katerem smo jih že začeli 808 01:02:09,000 --> 01:02:14,000 kjer smo se tega tipa v 1., ta fant v drugi, ta fant v tretjih državah, 809 01:02:14,000 --> 01:02:19,000 ta tip v 4., in tako naprej. 810 01:02:19,000 --> 01:02:23,000 Poglejmo, kaj se zgodi, ko zaženete to kodo. 811 01:02:23,000 --> 01:02:29,000 Če smo se pomaknite navzdol in delati isto reč, 812 01:02:29,000 --> 01:02:31,000 in tu je ne tiskanjem novih linij. 813 01:02:31,000 --> 01:02:35,000 Ko je prebral stvari iz spisa, je bilo tudi novih priključkov v vrednosti 814 01:02:35,000 --> 01:02:38,000 , ki je bila zato natisne lepo, ker tukaj ni, 815 01:02:38,000 --> 01:02:40,000 tako, da je, zakaj je vse skupaj smushed. 816 01:02:40,000 --> 01:02:44,000 Naj dodamo v tej novi vrstici, da se stvari lepo. 817 01:02:44,000 --> 01:02:51,000 Naj ga ponovi, zato tukaj 818 01:02:51,000 --> 01:02:54,000 poglej kaj se je zgodilo. 819 01:02:54,000 --> 01:03:00,000 To natisne vse, kar je v vrstnem redu, v katerem smo jo dal v array. 820 01:03:00,000 --> 01:03:10,000 To pa ohraniti red v tem smislu. 821 01:03:10,000 --> 01:03:15,000 >> Če se vrnemo k temu problemu uniques 822 01:03:15,000 --> 01:03:20,000 če želimo, da bo lahko izbirate v datoteko, 823 01:03:20,000 --> 01:03:24,000 in bomo ji some_file.txt, 824 01:03:24,000 --> 01:03:27,000 in bomo Ponovil nad njo, kot je ta. 825 01:03:27,000 --> 01:03:31,000 Rekli smo, da želimo uporabiti matriko zagotoviti, da bomo dobili vse 826 01:03:31,000 --> 01:03:36,000 edinstvene linije ven, mi pa bi lahko naredil, da je res enostavno 827 01:03:36,000 --> 01:03:49,000 le za shranjevanje v array, da smo seveda izjavi zunaj področja zanki 828 01:03:49,000 --> 01:03:55,000 in mi dejal, da če smo se vrstice v datoteki kot ključi v naši matriki 829 01:03:55,000 --> 01:03:59,000 če smo vstopili v dvojno črto bi morali biti nujni prejšnjo vrednost. 830 01:03:59,000 --> 01:04:08,000 To ni vedno mogoče imeti 2 ključe, ki so enaki v istem polju. 831 01:04:08,000 --> 01:04:13,000 To lahko storimo le to. 832 01:04:13,000 --> 01:04:17,000 Bomo znebili tega odmeva izjava tukaj. 833 01:04:17,000 --> 01:04:24,000 Tukaj smo shranjevanju v datoteki v naši matriki 834 01:04:24,000 --> 01:04:28,000 se uporabi kot ključ. 835 01:04:28,000 --> 01:04:32,000 Nič mu, in izkazalo se je, da sploh ne potrebujete te tipke. 836 01:04:32,000 --> 01:04:38,000 Ne rabimo, da sem spremenljiva. 837 01:04:38,000 --> 01:04:43,000 Na tej točki, če bi naredil še en foreach zanke 838 01:04:43,000 --> 01:04:48,000 in smo bili v zanki v vsakem ARR 839 01:04:48,000 --> 01:04:56,000 in postavka zdaj, če bomo echo-ups, se opravičujem. 840 01:04:56,000 --> 01:05:00,000 Ne moremo uporabiti vejico. Uporabiti moramo, da je to ključno besedo. 841 01:05:00,000 --> 01:05:05,000 Zdaj, če želimo ponoviti črto bi morali dobiti vse edinstvene besed v datoteki. 842 01:05:05,000 --> 01:05:10,000 Če gremo do some_file.txt, 843 01:05:10,000 --> 01:05:19,000 in recimo, da bomo jabolko, banana, jabolko, jabolko, banana, 844 01:05:19,000 --> 01:05:22,000 če tiskate vse od edinstvene besed v tej datoteki, moramo le še 845 01:05:22,000 --> 01:05:30,000 jabolko in banana natisniti. 846 01:05:30,000 --> 01:05:36,000 Če rešimo to, tukaj bomo povečali nazaj, 847 01:05:36,000 --> 01:05:44,000 php unique.php, in ta-da. 848 01:05:44,000 --> 01:05:51,000 Smo uspešno uniqued datoteko. 849 01:05:51,000 --> 01:05:55,000 >> Zadnji del tega problema vas prosim, da razvrstite to zbirko, preden ga natisne 850 01:05:55,000 --> 01:05:58,000 ker v tem preprostem primeru, ki smo jih pravkar naredil 851 01:05:58,000 --> 01:06:04,000 smo imeli srečo v smislu, da je dokumentacija, 852 01:06:04,000 --> 01:06:06,000 smo to izmišljene primer z jabolki in bananami. 853 01:06:06,000 --> 01:06:08,000 To je že urejeno. 854 01:06:08,000 --> 01:06:19,000 Ampak s preprostim funkcije razvrščanja lahko razvrstite niz, ki je zelo eleganten. 855 01:06:19,000 --> 01:06:24,000 Končni stvar, ki sem se želel pogovoriti z vami o zelo hitro 856 01:06:24,000 --> 01:06:31,000 je, da je ta vrsta PHP vse lepo in prav, in to je super priročno 857 01:06:31,000 --> 01:06:43,000 vedeti, kako to storiti, če boste kdaj morali narediti malo, hitro stvari programsko. 858 01:06:43,000 --> 01:06:48,000 Na primer, če moram napisati program, ki pravijo, 859 01:06:48,000 --> 01:06:53,000 Vsem postavlja v oddelkih ne bom šel in ga napišite v C. 860 01:06:53,000 --> 01:06:55,000 To bo še dolgo. 861 01:06:55,000 --> 01:06:57,000 To bo neke vrste bolečino, še posebej, če so vključene datoteke, 862 01:06:57,000 --> 01:07:00,000 tako kot ste vi videli. 863 01:07:00,000 --> 01:07:05,000 To je tako lepo, da je s tem le toliko oznako prav tukaj 864 01:07:05,000 --> 01:07:08,000 nam je uspelo iztrgati prek datoteke, izvlecite vse enolične vrednosti 865 01:07:08,000 --> 01:07:11,000 in jih natisnite nazaj. 866 01:07:11,000 --> 01:07:16,000 >> Vendar pa je za svoje naloge, za svoje projekte, 867 01:07:16,000 --> 01:07:20,000 če ste izgradnjo spletne strani s PHP moč je, da 868 01:07:20,000 --> 01:07:25,000 pohiteti naše PHP datotek prek tega tolmača, 869 01:07:25,000 --> 01:07:29,000 tolmač obdeluje vse znotraj oznak PHP, 870 01:07:29,000 --> 01:07:34,000 pri čemer vse ostalo nedotaknjeno in izpljunil rezultate. 871 01:07:34,000 --> 01:07:40,000 To lahko storimo za izgradnjo HTML programsko. 872 01:07:40,000 --> 01:07:46,000 Torej, če se vrnemo k spec, zadnji problem v spec 873 01:07:46,000 --> 01:07:56,000 govori o tej ideji koncentracij 874 01:07:56,000 --> 01:08:01,000 in ustvarjanje spustni meni, 875 01:08:01,000 --> 01:08:06,000 ki jih lahko ali pa ne želite storiti, je odvisno od tega, kaj tvoj zadnji projekt gre, 876 01:08:06,000 --> 01:08:13,000 ki omogoča uporabniku, da izbere iz seznama vseh morebitne koncentracije 877 01:08:13,000 --> 01:08:15,000 njihova ena koncentracija. 878 01:08:15,000 --> 01:08:21,000 No, to je neke vrste bolečine na vrsto tole 879 01:08:21,000 --> 01:08:25,000 in imajo vse to narediti ročno, še posebej, če imate, da poskrbite, da 880 01:08:25,000 --> 01:08:28,000 da imate vse kotne oklepaje na pravem mestu in vse citate na pravem mestu, 881 01:08:28,000 --> 01:08:34,000 tako da s PHP lahko to programsko, lahko pa to zelo hitro. 882 01:08:34,000 --> 01:08:36,000 >> Pa poglejmo, kako to storiti. 883 01:08:36,000 --> 01:08:42,000 Bomo odprli novo datoteko. 884 01:08:42,000 --> 01:08:46,000 Bomo dal v naših PHP oznakami. 885 01:08:46,000 --> 01:08:53,000 Bomo rekli concentrations.php, 886 01:08:53,000 --> 01:08:58,000 in zdaj, ko to počnete, nekako dobra stvar, da razmišljajo o 887 01:08:58,000 --> 01:09:02,000 če hočeš, da se premeša in se ujemajo z vašo PHP in HTML-ju 888 01:09:02,000 --> 01:09:08,000 je poskušal ugotoviti, v redu, kar je del, ki ga želim ustvariti programsko? 889 01:09:08,000 --> 01:09:11,000 Kaj je tisti del, ki lahko ustvarijo programsko? 890 01:09:11,000 --> 01:09:17,000 Res je, da lahko narediš vse HTML 891 01:09:17,000 --> 01:09:19,000 Notranjost PHP blokov. 892 01:09:19,000 --> 01:09:24,000 Lahko echo vse HTML kot strune. 893 01:09:24,000 --> 01:09:30,000 Na primer, če želim začeti početje izberite oznake znotraj PHP 894 01:09:30,000 --> 01:09:46,000 Lahko rečem, odmev, pravijo, da izberete ime = koncentracija, 895 01:09:46,000 --> 01:09:49,000 in nato spodaj sem lahko še odmeva oznako 896 01:09:49,000 --> 01:09:57,000 ali drugega echo pozval blizu izberete. 897 01:09:57,000 --> 01:10:00,000 To je eden od načinov, da to storite, saj je to tisto, kar je dobesedno naredili 898 01:10:00,000 --> 01:10:09,000 se izpiše tega niza, ko je pognal skozi tolmač PHP, 899 01:10:09,000 --> 01:10:12,000 Tako bo rezultat HTML. 900 01:10:12,000 --> 01:10:18,000 Če shranim datoteko, kot je zdaj 901 01:10:18,000 --> 01:10:24,000 jaz pa sem tekla php concentrations.php 902 01:10:24,000 --> 01:10:26,000 poglej, kaj imam. 903 01:10:26,000 --> 01:10:30,000 Imam ta odprt tesno izberite oznako. 904 01:10:30,000 --> 01:10:36,000 >> Če bi bil jaz za to in jaz sva se, da shranite rezultat v datoteko, 905 01:10:36,000 --> 01:10:45,000 pravijo, concentrations.html-počakajte, izgleda, da je l prešel na drugi strani, 906 01:10:45,000 --> 01:11:02,000 Zdaj, če sem odprla tukaj concentrations.html vidiš, da ima veljavno datoteko HTML. 907 01:11:02,000 --> 01:11:05,000 Je to čudno? 908 01:11:05,000 --> 01:11:09,000 Mi smo z uporabo PHP ustvariti HTML, ustvarite veljaven HTML. 909 01:11:09,000 --> 01:11:13,000 Pot smo to počeli je, da smo si samo ob tiskanja PHP 910 01:11:13,000 --> 01:11:16,000 HTML, da želimo, da natisniti. 911 01:11:16,000 --> 01:11:20,000 To je dobesedno, kako PHP spletne strani delajo. 912 01:11:20,000 --> 01:11:24,000 Ko obiščete spletno stran, ki vam pošilja na nekaj podobnega 913 01:11:24,000 --> 01:11:30,000 Nekaj, nekaj, nekaj pika com poševnica index.php 914 01:11:30,000 --> 01:11:33,000 Računalnik je dobesedno kliče gor index.php, 915 01:11:33,000 --> 01:11:38,000 da teče skozi tolmač PHP, in kar pride ven smeti 916 01:11:38,000 --> 01:11:49,000 to je spet pošilja v brskalnik in rekel: hej, brskalnik, to razlagajo kot HTML. 917 01:11:49,000 --> 01:11:54,000 Za lepo stvar je, da je lahko bolečina nenehno pisati odmev, odmev, odmev, odmev 918 01:11:54,000 --> 01:11:59,000 in priložiti vse v narekovajih, kot je ta, da če hočeš pisati 919 01:11:59,000 --> 01:12:04,000 HTML, ki se bo statična sami, lahko to storite tako, 920 01:12:04,000 --> 01:12:16,000 dal ven, ga zaprete, 921 01:12:16,000 --> 01:12:21,000 in potem sem samo dal notri PHP oznak, ki jih poznate 922 01:12:21,000 --> 01:12:26,000 želite ustvariti programsko in v tem primeru je ta možnost oznake 923 01:12:26,000 --> 01:12:31,000 da so bolečine za ustvarjanje. 924 01:12:31,000 --> 01:12:37,000 >> Na primer, lahko ustvarimo več kot tisoč oznake izbirne 925 01:12:37,000 --> 01:12:48,000 s tem, kaj takega, $ i <1000, i + + 926 01:12:48,000 --> 01:13:00,000 in pravijo vrednost opcije = $ echo-Ups, tega ne morem storiti. 927 01:13:00,000 --> 01:13:03,000 No, pa da ga poskusite in videli, kaj se bo zgodilo. 928 01:13:03,000 --> 01:13:22,000 $ I, nato pa rekel $ i 01:13:27,000 Namesto da bi tip iz te opcije oznako tisoč različnih časih 930 01:13:27,000 --> 01:13:33,000 Jaz sem z uporabo PHP kodo za ustvarjanje samodejno programsko. 931 01:13:33,000 --> 01:13:38,000 Nekako eleganten. Ja. 932 01:13:38,000 --> 01:13:41,000 Spomnim se, kar se omenjena niti v predavanju ali walkthrough, 933 01:13:41,000 --> 01:13:43,000 ampak kaj je razlika med narekovaji, 934 01:13:43,000 --> 01:13:45,000 običajne in ti tisti posamezni stvari? 935 01:13:45,000 --> 01:13:49,000 To je pravzaprav nekaj, kar sem naredil napačno sem, da sem bil tekoč, da vam pokažem. 936 01:13:49,000 --> 01:13:52,000 Posamezni kotacije ne dovoljujejo nobenih posebnih znakov, 937 01:13:52,000 --> 01:13:57,000 tako da je vse, kar je znotraj enega samega niza kotira razlagati dobesedno. 938 01:13:57,000 --> 01:14:02,000 Če bi imel \ n notranjost enojnih narekovajih in rešim to, na primer, 939 01:14:02,000 --> 01:14:07,000 zdaj pa grem dol in jo vodijo, 940 01:14:07,000 --> 01:14:12,000 Ups, kam gremo? 941 01:14:12,000 --> 01:14:19,000 Oh, to je zato, ker sem pozabil $. 942 01:14:19,000 --> 01:14:25,000 >> Zdaj, če sem odprla, pravzaprav tukaj, bomo znebiti, da ga vnesete v datoteko. 943 01:14:25,000 --> 01:14:27,000 Mi bomo samo brati. 944 01:14:27,000 --> 01:14:34,000 Tukaj lahko vidite, da sem dobil to dobesedno, \ n v nizu, tako kot ne dejansko novo progo, 945 01:14:34,000 --> 01:14:38,000 in prav, namesto da bi dejansko interpoliramo vrednosti te spremenljivke 946 01:14:38,000 --> 01:14:42,000 to mi je dal $ i sama, ki je neke vrste bolečine. 947 01:14:42,000 --> 01:14:46,000 Pot okoli tega je, da uporabite dvojne narekovaje, 948 01:14:46,000 --> 01:14:52,000 in potem, ko uporabite dvojne narekovaje, da se bo dejansko 949 01:14:52,000 --> 01:14:56,000 pravilno interpoliramo vrednosti vseh teh spremenljivk je tukaj 950 01:14:56,000 --> 01:14:59,000 in priznati tudi to, da je \ n nova vrstica, ki je 951 01:14:59,000 --> 01:15:02,000 in ne \ n. 952 01:15:02,000 --> 01:15:07,000 Uporaba enotnega tiste, ki je lepo, če imate 953 01:15:07,000 --> 01:15:10,000 Znaki, ki jih lahko interpretiramo kot posebni znaki, ker potem ne bi bilo treba 954 01:15:10,000 --> 01:15:15,000 jim izogniti nenehno. 955 01:15:15,000 --> 01:15:18,000 Stvari se lahko grdo in pogosto tako, kot sem to storil, 956 01:15:18,000 --> 01:15:24,000 samo zato, da bi stvari enostavno, da če bom še kaj 957 01:15:24,000 --> 01:15:31,000 HTML koda je všeč v mojem bom tudi urejanje v enojnih narekovajih 958 01:15:31,000 --> 01:15:36,000 in potem uporabite združevanje operaterja 959 01:15:36,000 --> 01:15:43,000 za združevanje spremenljivk noter 960 01:15:43,000 --> 01:15:47,000 To je še en način za to početje 961 01:15:47,000 --> 01:15:52,000 kjer imamo piko, ki se dogaja povezati to je niz 962 01:15:52,000 --> 01:15:56,000 s tem s tem s tem, 963 01:15:56,000 --> 01:15:59,000 in zdaj nimam pobegniti te dvojne narekovaje. 964 01:15:59,000 --> 01:16:02,000 Nimam za uporabo tega fanta pobegniti. 965 01:16:02,000 --> 01:16:08,000 Prišli bodo dobesedno natisnjeni v dvojne narekovaje in potem ta tip tukaj. 966 01:16:08,000 --> 01:16:11,000 To je še en način za mešanje vsega skupaj. 967 01:16:11,000 --> 01:16:14,000 >> [Študent] Tudi, ko je odmevalo gettype ni bilo narekovaji sploh. 968 01:16:14,000 --> 01:16:22,000 V redu, torej odmev je nekako poseben v tem smislu, da vam ni treba oklepaje. 969 01:16:22,000 --> 01:16:29,000 Saj ni treba, da narekovaje okoli nujno spremenljivk, 970 01:16:29,000 --> 01:16:37,000 kot da je veljavna reči echo $ i, da se bo to razlagajo kot niz. 971 01:16:37,000 --> 01:16:44,000 To se dogaja, da to zasedbo, tako da lahko to stori, in to velja tudi, vendar pa ga ne potrebujete. 972 01:16:44,000 --> 01:16:48,000 To je neobvezno. 973 01:16:48,000 --> 01:16:53,000 V problemov ta teden niz pazi za veliko tovrstnih stvari 974 01:16:53,000 --> 01:16:58,000 če ste mešanje in ujemanje HTML s PHP 975 01:16:58,000 --> 01:17:08,000 tako kot je ta, in zdaj, če se pomaknete nazaj in vodimo to 976 01:17:08,000 --> 01:17:13,000 lahko vidimo, da imamo cel kup opcijskih vrednosti 977 01:17:13,000 --> 01:17:15,000 da je pravkar natisnjen. 978 01:17:15,000 --> 01:17:20,000 Imamo vso to HTML, da imam zelo hitro ustvari za nas. 979 01:17:20,000 --> 01:17:22,000 Bom zapustiti kot vaja. 980 01:17:22,000 --> 01:17:24,000 To je zelo podobno branju datoteke, da smo naredili prej. 981 01:17:24,000 --> 01:17:31,000 >> Obstaja concentrations.txt datoteke, ki jih lahko potegnite dol iz CDN, 982 01:17:31,000 --> 01:17:34,000 in ga lahko odprete z isto foreach trik, ki smo mu prej, 983 01:17:34,000 --> 01:17:39,000 foreach in boste morali ponoviti možnost in priključite 984 01:17:39,000 --> 01:17:44,000 ustrezne vrednosti, ustrezni ključi in indeksi, 985 01:17:44,000 --> 01:17:49,000 in potem dobiš spustni ki dobesedno ustvarja 986 01:17:49,000 --> 01:17:54,000 Programsko za vas vse različnih koncentracijah na Harvardu. 987 01:17:54,000 --> 01:17:57,000 Priročna stvar, da imajo. 988 01:17:57,000 --> 01:18:02,000 Obstaja veliko stvari za konfiguracijo to nalogo. 989 01:18:02,000 --> 01:18:07,000 Če tega še niste storili že sprejeti naslednje pol ure, uro, 990 01:18:07,000 --> 01:18:10,000 nekaj časa nocoj gotovo, seveda, 991 01:18:10,000 --> 01:18:14,000 sprehod skozi spec problem set, 992 01:18:14,000 --> 01:18:20,000 videli, kaj se dogaja s vzpostavitve vhosts, lokalni gostitelj, vse te stvari. 993 01:18:20,000 --> 01:18:24,000 Ena stvar, ki poudarjajo, sedaj je, da 994 01:18:24,000 --> 01:18:30,000 v večini skupin problematičnih smo šli v mapi Dropbox 995 01:18:30,000 --> 01:18:34,000 in potem prenosu zip problem nastavljeno datoteko in jo unzipping. 996 01:18:34,000 --> 01:18:36,000 Za ta problem niza ne želite. 997 01:18:36,000 --> 01:18:40,000 Bi rad šel v ta imenik vhosts. 998 01:18:40,000 --> 01:18:45,000 Boste želeli, da gredo v vhosts in pojdi v lokalnem imeniku gostiteljice v njej, 999 01:18:45,000 --> 01:18:50,000 in to je, če boste želeli, da bi se odprl datoteko zip, 1000 01:18:50,000 --> 01:18:55,000 razširite in se pripravite za odhod. 1001 01:18:55,000 --> 01:18:57,000 Boste morali slediti navodilom tesno. 1002 01:18:57,000 --> 01:19:02,000 >> Če imate kakršnokoli vprašanje, pošljite e-poštno sporočilo, ga objavite na Pogovorite se, pridi k uradnih ur. 1003 01:19:02,000 --> 01:19:08,000 Hvala, fantje. Naslednji teden bomo imeli pregled sejo za kviz. 1004 01:19:08,000 --> 01:19:12,000 Uživajte v zadnjo vrsto problemov. Upam, da bo šlo vse zelo dobro. 1005 01:19:12,000 --> 01:19:14,000 [CS50.TV]