1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [§ 8] [menej komfortné] 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 >> Vitajte v našom sekunde poslednej časti. 5 00:00:11,000 --> 00:00:13,000 V tomto týždni budeme hovoriť o PHP, a potom budúci týždeň 6 00:00:13,000 --> 00:00:17,000 urobíme malú recenziu na Quiz 1. 7 00:00:17,000 --> 00:00:20,000 Budeme začať na strane 3 tohto problému sady pack, 8 00:00:20,000 --> 00:00:28,000 a budeme pracovať prostredníctvom sekcie otázok pomerne rýchlo. 9 00:00:28,000 --> 00:00:34,000 Na stránke 3, začneme hovoriť o tomto rozdiele medzi C a PHP 10 00:00:34,000 --> 00:00:38,000 v tom zmysle, že PHP je dynamicky typový jazyk, 11 00:00:38,000 --> 00:00:42,000 vzhľadom k tomu, C je staticky zadali, 12 00:00:42,000 --> 00:00:46,000 a niekto naozaj rýchlo urobiť nejaké kódovanie v niečo ako PHP 13 00:00:46,000 --> 00:00:51,000 alebo Python alebo Ruby pred JavaScriptu? 14 00:00:51,000 --> 00:00:53,000 Úplne nový? Dobre. 15 00:00:53,000 --> 00:00:56,000 >> Všetky z týchto jazykov, ktoré som práve spomenul 16 00:00:56,000 --> 00:01:01,000 sú veľmi odlišné od jazykov, ako je C a C + + a Java 17 00:01:01,000 --> 00:01:04,000 v tom zmysle, že keď deklarujete premennú nemusíte deklarovať 18 00:01:04,000 --> 00:01:09,000 aké premenné je, tak v C sme prilepené museli vždy hovorím 19 00:01:09,000 --> 00:01:13,000 to bude int premenné, alebo to bude char * variabilné, 20 00:01:13,000 --> 00:01:16,000 vzhľadom k tomu, s PHP, Python, Ruby, s 21 00:01:16,000 --> 00:01:20,000 s mnohými z týchto viacerých moderných jazykov nemusíte robiť, že vôbec. 22 00:01:20,000 --> 00:01:24,000 Stačí deklarovať svoju premennú, a v prípade PHP 23 00:01:24,000 --> 00:01:28,000 môžete vyhlásiť, že je to premenná prefixing to s znakom $, 24 00:01:28,000 --> 00:01:35,000 a potom sa typ premennej je určený ktorékoľvek hodnoty to drží, 25 00:01:35,000 --> 00:01:38,000 čo je celkom fajn. 26 00:01:38,000 --> 00:01:44,000 Ak chcete hrať si s týmto trochu, máme ukážkový PHP kód priamo tu 27 00:01:44,000 --> 00:01:47,000 medzi počiatočnou a koncovou značku. 28 00:01:47,000 --> 00:01:53,000 Sme použitie tohto druhu ako HTML v tom zmysle, že 29 00:01:53,000 --> 00:01:56,000 máme tieto uholníky tu pre otvorenie a zatvorenie. 30 00:01:56,000 --> 00:01:58,000 Uvidíte to s HTML. 31 00:01:58,000 --> 00:02:03,000 Uvidíte rovnakú syntax s XML taky. 32 00:02:03,000 --> 00:02:06,000 >> To ukazuje na začiatok bloku PHP. 33 00:02:06,000 --> 00:02:09,000 To? Php je špecifické pre PHP. 34 00:02:09,000 --> 00:02:16,000 Zavrieme všetko s> i 35 00:02:16,000 --> 00:02:22,000 Poďme otvoriť súbor v našom zariadení za použitia akýchkoľvek by ste chceli. 36 00:02:22,000 --> 00:02:25,000 V tomto paketu sa hovorí, volať dynamic.php. 37 00:02:25,000 --> 00:02:29,000 Po pravde povedané, môžete volať to, čo si prajete, ale názov súboru príde 38 00:02:29,000 --> 00:02:34,000 a byť dôležité neskôr, takže stačí spomenúť ako sa tomu hovorí. 39 00:02:34,000 --> 00:02:36,000 Chystám sa prejsť na spotrebiče, 40 00:02:36,000 --> 00:02:43,000 a ja budem robiť adresár pre 41 00:02:43,000 --> 00:02:48,000 oddiel 9 Verím, že sme teraz. 42 00:02:48,000 --> 00:02:51,000 A pôjdeme do sekcie 9, 43 00:02:51,000 --> 00:02:54,000 a budem používať gedit. 44 00:02:54,000 --> 00:02:59,000 Poďme sa pozrieť, gedit, a budem volať moje dynamic.php. 45 00:02:59,000 --> 00:03:03,000 Boom. 46 00:03:03,000 --> 00:03:06,000 V dynamic.php, pretože to je PHP súboru 47 00:03:06,000 --> 00:03:09,000 a chcem spustiť tak prostredníctvom tlmočníka PHP 48 00:03:09,000 --> 00:03:12,000 Musím začať všetko preč s tými otvorenými značiek, 49 00:03:12,000 --> 00:03:17,000 takže budem začať ty hneď, 50 00:03:17,000 --> 00:03:23,000 dávam málo miesta v medzi značkami, 51 00:03:23,000 --> 00:03:26,000 a potom bod tohto cvičenia bolo hrať sa s 52 00:03:26,000 --> 00:03:34,000 táto funkcia sa nazýva GetType, tak GetType, túto funkciu tu. 53 00:03:34,000 --> 00:03:38,000 >> Všimnite si, že tam je žiadne podčiarknutie alebo priestor alebo pomlčku alebo niečo podobné, že 54 00:03:38,000 --> 00:03:42,000 oddelenie na 2 slová, získať a zadajte, len jedno slovo úplne. 55 00:03:42,000 --> 00:03:46,000 Ale čo to bude robiť, ak je som sa prejsť v premennej GetType, 56 00:03:46,000 --> 00:03:51,000 hovoria, $ var alebo $ x, 57 00:03:51,000 --> 00:03:55,000 to mi druh vo ladenie formáte 58 00:03:55,000 --> 00:03:59,000 to, čo názov tohto typu je. 59 00:03:59,000 --> 00:04:03,000 Budeme experimentovať tu. 60 00:04:03,000 --> 00:04:07,000 Najmä, keď sa pozriete späť na PSet spec 61 00:04:07,000 --> 00:04:11,000 máme niekoľko rôznych riadkov kódu tu. 62 00:04:11,000 --> 00:04:16,000 V prvom riadku kódu sme inicializovať premennú, $ var, 63 00:04:16,000 --> 00:04:21,000 sa rovná 7, a potom máme tento printf linku 64 00:04:21,000 --> 00:04:25,000 , Ktorý hovorí, hey, printf var je prázdny. 65 00:04:25,000 --> 00:04:29,000 Printf je jedným z mnohých spôsobov, ako možno vytlačiť veci v PHP. 66 00:04:29,000 --> 00:04:33,000 Často uvidíte echo funkciu použiť namiesto printf, 67 00:04:33,000 --> 00:04:40,000 ale printf sme všetci oboznámení s mať been kódovanie v C na chvíľu. 68 00:04:40,000 --> 00:04:42,000 Čo môžete urobiť, je skutočne uvidíme, či kopírovanie a vloženie práce. 69 00:04:42,000 --> 00:04:46,000 Chystám sa dať to skúsiť. 70 00:04:46,000 --> 00:04:52,000 Vrátime sa k zariadeniu. 71 00:04:52,000 --> 00:05:00,000 Dobre, a tam ideme. 72 00:05:00,000 --> 00:05:05,000 A rozostup je trochu funky, ale je to tu. 73 00:05:05,000 --> 00:05:08,000 Máme tento kód tu. 74 00:05:08,000 --> 00:05:11,000 >> [Študent] Nie je to dobrý štýl na karte to? 75 00:05:11,000 --> 00:05:13,000 Je nám ľúto? 76 00:05:13,000 --> 00:05:15,000 [Študent] Je to konvenčné záložke? 77 00:05:15,000 --> 00:05:21,000 Správne, takže Sam sa spýta, či je dohovor na kartu, alebo nie. 78 00:05:21,000 --> 00:05:23,000 Typicky áno. 79 00:05:23,000 --> 00:05:26,000 V tomto prípade som zvolil nie. 80 00:05:26,000 --> 00:05:33,000 Úprimne povedané, uvidíte rôzne veci medzi rôznymi programátormi. 81 00:05:33,000 --> 00:05:40,000 PHP sa zvyčajne používa často v kombinácii s HTML 82 00:05:40,000 --> 00:05:45,000 a ďalšie jazyky, a tak niekedy tlač bude vyzerať trochu funky 83 00:05:45,000 --> 00:05:50,000 Ak zarážka v počiatočnej a koncovú PHP značku. 84 00:05:50,000 --> 00:05:53,000 To naozaj záleží. 85 00:05:53,000 --> 00:05:56,000 V tomto prípade skopírujte a vložte ani vložiť karty v pre mňa, 86 00:05:56,000 --> 00:06:02,000 ale rozhodne to, ako si hovoril, aby to jasnejšie. 87 00:06:02,000 --> 00:06:06,000 Dobre, ak si uložiť tento kód do dynamic.php 88 00:06:06,000 --> 00:06:10,000 potom to, čo môžete urobiť, je prísť dole do okna terminálu, kde som tu dole 89 00:06:10,000 --> 00:06:17,000 v gedit, a to ekvivalent kompiláciu 90 00:06:17,000 --> 00:06:20,000 používanie make a potom beží kód v C 91 00:06:20,000 --> 00:06:25,000 všetko, čo musíte urobiť, so súborom PHP je naštartovať tlmočníka PHP, 92 00:06:25,000 --> 00:06:30,000 čo je malý program, nazvaný PHP, 93 00:06:30,000 --> 00:06:35,000 a argument, dáte na tlmočníka, je súbor, ktorý chcete interpretovať. 94 00:06:35,000 --> 00:06:40,000 V tomto prípade, dynamic.php. 95 00:06:40,000 --> 00:06:43,000 Jejda, kde som dal to? 96 00:06:43,000 --> 00:06:52,000 Oh, som si ho v kapitole 9, a som tu. To je dôvod, prečo. 97 00:06:52,000 --> 00:06:57,000 >> Teraz, keď som spustiť znova 98 00:06:57,000 --> 00:07:02,000 vidíme, že v mojej prvej výzve GetType funkcie 99 00:07:02,000 --> 00:07:04,000 var je celé číslo. 100 00:07:04,000 --> 00:07:12,000 V nasledujúcej var je reťazec, a potom v tretej var je boolean. 101 00:07:12,000 --> 00:07:15,000 Čo je na tom zaujímavé je, ak by sme sa posunúť späť, vidíme, že 102 00:07:15,000 --> 00:07:18,000 sú typy podobné tým, ktoré sme mali v C. 103 00:07:18,000 --> 00:07:22,000 Mali sme ints v C. 104 00:07:22,000 --> 00:07:26,000 Sme trochu mali reťazcov v C, 105 00:07:26,000 --> 00:07:31,000 takže reťazce neboli úplne dôveryhodne typ v tom zmysle, že 106 00:07:31,000 --> 00:07:37,000 náš CS50 reťazec bol naozaj to, čo? 107 00:07:37,000 --> 00:07:39,000 Je nám ľúto? Missy? 108 00:07:39,000 --> 00:07:41,000 [Missy] Char *. 109 00:07:41,000 --> 00:07:43,000 Jo, to bol tento char * sme použili. 110 00:07:43,000 --> 00:07:47,000 Na samom začiatku semestra sme používali typ reťazca, 111 00:07:47,000 --> 00:07:52,000 ale bolo to naozaj char * pod kapotou. 112 00:07:52,000 --> 00:07:58,000 Práve sme typom definoval to, že v PHP tieto reťazce sú pre konkrétny typ. 113 00:07:58,000 --> 00:08:07,000 Nie je viac o tomto char veci * typ. 114 00:08:07,000 --> 00:08:10,000 >> Uvidíte, že môžeme robiť oveľa viac vecí s reťazcami 115 00:08:10,000 --> 00:08:14,000 oveľa ľahšie v PHP, ako sme mohli v C, 116 00:08:14,000 --> 00:08:17,000 a potom konečne, máme túto Boolovský typ, a veľký rozdiel je, že 117 00:08:17,000 --> 00:08:21,000 ak by sme sa posunúť späť dole, vidíme, že názov týchto typov 118 00:08:21,000 --> 00:08:28,000 sú teraz integer, string, a boolean miesto int a bool, 119 00:08:28,000 --> 00:08:31,000 a ako si vyzdvihnúť rôzne programovacie jazyky, 120 00:08:31,000 --> 00:08:36,000 za predpokladu, že v určitom okamihu vo vašich životoch vám prísť do styku s 121 00:08:36,000 --> 00:08:40,000 rôzne ty si všimnete malé muchy, ako je táto 122 00:08:40,000 --> 00:08:44,000 kde C volá celé čísla typu int. 123 00:08:44,000 --> 00:08:46,000 Niektorí to nazývajú celé čísla. 124 00:08:46,000 --> 00:08:51,000 Existujú aj iné pojmy, ktoré budete spúšťať do. 125 00:08:51,000 --> 00:08:55,000 Big int sme dnes videli v SQL. 126 00:08:55,000 --> 00:08:59,000 Tam sú tiež množstvo a kliknite na bool, boolean, 127 00:08:59,000 --> 00:09:03,000 všetky druhy rozdielov tam. 128 00:09:03,000 --> 00:09:07,000 >> To nie je príliš zaujímavé, ale teraz budem vám trochu času, 129 00:09:07,000 --> 00:09:13,000 ak sa priblížiť späť k práci toto cvičenie na spodnej strane 3 130 00:09:13,000 --> 00:09:20,000 kde sa požaduje, aké typy zodpovedajú tieto hodnoty tu dole. 131 00:09:20,000 --> 00:09:24,000 Máme 3,50. 132 00:09:24,000 --> 00:09:28,000 Máme tú vec tu, čo je zaujímavé. 133 00:09:28,000 --> 00:09:32,000 Nevideli sme, že skôr, ale ak ste sledovali spoločne v prednáške 134 00:09:32,000 --> 00:09:35,000 už pravdepodobne viete, čo to je. 135 00:09:35,000 --> 00:09:40,000 Potom máme toto, čo je druh funky. 136 00:09:40,000 --> 00:09:42,000 Spoznávate toto. 137 00:09:42,000 --> 00:09:46,000 Čo je to v C? 138 00:09:46,000 --> 00:09:50,000 Sam? Čo by to dať v C? 139 00:09:50,000 --> 00:09:54,000 To by otvoriť súbor s názvom dynamic.php a urobiť z neho čitateľné. 140 00:09:54,000 --> 00:09:58,000 Jo, a čo by sa typ premennej, ktoré by sme priradiť to? Hviezdy súboru >>. 141 00:09:58,000 --> 00:10:02,000 Presne tak, by sme priradiť to do súboru hviezdy. 142 00:10:02,000 --> 00:10:08,000 To je legitímna PHP príliš. 143 00:10:08,000 --> 00:10:12,000 Spustiť to. Pozrite sa, čo sa stane, keď miniete, že do GetType. 144 00:10:12,000 --> 00:10:19,000 A potom tiež zistiť, čo null, čo by to mohlo byť v PHP. 145 00:10:19,000 --> 00:10:21,000 Dám vám pár minút. 146 00:10:21,000 --> 00:10:24,000 Môžete si doslova skopírovať a vložiť tieto hodnoty, 147 00:10:24,000 --> 00:10:29,000 a potom budeme robiť trochu náhodný hovor na vás 148 00:10:29,000 --> 00:10:34,000 a uvidíte, čo máš. 149 00:10:34,000 --> 00:10:36,000 >> [Študent] Mám dotaz. << Jo. 150 00:10:36,000 --> 00:10:40,000 V jednej z prednášok David povedal, že je to niečo, čo si môžete dať v hornej časti súboru 151 00:10:40,000 --> 00:10:43,000 takže nemusíte písať v PHP zakaždým. 152 00:10:43,000 --> 00:10:45,000 Čo to bolo? 153 00:10:45,000 --> 00:10:50,000 On bol pravdepodobne hovorí o libre tresku, hash bang. 154 00:10:50,000 --> 00:10:57,000 Je to smernica, ktorá, ak označíte súbor ako spustiteľný 155 00:10:57,000 --> 00:11:01,000 potom to, čo robí, je pri spustení súboru 156 00:11:01,000 --> 00:11:06,000 bude rozprávať shell program 157 00:11:06,000 --> 00:11:12,000 používať PHP interpret interpretovať obsah súboru. 158 00:11:12,000 --> 00:11:16,000 Otázkou je, čo je to špeciálna linka 159 00:11:16,000 --> 00:11:20,000 že by mohli obsahovať v hornej časti našich PHP súborov nemusí obsahovať 160 00:11:20,000 --> 00:11:26,000 tento riadok PHP alebo tento príkaz PHP kedykoľvek chceme spustiť súbor? 161 00:11:26,000 --> 00:11:31,000 A môžete skutočne urobiť s partiou rôznych súborov. 162 00:11:31,000 --> 00:11:37,000 Verím, že to záleží na tom, kde je uložený binárne PHP, 163 00:11:37,000 --> 00:11:43,000 ale často usr / bin / php je dobré miesto pre štart. 164 00:11:43,000 --> 00:11:45,000 Môžete prísť na toto presne tým, že ide späť do svojho zariadenia 165 00:11:45,000 --> 00:11:50,000 a písať, aké php. 166 00:11:50,000 --> 00:11:55,000 Ktorý príkaz zistí, keď ste vykonávanie binárne 167 00:11:55,000 --> 00:12:01,000 alebo príkaz, kde zodpovedajúci súbor. 168 00:12:01,000 --> 00:12:06,000 To mi hovorí, že PHP je naozaj aliasing tento binárny súbor 169 00:12:06,000 --> 00:12:13,000 že sú uložené v usr / bin, čo je, kde sú nainštalované veľa systémových binárnych súborov. 170 00:12:13,000 --> 00:12:21,000 Napríklad, keď som prejdite až na vrchol, teraz, keď som si toto #! linka tu 171 00:12:21,000 --> 00:12:27,000 Môžem prejdite nadol, a môžem skúsiť spustiť 172 00:12:27,000 --> 00:12:35,000 dynamic.php, ale ja som túto chybu o povolenie zbavený, 173 00:12:35,000 --> 00:12:42,000 a čo to znamená, je to, že tento súbor nie je v súčasnej dobe dáva spustiteľných oprávnenie. 174 00:12:42,000 --> 00:12:46,000 Nie je to označené ako súbor, ktorý niekto môže bežať. 175 00:12:46,000 --> 00:12:52,000 >> Keď bežal iniciovať alebo zvonenie a máte spustiteľný z neho 176 00:12:52,000 --> 00:12:56,000 kompilátor bol dosť chytrý, aby vedel, že hej, ja staviam spustiteľný. 177 00:12:56,000 --> 00:13:00,000 Pravdepodobne budete chcieť urobiť, tak to by automaticky nakonfigurovať 178 00:13:00,000 --> 00:13:02,000 oprávnenie pre vás. 179 00:13:02,000 --> 00:13:06,000 To nie je prípad, aj keď, keď vytvoríte normálne súbor od nuly, 180 00:13:06,000 --> 00:13:13,000 Dôvodom je zvyčajne nechcete mať ľubovoľný súbor v systéme byť spustiteľný, 181 00:13:13,000 --> 00:13:15,000 takže máte skutočne ísť a ručne to. 182 00:13:15,000 --> 00:13:22,000 Najjednoduchší spôsob, ako to urobiť, je pomocou príkazu chmod, 183 00:13:22,000 --> 00:13:28,000 a chmod + x hovorí pridať spustiteľný bit 184 00:13:28,000 --> 00:13:31,000 pretože tam je čítanie bit, zápis bit a bit spúšťanie, 185 00:13:31,000 --> 00:13:35,000 r, w a x, 186 00:13:35,000 --> 00:13:39,000 a hovorí chmod + x zapne spustiteľného bit 187 00:13:39,000 --> 00:13:46,000 pre potom súbor, ktorý sme určíte, ktorá v tomto prípade bude dynamic.php. 188 00:13:46,000 --> 00:13:49,000 >> [Študent] je, že sa obrátil na pre každého? 189 00:13:49,000 --> 00:13:52,000 Poďme sa pozrieť na toto, tak ako by som skontrolovať oprávnenie? 190 00:13:52,000 --> 00:13:54,000 Viete, ako by som skontrolovať oprávnenie súboru? 191 00:13:54,000 --> 00:13:56,000 [Nepočuteľné Študent odpoveď] 192 00:13:56,000 --> 00:13:58,000 Je nám ľúto? >> [Študent] XSD. 193 00:13:58,000 --> 00:14:03,000 XSD nám dáva súbor hack. 194 00:14:03,000 --> 00:14:09,000 Výpis všetkých súborov,-l, ukáže mi všetky súbory v mojom adresári 195 00:14:09,000 --> 00:14:13,000 druh v ich dlhej, zoznam podrobného, ​​a tak tu vidíme, že 196 00:14:13,000 --> 00:14:17,000 tento dynamic.php súbor 197 00:14:17,000 --> 00:14:23,000 Čas poslednej úpravy 5. novembra o 16:21. 198 00:14:23,000 --> 00:14:26,000 Majiteľ tohto súboru je jharvard. 199 00:14:26,000 --> 00:14:28,000 To je užívateľ, ktorý je prihlásený 200 00:14:28,000 --> 00:14:31,000 To je užívateľ pracujem ako, 201 00:14:31,000 --> 00:14:36,000 a ak ste tiež v zariadení budete tiež pracovať ako užívateľ jharvard. 202 00:14:36,000 --> 00:14:38,000 Ste v skupine študentov, 203 00:14:38,000 --> 00:14:44,000 a to sú veci, ktoré uvidíte dosť často. 204 00:14:44,000 --> 00:14:47,000 >> Môžeme ísť do množstva detailov tu 205 00:14:47,000 --> 00:14:50,000 ale z veľkej časti to, čo budete chcieť pozrieť na keď hľadáte vidieť 206 00:14:50,000 --> 00:14:55,000 či je súbor spustiteľný je primárne 207 00:14:55,000 --> 00:14:58,000 užívateľ, ktorý vlastní súbor, majiteľ, 208 00:14:58,000 --> 00:15:03,000 tak to jharvard, a potom máme 209 00:15:03,000 --> 00:15:07,000 že oprávnenie bity cez tú na ľavej strane, 210 00:15:07,000 --> 00:15:13,000 a spôsob čítania je to, že posledný bit 211 00:15:13,000 --> 00:15:18,000 zvyčajne sa používa na označenie, či aspoň v tomto prípade 212 00:15:18,000 --> 00:15:21,000 Tento posledný bit bude často byť nastavený na reklamné uviesť 213 00:15:21,000 --> 00:15:24,000 že súbor je adresár a nie len normálne súbor. 214 00:15:24,000 --> 00:15:28,000 Potom nasledujúce 3 bity priamo tu 215 00:15:28,000 --> 00:15:34,000 určiť oprávnenia, ktoré vlastník súboru má, 216 00:15:34,000 --> 00:15:38,000 takže v tomto prípade jharvard, ako vlastníka súboru, vie čítať a písať tento súbor, 217 00:15:38,000 --> 00:15:42,000 ale tam je pomlčka hovorí, že jharvard nemožno spustiť tento súbor. 218 00:15:42,000 --> 00:15:46,000 Ďalších 3 bity sú pre skupinu, takže to je študenti skupina, 219 00:15:46,000 --> 00:15:49,000 takže ak tam boli viac užívateľov na mojom zariadení, 220 00:15:49,000 --> 00:15:52,000 a my sme viac užívateľov ako súčasť študentov skupiny, 221 00:15:52,000 --> 00:15:55,000 potom môžu všetci tento súbor čítať, ale nevie písať to, 222 00:15:55,000 --> 00:15:59,000 a podobne niekto iný, svet 223 00:15:59,000 --> 00:16:01,000 možno iba čítať tento súbor tiež. 224 00:16:01,000 --> 00:16:03,000 Tam je dobrý, dlho writeup o tom, 225 00:16:03,000 --> 00:16:05,000 takže si môžete prečítať on-line. 226 00:16:05,000 --> 00:16:10,000 V spec problému nastavenej ideme do toho podrobnejšie. 227 00:16:10,000 --> 00:16:12,000 >> [Študent] Je 218 s odkazom na svete? 228 00:16:12,000 --> 00:16:17,000 The 218 je-off z vrcholu mojej hlave som zabudla, 229 00:16:17,000 --> 00:16:20,000 ale nie. 230 00:16:20,000 --> 00:16:29,000 Poďme sa pozrieť,. Som zaslepenie na tom teraz. 231 00:16:29,000 --> 00:16:32,000 Späť na to, čo sme mali čo do činenia s týmto chmod + x 232 00:16:32,000 --> 00:16:37,000 kde sme chceli dať dynamic.php spustiteľné oprávnenia, 233 00:16:37,000 --> 00:16:40,000 a bolo otázkou, či alebo nie toto by spustiteľné oprávnenia pre každého 234 00:16:40,000 --> 00:16:44,000 alebo len jharvard, a môžeme vidieť podľa 235 00:16:44,000 --> 00:16:48,000 spustenie príkazov a písanie ls-l, 236 00:16:48,000 --> 00:16:51,000 a teraz vidíme, že je to označené ako spustiteľný. 237 00:16:51,000 --> 00:16:54,000 Môžete vidieť, že tam bola zmena farby. 238 00:16:54,000 --> 00:16:57,000 Teraz dynamic.php je uvedený v zelenej, 239 00:16:57,000 --> 00:17:01,000 a vyzerá to, že odpoveď na otázku je to, čo, Charlotte? 240 00:17:01,000 --> 00:17:04,000 [Charlotte] Iba jharvard. >> Iba jharvard, jo. 241 00:17:04,000 --> 00:17:08,000 >> Ak by sme chceli sa otočiť spustiteľný bit pre všetky 242 00:17:08,000 --> 00:17:10,000 ako môžeme urobiť, že? 243 00:17:10,000 --> 00:17:13,000 Akékoľvek myšlienky? >> + X? 244 00:17:13,000 --> 00:17:15,000 Jo, presne tak. 245 00:17:15,000 --> 00:17:23,000 Charlotte povedala, čo môžeme urobiť chmod o + x z dynamic.php, 246 00:17:23,000 --> 00:17:26,000 a teraz, keď sme sa spustiť ls-l vidíme, že spustiteľné bity 247 00:17:26,000 --> 00:17:30,000 skutočne zapnutá pre každého. 248 00:17:30,000 --> 00:17:37,000 A môžete skutočne urobiť opak tohto, takže si môžete vypnúť pre všetky 249 00:17:37,000 --> 00:17:41,000 pomocou mínus. 250 00:17:41,000 --> 00:17:46,000 Teraz je vypnutý, a teraz môžeme ho znovu zapnite pre jharvard 251 00:17:46,000 --> 00:17:52,000 takže môžeme skutočne spustiť hneď, 252 00:17:52,000 --> 00:17:58,000 a teraz vidíte, keď sme sa spustiť kód tejto špeciálnej #! linka hore, 253 00:17:58,000 --> 00:18:04,000 #! line, povedal shell, 254 00:18:04,000 --> 00:18:08,000 povedal nášmu terminálu hey, pri spustení tento súbor, 255 00:18:08,000 --> 00:18:14,000 použiť / usr / bin / php interpretovať tento súbor 256 00:18:14,000 --> 00:18:20,000 a potom vytlačiť výstup. 257 00:18:20,000 --> 00:18:22,000 [Nepočuteľné Študent otázka] 258 00:18:22,000 --> 00:18:25,000 Iste, dovoľte mi, aby som sa posunúť späť. Rovnako ako tento. 259 00:18:25,000 --> 00:18:36,000 Uvidíte všetky z týchto smerníc začať s týmto libru a potom výkričník, 260 00:18:36,000 --> 00:18:39,000 niekedy volal shebang, hash bang. 261 00:18:39,000 --> 00:18:48,000 >> [Študent] Ako môžeme spustiť s dynamic.php php, než sme robiť to spustiteľný? 262 00:18:48,000 --> 00:18:55,000 Otázkou bolo, ako môžeme spustiť toto použitie binárne PHP 263 00:18:55,000 --> 00:18:58,000 zatiaľ čo dynamic.php nie je spustiteľný? 264 00:18:58,000 --> 00:19:01,000 To je super dôležité, pretože to je presne to, ako 265 00:19:01,000 --> 00:19:06,000 že to bude fungovať, keď píšete problém sadu 7. 266 00:19:06,000 --> 00:19:09,000 Väčšina z časových PHP súbory nie sú priamo spustiteľný. 267 00:19:09,000 --> 00:19:14,000 Spôsob, akým funguje, je preto, že je to PHP binárny, že je spustiteľný. 268 00:19:14,000 --> 00:19:16,000 Tlmočník je vec, ktorá je vykonávaná, 269 00:19:16,000 --> 00:19:20,000 a tak to, čo to robí je doslova slurping v časti obsahu 270 00:19:20,000 --> 00:19:25,000 nášho dynamic.php súboru a ísť riadok po riadku 271 00:19:25,000 --> 00:19:29,000 a vykonávanie týchto príkazov, takže je to s použitím nášho PHP súboru 272 00:19:29,000 --> 00:19:31,000 ako zoznam inštrukcií. 273 00:19:31,000 --> 00:19:36,000 Nie je to priamo spustením. 274 00:19:36,000 --> 00:19:40,000 To je miesto, kde môžeme povedať, že tieto súbory sú interpretované v dobe behu. 275 00:19:40,000 --> 00:19:46,000 Je to doba chodu jazyk miesto niečoho, čo v čase prekladu, 276 00:19:46,000 --> 00:19:49,000 nie je skompilovaný jazyk ako C. 277 00:19:49,000 --> 00:19:54,000 >> Existuje spôsob, ako získať runtime jazyk správať, ako by to kompilácia čas jazyk, 278 00:19:54,000 --> 00:19:58,000 ako keď máte všetky chodu urobil na serveri 279 00:19:58,000 --> 00:20:00,000 skôr než viete, čo tým myslím? 280 00:20:00,000 --> 00:20:04,000 Áno, takže otázka je 281 00:20:04,000 --> 00:20:11,000 Existuje spôsob, ako sa dostať doba chodu jazyky konať viac ako kompilácia typy jazykov? 282 00:20:11,000 --> 00:20:18,000 A sú tu, myslím, že je aktívna oblasť výskumu pre mnohé z týchto spoločností. 283 00:20:18,000 --> 00:20:22,000 Verím, že Facebook urobil veľa práce s PHP 284 00:20:22,000 --> 00:20:25,000 a zostavovanie ho, čo je rýchlejší, optimalizáciou 285 00:20:25,000 --> 00:20:29,000 pretože ich stránky sú založené na PHP. 286 00:20:29,000 --> 00:20:34,000 Ak ste sledovali node.js vôbec, 287 00:20:34,000 --> 00:20:40,000 ktorý je tak trochu o tlmočníka JavaScript 288 00:20:40,000 --> 00:20:44,000 aby bolo možné spúšťať JavaScript mimo prehliadač, mimo Vašom webovom prehliadači, 289 00:20:44,000 --> 00:20:47,000 pretože tradične JavaScript by len spustiť vnútri Firefoxu alebo Chrome, 290 00:20:47,000 --> 00:20:52,000 a to by byť použité, aby chladné animácie stalo na webovej stránke 291 00:20:52,000 --> 00:20:55,000 a aby vaše webové stránky dynamické. 292 00:20:55,000 --> 00:20:59,000 , Ktorá bola postavená na veľa práce, že Google urobil 293 00:20:59,000 --> 00:21:03,000 aby JavaScript a C + + 294 00:21:03,000 --> 00:21:09,000 zviazať dohromady, takže je tu veľa aktívneho výskumu na 295 00:21:09,000 --> 00:21:13,000 sa tieto jazyky k interakcii a optimalizovať, 296 00:21:13,000 --> 00:21:17,000 predovšetkým preto, že veľa ľudí môže kód v PHP a JavaScriptu 297 00:21:17,000 --> 00:21:19,000 pretože je to oveľa jednoduchšie. 298 00:21:19,000 --> 00:21:21,000 Je to oveľa lepšie. Nemáte ukazovatele. 299 00:21:21,000 --> 00:21:27,000 Nemáte typy kolovať. 300 00:21:27,000 --> 00:21:31,000 Chceli získať výhody z týchto kompilácie jazykoch 301 00:21:31,000 --> 00:21:36,000 so všetkými kontrolu typu a rýchlosti a nižšie využitie pamäte a všetky, ktoré 302 00:21:36,000 --> 00:21:42,000 pri zachovaní flexibility a jednoduchosti použitia týchto novšími. 303 00:21:42,000 --> 00:21:46,000 >> Späť k našej pôvodnej plán útoku. 304 00:21:46,000 --> 00:21:50,000 Máme niektoré z týchto otázok tu v našej špec problému set. 305 00:21:50,000 --> 00:21:54,000 Poďme cez ne naozaj rýchlo, a pôjdeme po miestnosti. 306 00:21:54,000 --> 00:21:59,000 Charlotte, aký typ je 3,50? 307 00:21:59,000 --> 00:22:01,000 [Charlotte] To je dvojaký. >> Je to double. 308 00:22:01,000 --> 00:22:03,000 Jimmy, čo je tá ďalšia? >> Pole. 309 00:22:03,000 --> 00:22:09,000 Pole, úžasné, a Jared, čo je fopen? 310 00:22:09,000 --> 00:22:11,000 [Jared] Je to zdroj. >> Je to zdroj. 311 00:22:11,000 --> 00:22:15,000 To je trochu nového, nie súbor hviezdy, nie súbor. 312 00:22:15,000 --> 00:22:19,000 Je to zdroj typu v PHP, 313 00:22:19,000 --> 00:22:24,000 a je mi ľúto, Ella, posledný null je to, čo? 314 00:22:24,000 --> 00:22:26,000 Null. 315 00:22:26,000 --> 00:22:28,000 Null, ako je napísaná v PHP? >> Rovnakým spôsobom. 316 00:22:28,000 --> 00:22:30,000 Rovnakým spôsobom, hlavice? >> Jo. 317 00:22:30,000 --> 00:22:33,000 Jo, v poriadku. 318 00:22:33,000 --> 00:22:35,000 Ideme na to, máme double, máme celý rad, 319 00:22:35,000 --> 00:22:41,000 máme zdroj, a potom máme null. 320 00:22:41,000 --> 00:22:48,000 Poďme sa pozrieť teraz ste videli- 321 00:22:48,000 --> 00:22:51,000 uvidíme, takže teraz myslím, že to, čo som tiež chcú urobiť, je vytiahnuť 322 00:22:51,000 --> 00:22:56,000 táto webová stránka priamo tu, tento php.net / manual, 323 00:22:56,000 --> 00:23:01,000 takže ak ste rozumiem a otvoriť webový prehliadač. 324 00:23:01,000 --> 00:23:07,000 Idem vytiahnuť Chrome, daj to dovnútra 325 00:23:07,000 --> 00:23:10,000 Chcem ti ukáže to nielen preto, že 326 00:23:10,000 --> 00:23:13,000 môžeme hovoriť celý deň o typoch a všetko, čo zábavné veci 327 00:23:13,000 --> 00:23:19,000 ale skôr preto, že je to príručka PHP, 328 00:23:19,000 --> 00:23:23,000 a existuje veľa PHP programátorov tam. 329 00:23:23,000 --> 00:23:26,000 Existuje mnoho internetových stránok PHP tam, 330 00:23:26,000 --> 00:23:31,000 a ako výsledok, tam je veľa dokumentácie na PHP, 331 00:23:31,000 --> 00:23:36,000 a manuálne, to php.net, je naozaj dobré miesto, ísť 332 00:23:36,000 --> 00:23:43,000 ak máte otázky o tom, čo je najlepší spôsob, ako to urobiť X v PHP 333 00:23:43,000 --> 00:23:45,000 alebo čo to funkcia vyzerať? 334 00:23:45,000 --> 00:23:49,000 Tak nejako, ako sa zoznámiť s tým, čo to vyzerá, pretože 335 00:23:49,000 --> 00:23:54,000 budete sem často, bit pre problém nastaviť 7. 336 00:23:54,000 --> 00:23:57,000 >> Ak ste skončili robiť záverečný projekt, ktorý používa PHP 337 00:23:57,000 --> 00:24:04,000 to bude miesto, staneš sa veľmi dobre oboznámený s 338 00:24:04,000 --> 00:24:09,000 Často tak ľudia robia, je, že používajú Google na hľadanie miesta, 339 00:24:09,000 --> 00:24:16,000 a nemajú použite vyhľadávacie pole, ktoré je tu v pravom hornom rohu, ktorý je tak trochu malý. 340 00:24:16,000 --> 00:24:19,000 Ak ste Googling asi niečo robiť s PHP a uvidíte 341 00:24:19,000 --> 00:24:24,000 jeden z manuálnych odkazov vyskočí môžete zvyčajne spoľahnúť na to 342 00:24:24,000 --> 00:24:31,000 ako celkom dobrý zdroj. 343 00:24:31,000 --> 00:24:34,000 Úžasné, tak z týchto typov, len tak zo zvedavosti, 344 00:24:34,000 --> 00:24:37,000 ktoré z nich ešte sme nevideli? 345 00:24:37,000 --> 00:24:40,000 Čokoľvek sme nevideli tú? 346 00:24:40,000 --> 00:24:44,000 [Študent] Resource. >> Videli sme zdroj s fopen hovoru. 347 00:24:44,000 --> 00:24:48,000 [Študent] objektov. >> Námietky sme nevideli určite. 348 00:24:48,000 --> 00:24:51,000 Volanie sme nevideli. 349 00:24:51,000 --> 00:24:54,000 K dispozícii sú niektoré z týchto pseudo-typov. 350 00:24:54,000 --> 00:24:57,000 Určite videl iba integer a double. 351 00:24:57,000 --> 00:25:01,000 Nevideli sme niektorí iní, takže ak klikneme na celé čísla 352 00:25:01,000 --> 00:25:08,000 môžeme vidieť, sú ešte nejaké ďalšie celočíselné hodnoty, ktoré oni majú tu? 353 00:25:08,000 --> 00:25:11,000 Sú všetci-tak integer, integer, integer. 354 00:25:11,000 --> 00:25:14,000 Niektoré jazyky majú väčšiu celočíselné typy, 355 00:25:14,000 --> 00:25:23,000 ako sme videli na MySQL dnes tam bol int a potom veľké int. 356 00:25:23,000 --> 00:25:25,000 Cool. 357 00:25:25,000 --> 00:25:28,000 >> Takže, PHP manuál. 358 00:25:28,000 --> 00:25:37,000 Vráťme sa k nášmu problému spec set, a my teraz prejdite na stránku 4. 359 00:25:37,000 --> 00:25:41,000 Jedna z vecí, ktoré sa stane, keď sa dostanete tieto jazyky 360 00:25:41,000 --> 00:25:49,000 ktoré nemajú túto statickú písanie, takže tieto jazyky, kde musíte deklarovať 361 00:25:49,000 --> 00:25:52,000 typ prednej premenné až 362 00:25:52,000 --> 00:26:00,000 je dostanete na prípady, kedy môžete začať s premenné rôznych typov 363 00:26:00,000 --> 00:26:04,000 interakcie medzi sebou navzájom, 364 00:26:04,000 --> 00:26:09,000 a PHP robí túto vec, kde sa snaží urobiť 365 00:26:09,000 --> 00:26:13,000 to, čo považuje za najrozumnejšie vec 366 00:26:13,000 --> 00:26:18,000 keď máte 2 rôzne typy na seba vzájomne pôsobia. 367 00:26:18,000 --> 00:26:24,000 Napríklad, ak sa pozrieme na tieto riadky kódu priamo tu 368 00:26:24,000 --> 00:26:29,000 vidíte, že sme dostali to, čo sa stane, keď 369 00:26:29,000 --> 00:26:38,000 snažíme pridať reťazec 1 na celé číslo 2. 370 00:26:38,000 --> 00:26:41,000 Čo sa stane, keď sa budeme snažiť a pridať reťazec, ktorý nie je číselná hodnota 371 00:26:41,000 --> 00:26:48,000 ale skutočné znaky, SK k počtu 50? 372 00:26:48,000 --> 00:26:51,000 Potom uvidíme, je tam niečo iné, čo sa deje, kde 373 00:26:51,000 --> 00:26:56,000 miesto pridanie reťazec na číslo sme zapísanie čísla na reťazec, 374 00:26:56,000 --> 00:27:00,000 a tak ďalej a tak ďalej do bodu, kedy sme získali 375 00:27:00,000 --> 00:27:05,000 nejaký divný veci tu, kde máme 7 + pravda. 376 00:27:05,000 --> 00:27:09,000 Čo sakra to znamená? 377 00:27:09,000 --> 00:27:19,000 >> Ak ste ísť dopredu a vložte niektoré z tohto kódu do vášho prístroja. 378 00:27:19,000 --> 00:27:27,000 Môžete držať ju v dynamic.php. 379 00:27:27,000 --> 00:27:30,000 Uvidíme, čo sa stane. 380 00:27:41,000 --> 00:27:43,000 [Študent] Stačí použiť tlač, nie printf? 381 00:27:43,000 --> 00:27:52,000 Jo, takže zistíte, že tlač je tiež platný funkcie pre tlač v PHP. 382 00:27:52,000 --> 00:27:54,000 Existuje mnoho rôznych spôsobov, ako to urobiť. 383 00:27:54,000 --> 00:27:58,000 Uvidíme sa za pár príkladov neskôr, akonáhle začneme hovoriť 384 00:27:58,000 --> 00:28:02,000 o unikátny problému, ktorý budeme písať 385 00:28:02,000 --> 00:28:06,000 a potom koncentrácia problém, ktorý budeme písať 386 00:28:06,000 --> 00:28:09,000 že aj keď máme fopen a fclose 387 00:28:09,000 --> 00:28:15,000 to často nie je najjednoduchší spôsob, ako čítať v obsahu súboru. 388 00:28:15,000 --> 00:28:21,000 PHP má mnoho z týchto C-ako holdovers. 389 00:28:21,000 --> 00:28:28,000 [Študent] Keď som dal vo všetkých 6 týchto vecí, ktoré som len jednu radu ako výstup. 390 00:28:28,000 --> 00:28:36,000 [Nate H.] Keď dáš vo všetkých 6 týchto vecí. 391 00:28:36,000 --> 00:28:39,000 Poďme sa pozrieť, je to preto, že je to možno- 392 00:28:39,000 --> 00:28:46,000 jedna vec je, že tieto tlačové hovory nie sú ukončené na konci sa nových tratiach. 393 00:28:46,000 --> 00:28:49,000 Tam je žiadny nový priamka oddeľujúce každý z týchto tlačových hovorov, 394 00:28:49,000 --> 00:28:51,000 takže možno, že ste stále jeden veľký počet, 395 00:28:51,000 --> 00:28:58,000 a je to naozaj len amalgám znaky nového riadku. 396 00:28:58,000 --> 00:29:00,000 [Študent] Dobre, ako sa môžem uistiť, - 397 00:29:00,000 --> 00:29:03,000 No, existuje banda rôznymi spôsobmi. 398 00:29:03,000 --> 00:29:06,000 Dalo by sa ručne dať do tlače nového riadku znak, 399 00:29:06,000 --> 00:29:09,000 ozvena znak nového riadku, 400 00:29:09,000 --> 00:29:12,000 vytlačiť novej rady. 401 00:29:12,000 --> 00:29:16,000 [Študent] Tak echo je to isté ako printf? 402 00:29:16,000 --> 00:29:21,000 >> Printf je ako C printf 403 00:29:21,000 --> 00:29:24,000 kde tlačíte formátovaný reťazec. 404 00:29:24,000 --> 00:29:32,000 Tie dodáva jej formátovací reťazec a potom všetky zástupné premenné. 405 00:29:32,000 --> 00:29:39,000 Je to často niečo, čo sa nepoužíva, 406 00:29:39,000 --> 00:29:42,000 uvidíme, ako vylúčenie zodpovednosti, 407 00:29:42,000 --> 00:29:48,000 Som menej oboznámený s PHP, ako som s inými webovými jazykmi, 408 00:29:48,000 --> 00:29:53,000 a keď som sa naprogramovať v PHP som obvykle nepoužívajú printf 409 00:29:53,000 --> 00:29:59,000 pretože mi to rýchlejšie použiť Schopnosti reťazec interpolácie, že to má, 410 00:29:59,000 --> 00:30:04,000 ktoré pôjdeme do a ja vám ukážem, pár sekúnd, 411 00:30:04,000 --> 00:30:08,000 vzhľadom k tomu, v C sme trochu musieť urobiť hacky vec, aby si to vytlačiť správne. 412 00:30:08,000 --> 00:30:16,000 Môžete totiž premenné priamo do reťazca v PHP. 413 00:30:16,000 --> 00:30:22,000 Printf je trochu príliš dlho na to, čo zvyčajne robím. Áno, Ella. 414 00:30:22,000 --> 00:30:25,000 [Ella] Všeobecne, ak sa dostanete chybe analýzy to znamená, 415 00:30:25,000 --> 00:30:30,000 ako na C to nemôžem povedať, kde presne je chyba, a čo to je, 416 00:30:30,000 --> 00:30:34,000 Takže to znamená, pozri cez celú kódu a to prišiel? 417 00:30:34,000 --> 00:30:39,000 Je to zvyčajne cielenejšie než to. 418 00:30:39,000 --> 00:30:48,000 Myslím, že v tomto prípade to bolo trochu mimo, 419 00:30:48,000 --> 00:30:51,000 takže myslím, že v tomto prípade sme boli chýba bodkočiarka. 420 00:30:51,000 --> 00:30:54,000 To sa snažil nájsť zmysel všetkého, 421 00:30:54,000 --> 00:30:57,000 tak ako týchto interpretovaných jazykov, tlmočník sa bude snažiť 422 00:30:57,000 --> 00:31:01,000 a čo najlepšie, aby sa všetko prácu zodpovedajúcim spôsobom. 423 00:31:01,000 --> 00:31:04,000 >> Uvidíte, napríklad v JavaScripte 424 00:31:04,000 --> 00:31:10,000 Budete často-line príkazy end sa bodkočiarkou rovnako, ako je tomu v PHP, 425 00:31:10,000 --> 00:31:13,000 rovnako ako je tomu v C. 426 00:31:13,000 --> 00:31:15,000 V JavaScriptu niektorých tlmočníkov JavaScript 427 00:31:15,000 --> 00:31:20,000 v mnohých prehliadačoch sa dať do bodkočiarky pre vás 428 00:31:20,000 --> 00:31:23,000 ak ste náhodou, že chýba im. 429 00:31:23,000 --> 00:31:29,000 Budú sa snažiť a prispôsobiť pre niektoré nedbanlivosti na vašej strane. 430 00:31:29,000 --> 00:31:34,000 To je miesto, kde by to mohlo byť sa snaží a snaží a snaží veci fungujú, 431 00:31:34,000 --> 00:31:36,000 a potom nakoniec sa dostaneme k bodu, kde sa hovorí v poriadku, 432 00:31:36,000 --> 00:31:38,000 Nemôžem robiť veci pracovať na kauciu, a to je miesto, kde dostanete číslo riadku 433 00:31:38,000 --> 00:31:44,000 že by sa mohlo zdať trochu mimo od presného miesta. 434 00:31:44,000 --> 00:31:47,000 Dobre, tak poďme prejsť to naozaj rýchlo. 435 00:31:47,000 --> 00:31:50,000 Sme skončili s Ellou, takže poďme sa k Missy, 436 00:31:50,000 --> 00:31:54,000 a Missy, čo tlač reťazca 1 plus počet 2 vám? 437 00:31:54,000 --> 00:31:56,000 [Missy] 3. >> 3. 438 00:31:56,000 --> 00:31:59,000 Dáva to zmysel? Tak nejako? 439 00:31:59,000 --> 00:32:02,000 Znamená to dať číslo? Znamená to dať reťazec? 440 00:32:02,000 --> 00:32:05,000 [Missy] číslo. >> Je to číslo. 441 00:32:05,000 --> 00:32:09,000 Ale je to tlač, takže to bude dať nejaký reťazec. 442 00:32:09,000 --> 00:32:12,000 >> Jedna vec, ktorú môžeme urobiť, aby sme zistili, či na to 443 00:32:12,000 --> 00:32:21,000 Ak je my $ var = 1 + 2 444 00:32:21,000 --> 00:32:28,000 a potom povieme, ozvenu GetType, 445 00:32:28,000 --> 00:32:33,000 takže sme použili tretej druh tlače tu. 446 00:32:33,000 --> 00:32:39,000 Teraz môžeme vidieť, čo sa deje tu. 447 00:32:39,000 --> 00:32:42,000 Tu, čo máme, je máme celé číslo z toho. 448 00:32:42,000 --> 00:32:45,000 Aj napriek tomu, že sa pridá tento reťazec na číslo, 449 00:32:45,000 --> 00:32:48,000 sme nedostali reťazec z toho, rovnako ako Missy povedala. 450 00:32:48,000 --> 00:32:52,000 Sme dostávali celé číslo. 451 00:32:52,000 --> 00:32:57,000 Dobre, takže uvidíme, next up, Kevin. 452 00:32:57,000 --> 00:32:59,000 SK + 50? >> [Kevin] 50. 453 00:32:59,000 --> 00:33:02,000 [Nate H.] 50. Dáva to zmysel? 454 00:33:02,000 --> 00:33:04,000 [Kevin] Jo. 455 00:33:04,000 --> 00:33:06,000 [Nate H.] Prečo? Prečo má zmysel pre vás? 456 00:33:06,000 --> 00:33:11,000 [Kevin] Pretože je to len mať reťazec, s číslom hodnotu nula. 457 00:33:11,000 --> 00:33:16,000 Jo, skvelý. 458 00:33:16,000 --> 00:33:20,000 Druh nejednoznačných situácií, ale je to dobré vedieť, čo sa stane. 459 00:33:20,000 --> 00:33:25,000 Stella, čo sa bude diať ďalej s číslom 1 + string 2? 460 00:33:25,000 --> 00:33:27,000 [Stella] 3. >> 3 znova. 461 00:33:27,000 --> 00:33:30,000 A v tomto prípade, získame reťazec alebo číslo? 462 00:33:30,000 --> 00:33:36,000 >> Dajme to skúsiť. 463 00:33:36,000 --> 00:33:43,000 Niekto rýchlejšie než mi dostať odpoveď? Charlotte? 464 00:33:43,000 --> 00:33:46,000 Oh, I didn'ti-v poriadku, uvidíme, budeme robiť rovnaký druh veci 465 00:33:46,000 --> 00:33:49,000 kde máme rad plus reťazec, a budeme echo typu, 466 00:33:49,000 --> 00:33:51,000 uvidíme, čo dostaneme. 467 00:33:51,000 --> 00:33:55,000 Tiež sme si celé číslo. 468 00:33:55,000 --> 00:33:58,000 Nezáleží na tom, ktorý z nich je reťazec, ktorý z nich je číslo. 469 00:33:58,000 --> 00:34:00,000 Stále dostaneme celé číslo. 470 00:34:00,000 --> 00:34:04,000 Je to stále bude robiť to, čo by sme mohli očakávať. 471 00:34:04,000 --> 00:34:09,000 Dobre, takže Sam, čo 90 + 9 fliaš piva na stene? 472 00:34:09,000 --> 00:34:12,000 [Sam] 99. >> 99. 473 00:34:12,000 --> 00:34:15,000 Žiadne fľaše piva na stene, aj keď. 474 00:34:15,000 --> 00:34:17,000 To nám dáva trochu viac informácií o tom, čo sa deje. 475 00:34:17,000 --> 00:34:21,000 [Sam] Ak ste písal 9 v listoch 476 00:34:21,000 --> 00:34:23,000 potom budete mať 90, nie? 477 00:34:23,000 --> 00:34:26,000 [Nate H.] Jo. 478 00:34:26,000 --> 00:34:30,000 Otázkou bolo, či by sme napísal 9 out ako N-I-N-E 479 00:34:30,000 --> 00:34:34,000 by sme dostali 99 alebo 90? 480 00:34:34,000 --> 00:34:38,000 Mali by sme si 90. 481 00:34:38,000 --> 00:34:42,000 Je to doslova len hľadá číslice znaky. 482 00:34:42,000 --> 00:34:46,000 Je to dosť šikovný, aby rozpoznať počet slov, a že tak. Áno. 483 00:34:46,000 --> 00:34:48,000 >> [Študent] Je tam taká vec ako obsadiť v PHP? 484 00:34:48,000 --> 00:34:54,000 K dispozícii je, a je to presne tak, ako by ste to urobiť v C. 485 00:34:54,000 --> 00:34:56,000 Čo 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.] Jo, takže to, čo by mohlo byť prekvapivé o tom? 488 00:35:01,000 --> 00:35:04,000 Čo by sa stalo, keby ste rovnaký druh veci v C, 489 00:35:04,000 --> 00:35:06,000 ak ste 10/7 v C? 490 00:35:06,000 --> 00:35:08,000 [Charlotte] To by len vy-v závislosti na tom, ako ste typecasted Myslím, že 491 00:35:08,000 --> 00:35:12,000 to by vám len obmedzený počet číslic za desatinnou čiarkou. 492 00:35:12,000 --> 00:35:16,000 Jo, takže obmedzený počet číslic za desatinnou čiarkou. 493 00:35:16,000 --> 00:35:21,000 Čo iné by mohlo byť, to by vám nejaké číslic za desatinnou? 494 00:35:21,000 --> 00:35:28,000 Často nie, tak znovu, v závislosti na tom, ako ste ju obsadiť 495 00:35:28,000 --> 00:35:31,000 môže alebo nemusí ho previesť na desatinné číslo. 496 00:35:31,000 --> 00:35:35,000 Tu to bolo celkom fajn, že to urobil. 497 00:35:35,000 --> 00:35:40,000 Keby sme vám ukáže vám to späť, keď sme začali robiť tento druh vecí v C 498 00:35:40,000 --> 00:35:44,000 by pravdepodobne urobil trochu väčší zmysel 499 00:35:44,000 --> 00:35:48,000 že nie je len tak, aby 1. 500 00:35:48,000 --> 00:35:51,000 A potom konečne, Jamie, čo 7 + pravda? 501 00:35:51,000 --> 00:35:53,000 [Jamie] 8. >> 8. 502 00:35:53,000 --> 00:35:56,000 Čo to znamená? 503 00:35:56,000 --> 00:35:58,000 Myslím, že to dáva len pravda, hodnota 1. 504 00:35:58,000 --> 00:36:01,000 Jo. Čo sa stane, keď zmeníme, že na false? 505 00:36:01,000 --> 00:36:04,000 [Študent] 7. 506 00:36:04,000 --> 00:36:09,000 Jo, tak si pamätajte, kde budeme hovoriť o týchto binárnych hodnôt, 507 00:36:09,000 --> 00:36:12,000 1 je zapnuté, 0 je vypnuté? 508 00:36:12,000 --> 00:36:17,000 Teraz máme pravda je 1, 0 je false, 509 00:36:17,000 --> 00:36:21,000 a nemusí to videli v príkladoch C, ktoré sme urobili tento rok v semestri, 510 00:36:21,000 --> 00:36:27,000 ale historicky bool typ v C nebol typ real, 511 00:36:27,000 --> 00:36:32,000 takže ľudia používajú 0 a 1 v mieste true a false. 512 00:36:32,000 --> 00:36:35,000 To je prejavom, ktorý. 513 00:36:35,000 --> 00:36:39,000 >> Dobre, takže jedna dôležitá časť o všetkom 514 00:36:39,000 --> 00:36:41,000 je to, že máme tieto rôzne typy. 515 00:36:41,000 --> 00:36:43,000 Môžu na seba vzájomne pôsobia. 516 00:36:43,000 --> 00:36:49,000 Oni môžu často na seba vzájomne pôsobia v cestách, ktoré sú pekné, ako sme videli tu. 517 00:36:49,000 --> 00:36:53,000 Je to pekné, mať možnosť reťazec 1 a číslo 2, pridajte ich dohromady a dostanete 3. 518 00:36:53,000 --> 00:36:55,000 To dáva zmysel. 519 00:36:55,000 --> 00:36:59,000 Avšak, keď píšete webové stránky, a to najmä, keď ste spracovania 520 00:36:59,000 --> 00:37:04,000 užívateľský vstup, takže povedať, že si napísal webový formulár 521 00:37:04,000 --> 00:37:09,000 , Ktorý zhromažďuje informácie od užívateľa a potom ide do spracovávať 522 00:37:09,000 --> 00:37:13,000 na zadnej koniec, na strane servera vo vašom PHP kódu 523 00:37:13,000 --> 00:37:18,000 ak ste očakával, že hodnota, ktorá používateľ napísaný a predložený 524 00:37:18,000 --> 00:37:23,000 Do formulára sa celé číslo alebo byť číslo s plávajúcou čiarkou, alebo niečo také 525 00:37:23,000 --> 00:37:29,000 budete musieť explicitne přetypovat 526 00:37:29,000 --> 00:37:34,000 a potom urobiť nejaké kontroly typu. 527 00:37:34,000 --> 00:37:41,000 >> Vy nechcete len spoliehať na tomto systéme typu žonglovanie, aby to vyjde, 528 00:37:41,000 --> 00:37:48,000 najmä z bezpečnostných dôvodov a len pre robustnosť svoje webové stránky. 529 00:37:48,000 --> 00:37:51,000 Len niečo mať na pamäti, že keď ste manipuláciu dát z formulárov, 530 00:37:51,000 --> 00:37:57,000 čokoľvek, čo príde v pošte alebo get superglobála 531 00:37:57,000 --> 00:38:01,000 uistite sa, že ste vždy overiť, a previesť ju a obsadiť ho. 532 00:38:01,000 --> 00:38:04,000 A rovnako ako sme hovorili o chvíľu pred týmto obsadiť 533 00:38:04,000 --> 00:38:08,000 v PHP je presne rovnaký ako v C, kde budete mať zátvorky 534 00:38:08,000 --> 00:38:14,000 a potom typ. 535 00:38:14,000 --> 00:38:16,000 Majte na pamäti, že. 536 00:38:16,000 --> 00:38:19,000 Jedna funkcia, ktorá príde vhod, keď to robíš 537 00:38:19,000 --> 00:38:22,000 je sme používali a toto je ako stranou, 538 00:38:22,000 --> 00:38:27,000 sme používali túto GetType funkcie tu 539 00:38:27,000 --> 00:38:30,000 zistiť typ premennej, 540 00:38:30,000 --> 00:38:37,000 a keď je to užitočné pre ladenie a zistiť, aké premenné je typ 541 00:38:37,000 --> 00:38:42,000 nechcete používať to, napríklad, v stave, kedy 542 00:38:42,000 --> 00:38:57,000 máte kontrolu, či GetType na $ var = integer niečo urobiť. 543 00:38:57,000 --> 00:39:01,000 To je zlý, zlý, zlý. 544 00:39:01,000 --> 00:39:09,000 Namiesto toho sú tieto funkcie nazývajú je integer, je reťazec, 545 00:39:09,000 --> 00:39:14,000 je pole, ktoré chcete použiť namiesto toho, aby v tomto prípade 546 00:39:14,000 --> 00:39:18,000 čo by som chcel robiť, namiesto toho chlapa tu 547 00:39:18,000 --> 00:39:31,000 je použiť je celé číslo var. 548 00:39:31,000 --> 00:39:37,000 A oni často odvolával sa is_ * v tom zmysle, že by ste mohli nahradiť * s integer, 549 00:39:37,000 --> 00:39:43,000 string, et cetera, a len aby sa ubezpečil, naozaj rýchly 550 00:39:43,000 --> 00:39:50,000 je to int PHP. 551 00:39:50,000 --> 00:39:59,000 Vyzerá to, že môžete urobiť je buď int, alebo je tam je celé číslo, rovnako? 552 00:39:59,000 --> 00:40:06,000 Áno, alias, takže int celočíselné pseudonymy. 553 00:40:06,000 --> 00:40:08,000 Cool. 554 00:40:14,000 --> 00:40:17,000 >> Ako sme na tom? 555 00:40:17,000 --> 00:40:20,000 Poďme zdvihnúť tempo trochu. 556 00:40:20,000 --> 00:40:24,000 Teraz budeme hovoriť o pole, tak ako môžete vidieť 557 00:40:24,000 --> 00:40:28,000 V ďalšej časti špec budeme hovoriť o tom, ako pole v PHP 558 00:40:28,000 --> 00:40:31,000 sú mierne odlišné, než sú v C. 559 00:40:31,000 --> 00:40:34,000 V skutočnosti, oni sú trochu amalgámu 560 00:40:34,000 --> 00:40:36,000 na pole, ktoré ste spoznali a lásku v C 561 00:40:36,000 --> 00:40:40,000 kde všetko je rovnakého typu 562 00:40:40,000 --> 00:40:43,000 uložené po sebe a súvisle v pamäti, 563 00:40:43,000 --> 00:40:46,000 a budete mať tieto číselné indexy. 564 00:40:46,000 --> 00:40:49,000 Máte index 0, index 1, index 2, 565 00:40:49,000 --> 00:40:53,000 a uloženie hodnôt v týchto indexov. 566 00:40:53,000 --> 00:40:57,000 Môžete tiež v C, keď ste napísal pravopisu, veľa z vás 567 00:40:57,000 --> 00:41:00,000 urobil hash tabuľky prístup, a videl, že tam sme mali 568 00:41:00,000 --> 00:41:03,000 iný druh skladovania, kde sme boli mapovanie 569 00:41:03,000 --> 00:41:07,000 kľúč na hodnotu, takže keď ste sa pokúsili uložiť niečo v hašovacia tabuľke 570 00:41:07,000 --> 00:41:11,000 ste mali určiť, že ste chceli uložiť s konkrétnou kľúč, 571 00:41:11,000 --> 00:41:17,000 a že kľúč určuje umiestnenie hodnoty a kde by to byť uložené. 572 00:41:17,000 --> 00:41:22,000 Ste trochu dostal oboch týchto pojmov deje súčasne v poli PHP, 573 00:41:22,000 --> 00:41:27,000 a ako výsledok, často nazývajú tieto asociatívnych polí 574 00:41:27,000 --> 00:41:33,000 kde sme združujúca kľúč v hodnote. 575 00:41:33,000 --> 00:41:39,000 V tejto ďalšej časti budeme hovoriť o jednoduchú PHP polia 576 00:41:39,000 --> 00:41:45,000 kde máme klávesy A, B a C, 577 00:41:45,000 --> 00:41:53,000 všetky reťazce, mapovanie celých čísel 1, 2, a 3. 578 00:41:53,000 --> 00:41:57,000 A môžete mať kľúče rôznych typov. 579 00:41:57,000 --> 00:42:00,000 >> Môžete mať niektoré klávesy, ktoré sú struny, niektoré klávesy, ktoré sú celé čísla. 580 00:42:00,000 --> 00:42:03,000 Môžete mať hodnoty rôznych typov. 581 00:42:03,000 --> 00:42:06,000 Môžete mať hodnotu, ktorá je reťazec, hodnota, ktorá je celé číslo, 582 00:42:06,000 --> 00:42:11,000 hodnota, ktorá je predmet alebo ďalšie pole, napríklad, 583 00:42:11,000 --> 00:42:16,000 všetko v jednom poli objektu, ktorý je trochu zvláštne. 584 00:42:16,000 --> 00:42:20,000 Nemusíte mať pole, ktoré práve dostal jeden typ prvku v ňom. 585 00:42:20,000 --> 00:42:26,000 Môžete mať mnoho rôznych vecí sa tam deje. 586 00:42:26,000 --> 00:42:33,000 Ďalšia vec k poznámke je, že keď vidím niečo také v kóde, 587 00:42:33,000 --> 00:42:38,000 ktorý je platný PHP vyhlásiť pole práve tak ako to, 0, 1, 2, 3, 4, 5, 588 00:42:38,000 --> 00:42:43,000 že vyhlási inicializovaný $ ARR byť toto pole. 589 00:42:43,000 --> 00:42:48,000 Ale to, čo ste vlastne stále pod kapotou je tento druh implicitná 590 00:42:48,000 --> 00:42:55,000 generácie kľúčov, kde sme sa dostali 0-0, 1-1, 2-2, 3-3. 591 00:42:55,000 --> 00:42:59,000 A ukázalo sa, že aj keď máte pole, ako je ten chlap tu 592 00:42:59,000 --> 00:43:03,000 kde máte, B a C a kľúče 593 00:43:03,000 --> 00:43:09,000 a potom začať používať pole pasívny spôsob začať používať toto pole ako hromada, 594 00:43:09,000 --> 00:43:12,000 takže môžete vidieť, že toto pole objekt, je toto pole naozaj stávať preťaženiu. 595 00:43:12,000 --> 00:43:15,000 Môžeme ho použiť ako pole. Môžeme ho použiť ako tabuľky hash. 596 00:43:15,000 --> 00:43:19,000 Môžeme ho použiť ako zásobník. 597 00:43:19,000 --> 00:43:22,000 Keď začať tlačiť veci na tomto poli 598 00:43:22,000 --> 00:43:30,000 Prvá vec, ktorú budete tlačiť na to bude index 0 a potom index 1 a index 2. 599 00:43:30,000 --> 00:43:33,000 Môžete si tento druh implicitného generácie kľúčov 600 00:43:33,000 --> 00:43:38,000 ak zadáte explicitne. 601 00:43:38,000 --> 00:43:43,000 Tak, ako si zadať kľúče explicitne, samozrejme, je pomocou tohto držiaku zápis, 602 00:43:43,000 --> 00:43:48,000 , Ktorý je podobný polí s výnimkou miesto iba umožňuje 603 00:43:48,000 --> 00:43:54,000 celočíselné indexy v tu a teraz necháme niečo. 604 00:43:54,000 --> 00:43:57,000 Ak chcete, aby vaše kľúčové byť reťazec, mali by ste zadať to takto. 605 00:43:57,000 --> 00:44:06,000 Ak chcete, aby to bolo int, zadáte ho s int, ktorú chcete použiť. 606 00:44:06,000 --> 00:44:13,000 >> Otázky týkajúce sa, že tak ďaleko? 607 00:44:13,000 --> 00:44:18,000 Jednou z pekné veci o tejto myšlienke 608 00:44:18,000 --> 00:44:26,000 je, že môžete len niekedy mať jednu hodnotu uloženú s určitým kľúčom. 609 00:44:26,000 --> 00:44:32,000 Ak sa vrátime k nášmu zariadenia, dovoľte mi, aby som odstrániť niektoré z týchto vecí. 610 00:44:32,000 --> 00:44:47,000 A povedzme, že som inicializovať pole byť 0, 1, 2, hotovo. 611 00:44:47,000 --> 00:44:55,000 Keby som teraz viem, že napríklad, keď som echo $ ARR [0] 612 00:44:55,000 --> 00:44:59,000 Idem sa dostať hodnotu 0 vytlačiť, 613 00:44:59,000 --> 00:45:05,000 a pretože tam môže byť jedine jedna hodnota uložená pre konkrétny kľúč 614 00:45:05,000 --> 00:45:11,000 ak uložím niečo na $ ARR [0], povedzme, 615 00:45:11,000 --> 00:45:16,000 potom viem, že keď som echo $ ARR [0] znova 616 00:45:16,000 --> 00:45:19,000 Nebudem sa dostať 0 vytlačí rovnako ako predtým. 617 00:45:19,000 --> 00:45:24,000 Ja som len dostanem. 618 00:45:24,000 --> 00:45:30,000 Takže to je v podstate hovorí, že nemôžem mať $ ARR [0] ukladanie 2 rôzne hodnoty. 619 00:45:30,000 --> 00:45:34,000 To nemôže ukladať ako 0 a reťazec sa, takto doslova nahrádza 620 00:45:34,000 --> 00:45:38,000 čo je v $ ARR [0] skôr. 621 00:45:38,000 --> 00:45:43,000 Dôvod, prečo som priniesť to až sa ho spustiť, uvidíme, čo sa stane. 622 00:45:43,000 --> 00:45:47,000 Pozrite sa tu, že som sa dostal 0 vytlačiť a potom tu dole. 623 00:45:47,000 --> 00:45:51,000 Nie je nový riadok tam, pretože som bol lenivý a nedal, že dovnútra 624 00:45:51,000 --> 00:45:54,000 Čo je v pohode na tom je, môžeme použiť ako spôsob 625 00:45:54,000 --> 00:46:00,000 zachytiť túto myšlienku súboru 626 00:46:00,000 --> 00:46:07,000 kde nemôžeme mať viac kľúčov v rámci poľa. 627 00:46:07,000 --> 00:46:10,000 Nemôžeme mať rovnaké kľúče v poli. 628 00:46:10,000 --> 00:46:17,000 Nemôžem mať kľúčovú 0 a hodnotu 1 a kľúče 0 a hodnotu a 629 00:46:17,000 --> 00:46:21,000 alebo tlačidlo 0 a hodnota true. 630 00:46:21,000 --> 00:46:27,000 Kľúče sú-tu iba 1 kľúč v poli. 631 00:46:27,000 --> 00:46:32,000 Aj keď je možné mať rovnaký uloženú hodnotu 632 00:46:32,000 --> 00:46:35,000 niekoľkokrát v poli pod rôznymi kľúčmi 633 00:46:35,000 --> 00:46:42,000 to nie je možné, majú rovnaké kľúčov viackrát v PHP poľa. 634 00:46:42,000 --> 00:46:47,000 >> Ak sa pozrieme na tento ďalší problém, unique.php, 635 00:46:47,000 --> 00:46:51,000 tam, kde chceme otvoriť PHP súbor 636 00:46:51,000 --> 00:46:54,000 obsahujúce zoznam reťazcov, jeden reťazec na riadok, 637 00:46:54,000 --> 00:47:01,000 a chceme nájsť všetky jedinečné reťazce v tomto súbore 638 00:47:01,000 --> 00:47:06,000 všetko, čo musíte urobiť, je použiť jeden z týchto PHP poľa 639 00:47:06,000 --> 00:47:12,000 a používať reťazca v súbore kľúče k tohto poľa 640 00:47:12,000 --> 00:47:17,000 a zachovať aktualizáciu našu ponuku, ako budeme ukladať tieto nové kľúče. 641 00:47:17,000 --> 00:47:22,000 Ako sme si riadky z súboru, môžeme uložiť v poli, 642 00:47:22,000 --> 00:47:28,000 a na konci budeme mať ako naše kľúče v našom poli 643 00:47:28,000 --> 00:47:34,000 všetky jedinečné reťazca v súbore. 644 00:47:34,000 --> 00:47:37,000 Dáva to zmysel? 645 00:47:37,000 --> 00:47:41,000 Poďme sa pozrieť, ako to funguje. 646 00:47:41,000 --> 00:47:49,000 Budeme otvárať, podľa špecifikácie, nový súbor s názvom unique.php. 647 00:47:49,000 --> 00:47:58,000 Otvoriť. Jejda, ospravedlňujem sa, nový súbor. 648 00:47:58,000 --> 00:48:03,000 Budeme začať ho s rovnakým počiatočným a koncovým tagy. 649 00:48:03,000 --> 00:48:17,000 Budeme ho uložiť do oddielu 9, a budeme to nazývať unique.php. 650 00:48:17,000 --> 00:48:25,000 Dobre, teraz Zoom 651 00:48:25,000 --> 00:48:32,000 Nápad tu je otvorenie súboru, 652 00:48:32,000 --> 00:48:38,000 čítať v súbore riadok po riadku. 653 00:48:38,000 --> 00:48:46,000 Pre každý riadok v súbore 654 00:48:46,000 --> 00:48:51,000 budeme mať pole, kde sme 655 00:48:51,000 --> 00:49:03,000  linke ako náš kľúč. 656 00:49:03,000 --> 00:49:09,000 A potom, keď sa dostaneme na koniec tu 657 00:49:09,000 --> 00:49:17,000 $ Arr tieto klávesy sú jedinečné línie 658 00:49:17,000 --> 00:49:25,000 zo súboru, pretože vieme, že keď som dal linky do tohto poľa 659 00:49:25,000 --> 00:49:33,000 niekoľkokrát to bude len držať prepísanie staré hodnoty, 660 00:49:33,000 --> 00:49:46,000 a môžeme skutočne dať pole riadok ako sám len tak. 661 00:49:46,000 --> 00:49:48,000 >> To je divný. 662 00:49:48,000 --> 00:49:52,000 Sme ukladanie rovnaký kľúč hodnota pár znova a znova a znova, 663 00:49:52,000 --> 00:50:00,000 ale pretože sme zaručiť, že tam bude len 1 kľúč nazýva riadok 664 00:50:00,000 --> 00:50:05,000 takže ak máme súbor, ktorý hovorí, že-súbor zvieracích zvukov a má Haf haf,, 665 00:50:05,000 --> 00:50:11,000 meow, meow, bučať, bučať, a zakaždým, keď čítame zvieracie zvuk out 666 00:50:11,000 --> 00:50:15,000 ako tkanina a uložíme v našom poli dostaneme Haf, a potom druhýkrát 667 00:50:15,000 --> 00:50:20,000 uložíme Woof prepíše prvýkrát, že sme uložené to. 668 00:50:20,000 --> 00:50:25,000 Na konci budeme mať len jednu položku v poli 669 00:50:25,000 --> 00:50:33,000 pre každú z zvieracie zvuky v našom súbore zvieracie zvuky. 670 00:50:33,000 --> 00:50:41,000 Myslíte si, chlapci si istí, že môžete riešiť otvorenie súboru v PHP? 671 00:50:41,000 --> 00:50:45,000 Jeden spôsob, ako to urobiť, poďme na tento rýchlo-jeden spôsob, ako to urobiť 672 00:50:45,000 --> 00:50:50,000 je funkcia fopen, ako sme videli predtým. 673 00:50:50,000 --> 00:50:55,000 Môžete fopen some_file.txt. 674 00:50:55,000 --> 00:50:59,000 Môžete ho otvoriť v režime pre čítanie, rovnako ako v C. 675 00:50:59,000 --> 00:51:02,000 To je jeden úplne dobrý spôsob, ako to urobiť. 676 00:51:02,000 --> 00:51:05,000 Môžete tiež potom pre čítanie v súbore riadok po riadku 677 00:51:05,000 --> 00:51:12,000 majú rovnaké funkcie, mnoho z nich, ktoré ste urobili v C. 678 00:51:12,000 --> 00:51:14,000 Máte fgets. 679 00:51:14,000 --> 00:51:17,000 Máte feof, aj keď sa nám nepáči, že pomocou 680 00:51:17,000 --> 00:51:22,000 pretože, pamätajte, že to nie je veľký v C. 681 00:51:22,000 --> 00:51:25,000 Môžete to urobiť rovnakým spôsobom, 682 00:51:25,000 --> 00:51:34,000 ale tu je naozaj super vec. 683 00:51:34,000 --> 00:51:41,000 Je nám ľúto, nechcem robiť $ file, ale tam je funkcia nazvaná súbor PHP, 684 00:51:41,000 --> 00:51:47,000 a táto funkcia tu je v pohode, pretože to prečíta celý obsah 685 00:51:47,000 --> 00:51:52,000 spisu, ktorý určíte, tak some_file.txt, 686 00:51:52,000 --> 00:51:56,000 prečíta celý obsah tohto súboru do poľa 687 00:51:56,000 --> 00:52:03,000 a potom umožňuje iterácii nad ním, čo je docela šikovný. 688 00:52:03,000 --> 00:52:07,000 >> Ak pôjdeme, napríklad pre náš webovom prehliadači 689 00:52:07,000 --> 00:52:14,000 a my sa pozrieme na Google pre tento súbor PHP 690 00:52:14,000 --> 00:52:23,000 môžete vidieť, že naše manuál hovorí, že súbor načíta celý súbor do poľa, 691 00:52:23,000 --> 00:52:27,000 a môžeme file_get_contents vrátiť obsah súboru ako reťazec, 692 00:52:27,000 --> 00:52:30,000 ale zvyčajne len na to, ako pole, je naozaj pekné, pretože to, čo robí 693 00:52:30,000 --> 00:52:33,000 je to rozbije tak, že každý prvok 694 00:52:33,000 --> 00:52:37,000 v poli je jeden riadok súboru, 695 00:52:37,000 --> 00:52:41,000 takže ak sa pozrieme v samostatnom súbore 0, to je prvý riadok súboru. 696 00:52:41,000 --> 00:52:46,000 Súbor 1, druhý riadok, súbor 2, tretí riadok, a tak ďalej, a tak ďalej. 697 00:52:46,000 --> 00:52:50,000 Nebolo by pekné, keby to bolo všetko, čo musel urobiť v C? 698 00:52:50,000 --> 00:52:53,000 Docela šikovný. 699 00:52:53,000 --> 00:52:59,000 David ukázal to v prednáške, a štýl sa ukázal bol 700 00:52:59,000 --> 00:53:03,000 že okrem nášho štandardu pre loop-v PHP sme, že 701 00:53:03,000 --> 00:53:09,000 for ($ i = 0; i <10; i + +), 702 00:53:09,000 --> 00:53:16,000 a môžete to urobiť v PHP taky, to isté- 703 00:53:16,000 --> 00:53:27,000 máme tiež túto skvelú konštrukciu s názvom foreach. 704 00:53:27,000 --> 00:53:32,000 Foreach je naozaj užitočné, keď iterácie poli alebo týchto dátových štruktúr 705 00:53:32,000 --> 00:53:36,000 pretože vám umožní vytiahnuť každý prvok poľa 706 00:53:36,000 --> 00:53:42,000 bez toho aby ste museli ručne urobiť Indexing sami, 707 00:53:42,000 --> 00:53:46,000 aby bolo nutné ručne vytvoriť premennú indexu, zvýšte ju, 708 00:53:46,000 --> 00:53:51,000 vytiahnite hodnotu v poli v tomto bode, pretože to je veľmi bežná vec robiť. 709 00:53:51,000 --> 00:53:54,000 >> Pravdepodobne ste urobil, že tony časy, kedy ste robili C veci 710 00:53:54,000 --> 00:54:00,000 nad semestra, takže v tejto foreach 711 00:54:00,000 --> 00:54:06,000 môžeme slučku tohto súboru poľa, 712 00:54:06,000 --> 00:54:12,000 a syntax je, že chceme, aby teraz slučke počas tohto poľa 713 00:54:12,000 --> 00:54:18,000 a určiť, že premenná budeme používať pre ukladanie 714 00:54:18,000 --> 00:54:27,000 prvok tohto poľa lokálne, miestne oblasti pôsobnosti tejto slučky foreach, 715 00:54:27,000 --> 00:54:32,000 sa budeme hovoriť line. 716 00:54:32,000 --> 00:54:38,000 Ak je to súbor niekoľkých slov a tam je jedno slovo v riadku 717 00:54:38,000 --> 00:54:43,000 by sme mohli nazvať to slovo rovnako, naozaj len dáte to meno, 718 00:54:43,000 --> 00:54:49,000 čo chcete hovoriť, 719 00:54:49,000 --> 00:55:02,000 a potom vo vnútri slučky, môžete robiť, čo chcete s týmto premenných. 720 00:55:02,000 --> 00:55:08,000 Ak to nie je dosť, aby si hodnotu poľa a budete tiež chcieť, aby sa 721 00:55:08,000 --> 00:55:17,000 index spolu s ním si môžete zadať názov indexu 722 00:55:17,000 --> 00:55:22,000 rovnako ako hodnota, a teraz máte prístup k 2 premenných. 723 00:55:22,000 --> 00:55:26,000 Máte $ i a vedenie 724 00:55:26,000 --> 00:55:30,000 kde $ i je index v poli, 725 00:55:30,000 --> 00:55:38,000 a linka je riadok, ktorý načítať zo súboru. 726 00:55:38,000 --> 00:55:49,000 Napríklad, ak chceme vytlačiť echo riadku 0 v súbore ako je tento, 727 00:55:49,000 --> 00:55:57,000 by sme mohli urobiť to rovnako ako to, "Line $ i zo súboru $ line," 728 00:55:57,000 --> 00:56:02,000 a tu je niečo, čo tiež ešte nevideli ani 729 00:56:02,000 --> 00:56:13,000 kde som jednoducho úplne preskočil celý tento% s% d podnikania 730 00:56:13,000 --> 00:56:16,000 že sme sa museli vysporiadať v C, a namiesto toho som šiel rovno do 731 00:56:16,000 --> 00:56:19,000 písanie premenné v súlade v mojom reťazci. 732 00:56:19,000 --> 00:56:23,000 >> To sa nazýva premenná interpolácie, interpolácie string 733 00:56:23,000 --> 00:56:26,000 kam plnkou premenné priamo v, a interpret PHP 734 00:56:26,000 --> 00:56:31,000 je dosť šikovný na to, keď je to čítanie cez reťazec, ktorý začína s úvodzovkami- 735 00:56:31,000 --> 00:56:34,000 nie jediné citácie, so samostatnými úvodzovky, môžete to urobiť, 736 00:56:34,000 --> 00:56:38,000 ale s dvojitými úvodzovky, pretože prečíta to hľadá premenných. 737 00:56:38,000 --> 00:56:42,000 Je to lov je dole, a ak to bude považovať premenné, bude mať hodnotu premennej 738 00:56:42,000 --> 00:56:47,000 a napchať si ho do reťazca, ak to môže previesť do reťazcové vyjadrenie, 739 00:56:47,000 --> 00:56:51,000 čo je docela šikovný. 740 00:56:51,000 --> 00:56:56,000 Pre túto chvíľu, poďme komentár mimo zvyšok všetkého, 741 00:56:56,000 --> 00:57:00,000 uložte tento, a to, čo môžeme urobiť, je môžeme otvoriť súbor 742 00:57:00,000 --> 00:57:06,000 že môžeme volať some_file.txt-rokov 's vytvorenie nového súboru, 743 00:57:06,000 --> 00:57:15,000 a môžeme dať si pár vecí nezmysel sem len vyskúšať všetko von, 744 00:57:15,000 --> 00:57:25,000 uložiť, hovoria some_file.txt, ako robím tu hore, 745 00:57:25,000 --> 00:57:33,000 a teraz keď som oddialiť len uistiť, že všetko je v rovnakom adresári, 746 00:57:33,000 --> 00:57:36,000 vyzerá to, že mám unique.php a some_file.txt v rovnakom adresári. 747 00:57:36,000 --> 00:57:42,000 Keby som spustiť php unique.php 748 00:57:42,000 --> 00:57:51,000 vidieť, ako to vytlačí každý riadok v mojom súbore a čo linka je? 749 00:57:51,000 --> 00:57:56,000 >> To je dosť silný, nie? 750 00:57:56,000 --> 00:58:03,000 Pozrite sa, trvalo 3 riadky kódu otvoriť súbor. 751 00:58:03,000 --> 00:58:08,000 No, 4 riadky kódu. Nedokážem spočítať dnes jasne. 752 00:58:08,000 --> 00:58:13,000 Ale naozaj len 2 zaujímavé riadky kódu, pretože ďalšie 2 boli zložené zátvorky, 753 00:58:13,000 --> 00:58:17,000 ale v tomto veľa kód, ktorý sme boli schopní otvoriť súbor, určiť iteráciou cez to, 754 00:58:17,000 --> 00:58:20,000 vytiahnite číslo riadku a riadku sám 755 00:58:20,000 --> 00:58:24,000 a vytlačiť. 756 00:58:24,000 --> 00:58:26,000 Vychytávky na stiahnutie. Charlotte. 757 00:58:26,000 --> 00:58:28,000 [Charlotte] Mám otázku o syntax. 758 00:58:28,000 --> 00:58:33,000 Takže foreach sa zaoberá každú jednotlivú riadku súboru, ktorý si otvorí, 759 00:58:33,000 --> 00:58:37,000 a potom, keď chcete robiť veci s každým riadku stačí to urobiť ako 760 00:58:37,000 --> 00:58:39,000 a potom pridružiť hodnotu. 761 00:58:39,000 --> 00:58:41,000 [Nate H.] Čo môžete urobiť práve tu otázka bola 762 00:58:41,000 --> 00:58:46,000 foreach má čo do činenia s poľom, takže foreach syntaxe 763 00:58:46,000 --> 00:58:51,000 je naozaj foreach, a všimnite si, že tam nie je priestor 764 00:58:51,000 --> 00:58:53,000 alebo niečo medzi pre a každý. 765 00:58:53,000 --> 00:58:56,000 Musí ísť priamo vedľa seba, 766 00:58:56,000 --> 00:59:00,000 a potom sa v poli, 767 00:59:00,000 --> 00:59:05,000 a potom máte tento ďalšie kľúčové slovo názvom ako má byť tam, 768 00:59:05,000 --> 00:59:11,000 a potom po ako môžete buď dať jednu názov premennej, 769 00:59:11,000 --> 00:59:14,000 v takom prípade sa chystáte byť vytiahnutím hodnoty poľa, 770 00:59:14,000 --> 00:59:20,000 nie indexy, alebo ak si to, ako sme napísal nižšie 771 00:59:20,000 --> 00:59:24,000 dostanete kľúče a hodnoty. 772 00:59:24,000 --> 00:59:33,000 Tie majú foreach prvok poľa alebo pár poľa, ako výčnelkom, aby hodnota 773 00:59:33,000 --> 00:59:38,000 alebo ako len hodnota. 774 00:59:38,000 --> 00:59:40,000 V závislosti na tom, čo budete potrebovať, ak nepotrebujete kľúče, 775 00:59:40,000 --> 00:59:42,000 potom môže ísť s hodnotou. 776 00:59:42,000 --> 00:59:45,000 Ak chcete, aby tlačidiel môžete ísť s nimi taky. 777 00:59:45,000 --> 00:59:48,000 >> [Charlotte] Tiež som si uvedomila, že nikdy deklaroval aj alebo linku. 778 00:59:48,000 --> 00:59:51,000 Ako to ani nevie, čo to je? 779 00:59:51,000 --> 00:59:53,000 [Nate H.] Čo myslíš tým vyhlásiť? 780 00:59:53,000 --> 00:59:57,000 [Charlotte] Nikdy sme im povedali, čo som alebo linka prostriedky. 781 00:59:57,000 --> 01:00:01,000 [Nate H.] Nikdy sme povedali počítači, čo som alebo čiara značí, pokiaľ ide o- 782 01:00:01,000 --> 01:00:05,000 [Charlotte] To, že sú indexované alebo Sú v- 783 01:00:05,000 --> 01:00:09,000 [Nate H.] Nikdy povedané to, že to má byť index alebo kľúč a hodnota, 784 01:00:09,000 --> 01:00:13,000 a to preto, že to je PHP interpret. 785 01:00:13,000 --> 01:00:17,000 To slúži ako vyhlásenie a hovorí poriadku, kľúč bude 786 01:00:17,000 --> 01:00:20,000 premenné volal aj uložený v premennej s názvom i 787 01:00:20,000 --> 01:00:24,000 Hodnota sa bude uložený v premennej s názvom linky, 788 01:00:24,000 --> 01:00:28,000 takže to slúži ako vyhlásenie o týchto premenných 789 01:00:28,000 --> 01:00:35,000 a hovorí, že $ i je kľúč, a $ line je hodnota. 790 01:00:35,000 --> 01:00:37,000 Jo, Ella. 791 01:00:37,000 --> 01:00:41,000 [Ella] Ak sú kľúče neurobil číselne 792 01:00:41,000 --> 01:00:44,000 ako sa rozhodnúť, v akom poradí to bude tlačiť všetko? 793 01:00:44,000 --> 01:00:47,000 Je to rovnako ako poradie to zapísané v? 794 01:00:47,000 --> 01:00:51,000 [Nate H.] Poďme to skúsiť. 795 01:00:51,000 --> 01:00:57,000 Poďme vytvoriť premennú s názvom ARR, 796 01:00:57,000 --> 01:01:06,000 a čo môžeme urobiť ide do 7. 797 01:01:06,000 --> 01:01:19,000 Povedzme, že 0 ide do ďalšieho poľa s 1, 2, alebo jablko. 798 01:01:19,000 --> 01:01:30,000 Povedzme, že 7 ide do 1, b ide do 2, 799 01:01:30,000 --> 01:01:39,000 a 3 ide do 4. 800 01:01:39,000 --> 01:01:44,000 To je tak trochu blázon hľadá napríklad preto, že sme miešanie 801 01:01:44,000 --> 01:01:47,000 reťazca a celé čísla všade okolo. 802 01:01:47,000 --> 01:01:50,000 Nie je tam žiadny skutočný aby na toto pole. 803 01:01:50,000 --> 01:01:55,000 Chcem povedať, že sme objednať všetko v abecednom poradí podľa kľúča. 804 01:01:55,000 --> 01:01:57,000 Sme si mohli objednať všetko abecedne hodnotou. 805 01:01:57,000 --> 01:02:00,000 >> Mohli by sme skúsiť a vziať do úvahy, že niektoré reťazce, niektoré sú ints, 806 01:02:00,000 --> 01:02:03,000 a sme si mohli vyskúšať a previesť ich všetky do rovnakého typu a uvidíme, čo sa stane, 807 01:02:03,000 --> 01:02:09,000 alebo môžeme uvažovať je v hodnote, v ktorom sme už zadali 808 01:02:09,000 --> 01:02:14,000 kam sme toho chlapa do prvej, ten chlap na druhom, ten chlap v tretích, 809 01:02:14,000 --> 01:02:19,000 ten chlap vo štvrtom, et cetera. 810 01:02:19,000 --> 01:02:23,000 Pozrime sa, čo sa stane, keď sme sa spustiť tento kód. 811 01:02:23,000 --> 01:02:29,000 Ak budeme posúvať dole a urobiť rovnaký druh veci, 812 01:02:29,000 --> 01:02:31,000 a tu to nie je vytlačenie nových liniek. 813 01:02:31,000 --> 01:02:35,000 Keď čítať veci z súboru bolo vrátane nových tratí v hodnotách, 814 01:02:35,000 --> 01:02:38,000 ktorý bol dôvod, prečo sa vytlačiť pekne, zatiaľ čo tu to nie, 815 01:02:38,000 --> 01:02:40,000 tak to je dôvod, prečo je všetko smushed dohromady. 816 01:02:40,000 --> 01:02:44,000 Dodajme, že v tejto novej rade stačí, aby sa veci pekné. 817 01:02:44,000 --> 01:02:51,000 Poďme spustite ju, a tak tu 818 01:02:51,000 --> 01:02:54,000 pozrite sa na to, čo sa stalo. 819 01:02:54,000 --> 01:03:00,000 Je vytlačený všetko v poradí, v ktorom sa dať do poľa. 820 01:03:00,000 --> 01:03:10,000 To zachovať poriadok v tomto zmysle. 821 01:03:10,000 --> 01:03:15,000 >> Vráťme sa späť k tomuto problému unikátov 822 01:03:15,000 --> 01:03:20,000 tam, kde chceme byť schopní iterácii súboru, 823 01:03:20,000 --> 01:03:24,000 a dáme to some_file.txt, 824 01:03:24,000 --> 01:03:27,000 a budeme určiť iteráciou cez to takto. 825 01:03:27,000 --> 01:03:31,000 Povedali sme, že sme chceli využiť pole, aby sa ubezpečil, že by sme dostali všetky 826 01:03:31,000 --> 01:03:36,000 jedinečné línie von, a tak by sme mohli urobiť veľmi ľahko 827 01:03:36,000 --> 01:03:49,000 jednoduchým uložením v poli, ktoré sme samozrejme vyhlásiť mimo rozsah slučky, 828 01:03:49,000 --> 01:03:55,000 A my sme povedali, že ak sme použili riadky v súbore ako kľúče v našom poli 829 01:03:55,000 --> 01:03:59,000 ak sme vstúpili duplicitné riadok by sme byť prepísanie predchádzajúcej hodnotu. 830 01:03:59,000 --> 01:04:08,000 To nie je vôbec možné mať 2 kľúče, ktoré sú zhodné v jednom poli. 831 01:04:08,000 --> 01:04:13,000 Môžeme robiť len to. 832 01:04:13,000 --> 01:04:17,000 Budeme sa zbaviť tohto echo vyhlásenia tu. 833 01:04:17,000 --> 01:04:24,000 Tu sme uloženie riadok v súbore na našom poli 834 01:04:24,000 --> 01:04:28,000 pomocou sa ako kľúč. 835 01:04:28,000 --> 01:04:32,000 Nič na tom nie je, a ukázalo sa, že nemáme ani potrebovať kľúč. 836 01:04:32,000 --> 01:04:38,000 Nepotrebujeme, aby aj premenná. 837 01:04:38,000 --> 01:04:43,000 V tomto bode, ak by sme mali urobiť ďalšie slučky foreach 838 01:04:43,000 --> 01:04:48,000 a my sme boli na slučke na každom ARR 839 01:04:48,000 --> 01:04:56,000 a linka teraz, keď sme echo-oops, sorry. 840 01:04:56,000 --> 01:05:00,000 Nemôžeme používať čiarku. Musíme použiť ako kľúčové slovo. 841 01:05:00,000 --> 01:05:05,000 Teraz, keď sme echo riadok by sme sa mali dostať všetky unikátnych slov v súbore. 842 01:05:05,000 --> 01:05:10,000 Ak pôjdeme do some_file.txt, 843 01:05:10,000 --> 01:05:19,000 a povedzme, že to jablko, banán, jablko, jablko, banán, 844 01:05:19,000 --> 01:05:22,000 Ak máme vytlačenie všetkých unikátnych slov v tomto súbore by sme mali získať iba 845 01:05:22,000 --> 01:05:30,000 jablko a banán vytlačiť. 846 01:05:30,000 --> 01:05:36,000 Ak šetríme to, teraz tu budeme približovania sa 847 01:05:36,000 --> 01:05:44,000 php unique.php, a tá-da. 848 01:05:44,000 --> 01:05:51,000 Úspešne sme uniqued súbor. 849 01:05:51,000 --> 01:05:55,000 >> Záverečná časť tohto problému je výzvou na triedenie tohto poľa pred vytlačiť to 850 01:05:55,000 --> 01:05:58,000 pretože v tomto jednoduchom príklade, ktorý sme práve urobili 851 01:05:58,000 --> 01:06:04,000 sme mali šťastie v tom zmysle, že súbor- 852 01:06:04,000 --> 01:06:06,000 Urobili sme to vymyslel príklad s jablkami a banánmi. 853 01:06:06,000 --> 01:06:08,000 To už sú zoradené. 854 01:06:08,000 --> 01:06:19,000 Ale pomocou jednoduchého triedenia funkcie môžete triediť pole, čo je docela šikovný. 855 01:06:19,000 --> 01:06:24,000 Posledná vec, že ​​chcem hovoriť s vami asi naozaj rýchlo 856 01:06:24,000 --> 01:06:31,000 je, že tento druh PHP je všetko v poriadku a dobré, a je to super padnúci do ruky 857 01:06:31,000 --> 01:06:43,000 vedieť, ako to urobiť, ak budete niekedy potrebovať urobiť malé, rýchle veci programovo. 858 01:06:43,000 --> 01:06:48,000 Napríklad, keď budem musieť napísať program, ktorý, povedzme, 859 01:06:48,000 --> 01:06:53,000 dáva všetkým do sekcií nebudem chodiť a písať v jazyku C. 860 01:06:53,000 --> 01:06:55,000 Bude to trvať dlho. 861 01:06:55,000 --> 01:06:57,000 Bude to mať trochu bolesti, najmä v prípade, že sa jedná o súbory, 862 01:06:57,000 --> 01:07:00,000 rovnako ako vy som videl. 863 01:07:00,000 --> 01:07:05,000 Je to tak pekné, že sa práve v tomto veľa kódu priamo tu 864 01:07:05,000 --> 01:07:08,000 sme boli schopní preraziť súboru, vytiahnite všetky jedinečné hodnoty 865 01:07:08,000 --> 01:07:11,000 a vytlačiť je späť. 866 01:07:11,000 --> 01:07:16,000 >> Avšak, pre vaše úlohy, pre vaše projekty, 867 01:07:16,000 --> 01:07:20,000 ak staviate webové stránky s PHP moc je to 868 01:07:20,000 --> 01:07:25,000 utiekame naša PHP súbory prostredníctvom tohto tlmočníka, 869 01:07:25,000 --> 01:07:29,000 a tlmočník je spracovanie všetko vnútri tagov PHP, 870 01:07:29,000 --> 01:07:34,000 takže všetko ostatné nedotknuté a vypľul výsledky. 871 01:07:34,000 --> 01:07:40,000 Môžeme to urobiť stavať HTML programovo. 872 01:07:40,000 --> 01:07:46,000 Teraz, keď sme sa vrátiť k spec, posledný problém v špec 873 01:07:46,000 --> 01:07:56,000 hovorí o tejto myšlienke spájania 874 01:07:56,000 --> 01:08:01,000 a vytvorenie drop-down menu, 875 01:08:01,000 --> 01:08:06,000 ktoré môžu alebo nemusia chcieť robiť, v závislosti na tom, čo vaše konečné projekt robí, 876 01:08:06,000 --> 01:08:13,000 ktorý umožňuje užívateľovi vybrať zo zoznamu všetkých možných koncentrácií 877 01:08:13,000 --> 01:08:15,000 ich jednej koncentrácii. 878 01:08:15,000 --> 01:08:21,000 Teraz, to je tak trochu bolesti typu na to 879 01:08:21,000 --> 01:08:25,000 a urobiť všetko ručne, a to najmä, keď ste museli uistiť, 880 01:08:25,000 --> 01:08:28,000 že máte všetky lomené zátvorky na správnom mieste a všetky citácie na správnom mieste, 881 01:08:28,000 --> 01:08:34,000 tak s PHP môžete robiť programovo, a môžete to urobiť naozaj rýchlo. 882 01:08:34,000 --> 01:08:36,000 >> Poďme sa pozrieť, ako to urobiť. 883 01:08:36,000 --> 01:08:42,000 Budeme otvoriť nový súbor. 884 01:08:42,000 --> 01:08:46,000 Budeme dať v našich PHP tagy. 885 01:08:46,000 --> 01:08:53,000 Budeme hovoriť, že concentrations.php, 886 01:08:53,000 --> 01:08:58,000 a teraz, keď to robíš, trochu dobrá vec myslieť 887 01:08:58,000 --> 01:09:02,000 keď sa snažíte kombinovať a zápas si PHP a vaše HTML 888 01:09:02,000 --> 01:09:08,000 je prísť na to,, jo, čo je tá časť, ktorá chcem programovo generovať? 889 01:09:08,000 --> 01:09:11,000 Čo je tá časť, ktorá môžem programovo vytvárať? 890 01:09:11,000 --> 01:09:17,000 Je pravda, že môžete urobiť všetky vaše HTML 891 01:09:17,000 --> 01:09:19,000 vnútri PHP blokov. 892 01:09:19,000 --> 01:09:24,000 Môžete echo všetky HTML ako reťazce. 893 01:09:24,000 --> 01:09:30,000 Napríklad, keď chcem začať robiť zvoľte značky vnútri PHP 894 01:09:30,000 --> 01:09:46,000 Môžem povedať, echo, hovoria vyberte názov = koncentrácia, 895 01:09:46,000 --> 01:09:49,000 a potom dole by som mohol mať iný echo tag 896 01:09:49,000 --> 01:09:57,000 alebo iný echo tzv close vyberte. 897 01:09:57,000 --> 01:10:00,000 To je jeden spôsob, ako to urobiť, pretože to, čo to je doslova robiť 898 01:10:00,000 --> 01:10:09,000 je vytlačiť tento reťazec, keď je to beh cez tlmočníka PHP, 899 01:10:09,000 --> 01:10:12,000 takže výsledok bude HTML. 900 01:10:12,000 --> 01:10:18,000 Ak by som tento súbor uložiť ako je teraz 901 01:10:18,000 --> 01:10:24,000 a bežím php concentrations.php 902 01:10:24,000 --> 01:10:26,000 pozrieť sa na to, čo som dostal. 903 01:10:26,000 --> 01:10:30,000 Dostal som tento otvorený Zavrieť Vyberte značku. 904 01:10:30,000 --> 01:10:36,000 >> Ak by som mal urobiť, a ja sme boli uložiť tento výsledok do súboru, 905 01:10:36,000 --> 01:10:45,000 hovoria, concentrations.html-wait, to vyzerá, že l je preč na druhú stranu- 906 01:10:45,000 --> 01:11:02,000 Teraz keď otvorím tu concentrations.html vidíte mám validný HTML súbor. 907 01:11:02,000 --> 01:11:05,000 Je to trochu divné? 908 01:11:05,000 --> 01:11:09,000 Sme používate PHP pre vytvorenie HTML, vytvoriť validné HTML. 909 01:11:09,000 --> 01:11:13,000 Spôsob, akým sme to urobiť, je budeme mať len tlačové PHP 910 01:11:13,000 --> 01:11:16,000 HTML, že chceme, aby sa tlačilo. 911 01:11:16,000 --> 01:11:20,000 To je doslova ako PHP webové stránky fungujú. 912 01:11:20,000 --> 01:11:24,000 Keď navštívite webovú stránku, ktorá vás pošle k niečomu, ako je 913 01:11:24,000 --> 01:11:30,000 niečo, niečo, niečo, čo dot com lomítko index.php 914 01:11:30,000 --> 01:11:33,000 Počítač je doslova vyvolanie index.php, 915 01:11:33,000 --> 01:11:38,000 beží cez PHP interpretru, a bez ohľadu na nevyžiadanú vyjde 916 01:11:38,000 --> 01:11:49,000 to posiela späť do prehliadača a hovorí hej, prehliadač, interpretovať to ako HTML. 917 01:11:49,000 --> 01:11:54,000 Pekná vec je, že to môže byť bolesť neustále písať echo, echo, echo, echo 918 01:11:54,000 --> 01:11:59,000 a uzavrieť všetko v úvodzovkách, ako je tento, takže ak chcete písať 919 01:11:59,000 --> 01:12:04,000 HTML, ktoré to bude statické sami, môžete to urobiť takto, 920 01:12:04,000 --> 01:12:16,000 dať von, zatvorte ho, 921 01:12:16,000 --> 01:12:21,000 a potom tu dal len vnútri PHP značiek, ktoré poznáte 922 01:12:21,000 --> 01:12:26,000 Ak chcete programovo vytvárať, a v tomto prípade je to táto možnosť tagy 923 01:12:26,000 --> 01:12:31,000 , Ktoré sú bolesť generovať. 924 01:12:31,000 --> 01:12:37,000 >> Napríklad by sme mohli generovať tisíce možností tagy 925 01:12:37,000 --> 01:12:48,000 tým, že robí niečo podobné, $ i <1000, i + + 926 01:12:48,000 --> 01:13:00,000 a hovoriť echo hodnoty opcie = $-jejda, to nemôžem urobiť, že. 927 01:13:00,000 --> 01:13:03,000 Dobre, poďme to skúsiť a uvidíme, čo sa stane. 928 01:13:03,000 --> 01:13:22,000 $ I a potom hovorí $ i 01:13:27,000 Skôr než by museli písať na to, že možnosť označiť tisíc rôznych časov 930 01:13:27,000 --> 01:13:33,000 Som pomocou PHP kódu generovať automaticky, programovo. 931 01:13:33,000 --> 01:13:38,000 Druh šikovný. Jo. 932 01:13:38,000 --> 01:13:41,000 Pamätám si to, že je zmieňovaný v jeden prednášky alebo návodu, 933 01:13:41,000 --> 01:13:43,000 ale aký je rozdiel medzi úvodzovkami, 934 01:13:43,000 --> 01:13:45,000 normálne tie a tieto jednotlivé veci? 935 01:13:45,000 --> 01:13:49,000 To je vlastne niečo, čo som urobil zle tu, že som vám ukážem. 936 01:13:49,000 --> 01:13:52,000 Jednotlivé citácie neumožňujú žiadne špeciálne znaky, 937 01:13:52,000 --> 01:13:57,000 takže všetko vnútri jednotného citovaného reťazec je interpretovaný doslova. 938 01:13:57,000 --> 01:14:02,000 Keby som mal \ n vnútro apostrofov a som zachrániť to, napríklad, 939 01:14:02,000 --> 01:14:07,000 a teraz idem sem a spustite ho, 940 01:14:07,000 --> 01:14:12,000 oops, kam idem? 941 01:14:12,000 --> 01:14:19,000 Oh, je to preto, že som zabudol $. 942 01:14:19,000 --> 01:14:25,000 >> Teraz, keď som otvoriť-vlastne, tu, budeme sa zbaviť písanie do súboru. 943 01:14:25,000 --> 01:14:27,000 Budeme len čítať. 944 01:14:27,000 --> 01:14:34,000 Tu vidíte, že mám tento doslovný \ n v reťazci, ako nie skutočné novom riadku, 945 01:14:34,000 --> 01:14:38,000 a podobne, namiesto toho, aby v skutočnosti interpoláciou hodnotu tejto premennej 946 01:14:38,000 --> 01:14:42,000 to mi $ aj sama o sebe, ktorá je tak trochu bolesti. 947 01:14:42,000 --> 01:14:46,000 Cesta okolo tohto je použiť úvodzovky, 948 01:14:46,000 --> 01:14:52,000 a potom pri použití úvodzoviek sa bude skutočne 949 01:14:52,000 --> 01:14:56,000 správne interpolovať hodnoty všetkých týchto premenných v tu 950 01:14:56,000 --> 01:14:59,000 a tiež rozpoznať tento \ n byť nová linka, ktorá je 951 01:14:59,000 --> 01:15:02,000 a nie \ n 952 01:15:02,000 --> 01:15:07,000 Použitie jednotlivých tie je pekné, keď máte 953 01:15:07,000 --> 01:15:10,000 znaky, ktoré by mohli byť interpretované ako špeciálne znaky, pretože potom nemusíte 954 01:15:10,000 --> 01:15:15,000 uniknúť im neustále. 955 01:15:15,000 --> 01:15:18,000 Veci sa môžu dostať chaotický, a často sa tak, ako som to urobiť, 956 01:15:18,000 --> 01:15:24,000 len robiť veci jednoducho, je to, že ak budem mať nič 957 01:15:24,000 --> 01:15:31,000 HTML ako v mojom kóde budem zahŕňať edit v apostrof 958 01:15:31,000 --> 01:15:36,000 a potom použite tento operátor zreťazenie 959 01:15:36,000 --> 01:15:43,000 zreťaziť premenné a 960 01:15:43,000 --> 01:15:47,000 To je ďalší spôsob, ako to robí 961 01:15:47,000 --> 01:15:52,000 kde máme bodku, čo sa deje sa pripojiť je to reťazec 962 01:15:52,000 --> 01:15:56,000 s tým s tým s tým, 963 01:15:56,000 --> 01:15:59,000 a teraz nemám uniknúť tieto úvodzovky. 964 01:15:59,000 --> 01:16:02,000 Nemám použiť tento chlapa k úteku. 965 01:16:02,000 --> 01:16:08,000 Budú doslova vytlačiť ako úvodzoviek a potom ten chlap tu. 966 01:16:08,000 --> 01:16:11,000 To je ďalší spôsob, ako miešať všetko dohromady. 967 01:16:11,000 --> 01:16:14,000 >> [Študent] Tiež, keď zopakoval GetType tam boli žiadne úvodzovky vôbec. 968 01:16:14,000 --> 01:16:22,000 Správne, takže echo je trochu zvláštne v tom zmysle, že nepotrebujete zátvorky. 969 01:16:22,000 --> 01:16:29,000 Nemusíte mať úvodzovky nutne okolo premenných, 970 01:16:29,000 --> 01:16:37,000 ako je platný povedať echo $ i, a to bude interpretovať ako reťazec. 971 01:16:37,000 --> 01:16:44,000 Bude to robiť obsadenie, takže sme mohli urobiť, a to je platné taky, ale nepotrebujeme ju. 972 01:16:44,000 --> 01:16:48,000 Je to voliteľné. 973 01:16:48,000 --> 01:16:53,000 V tomto týždni sa problém sade pozor na veľa tohto druhu vecí 974 01:16:53,000 --> 01:16:58,000 kam miešanie a zodpovedajúce HTML s PHP 975 01:16:58,000 --> 01:17:08,000 rovnako ako to, a teraz, keď sme sa posunúť späť a my spustiť tento 976 01:17:08,000 --> 01:17:13,000 môžeme vidieť, že máme veľa možností hodnôt 977 01:17:13,000 --> 01:17:15,000 že zrovna vytlačiť. 978 01:17:15,000 --> 01:17:20,000 Máme všetky tieto HTML, ktorý dostal generovaný naozaj rýchlo pre nás. 979 01:17:20,000 --> 01:17:22,000 Nechám to ako cvičenie. 980 01:17:22,000 --> 01:17:24,000 Je to veľmi podobný súboru čítanie, ktoré sme robili predtým. 981 01:17:24,000 --> 01:17:31,000 >> K dispozícii je concentrations.txt súbor, ktorý si môžete stiahnuť dole z CDN, 982 01:17:31,000 --> 01:17:34,000 a môžete ho otvoriť pomocou rovnakej foreach trik, ktorý sme urobili skôr, 983 01:17:34,000 --> 01:17:39,000 a foreach stačí echo možnosť a zapojte 984 01:17:39,000 --> 01:17:44,000 zodpovedajúce hodnoty, príslušné kľúče a indexy, 985 01:17:44,000 --> 01:17:49,000 a potom dostanete drop-down, ktorý doslova vytvára 986 01:17:49,000 --> 01:17:54,000 programovo pre tie všetky rôzne koncentrácie na Harvarde. 987 01:17:54,000 --> 01:17:57,000 Šikovný vec mať. 988 01:17:57,000 --> 01:18:02,000 Tam je veľa konfigurácie veci pre túto úlohu. 989 01:18:02,000 --> 01:18:07,000 Ak ste tak ešte neurobili, že už sa ďalšie polhodinu, hodinu, 990 01:18:07,000 --> 01:18:10,000 nejaký čas dnes rozhodne pre istotu, 991 01:18:10,000 --> 01:18:14,000 prejsť spec problému set, 992 01:18:14,000 --> 01:18:20,000 vidieť, čo sa deje s zriadenie vhost, miestne hostiteľ, všetky tie veci. 993 01:18:20,000 --> 01:18:24,000 Jedna vec je poukázať práve teraz, je, že 994 01:18:24,000 --> 01:18:30,000 vo väčšine problémových sad sme sa ísť do priečinka Dropbox 995 01:18:30,000 --> 01:18:34,000 a potom sťahovanie problém nastavenú súbor zips a rozopínajúce ho. 996 01:18:34,000 --> 01:18:36,000 Pre tento problém súbor, ktorý nechcete. 997 01:18:36,000 --> 01:18:40,000 Ak chcete ísť do tejto vhosts adresára. 998 01:18:40,000 --> 01:18:45,000 Budete chcieť ísť do vhostů a ísť do miestneho hostiteľa adresára v ňom, 999 01:18:45,000 --> 01:18:50,000 a to je miesto, kde budete chcieť strhnúť zip súbor, 1000 01:18:50,000 --> 01:18:55,000 rozbaľte ho, a pripravte sa na to. 1001 01:18:55,000 --> 01:18:57,000 Budete musieť nasledovať kroky starostlivo. 1002 01:18:57,000 --> 01:19:02,000 >> Ak máte akékoľvek otázky, pošlite e-mail, poslať ho na Diskutujte, prišiel úradné hodiny. 1003 01:19:02,000 --> 01:19:08,000 Vďaka hoši. Budúci týždeň budeme mať recenziu relácie pre kvíz. 1004 01:19:08,000 --> 01:19:12,000 Užite si posledný problém sadu. Dúfam, že to všetko ide veľmi dobre. 1005 01:19:12,000 --> 01:19:14,000 [CS50.TV]