1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [8. §] [Kevesebb Comfortable] 2 00:00:02,000 --> 00:00:04,000 [Nate Hardison] [Harvard Egyetem] 3 00:00:04,000 --> 00:00:08,000 [Ez a CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:11,000 >> Üdvözöljük a második az utolsó szakaszt. 5 00:00:11,000 --> 00:00:13,000 Ezen a héten fogunk beszélni PHP, majd a jövő héten 6 00:00:13,000 --> 00:00:17,000 mi egy kis beszámolót Quiz 1. 7 00:00:17,000 --> 00:00:20,000 Fogunk kezdeni 3. oldalán a probléma készletek pack, 8 00:00:20,000 --> 00:00:28,000 és együtt fogunk működni a szakaszában a kérdések meglehetősen gyorsan. 9 00:00:28,000 --> 00:00:34,000 A 3. oldalon, kezdünk beszélni a különbség a C és a PHP 10 00:00:34,000 --> 00:00:38,000 abban az értelemben, hogy a PHP egy dinamikusan típusos nyelv, 11 00:00:38,000 --> 00:00:42,000 mivel a C statikusan beírt, 12 00:00:42,000 --> 00:00:46,000 és azt valaki nagyon gyorsan történik minden kódolás valami, mint a PHP 13 00:00:46,000 --> 00:00:51,000 vagy Python vagy Ruby előtt, JavaScript? 14 00:00:51,000 --> 00:00:53,000 Teljesen új? Oké. 15 00:00:53,000 --> 00:00:56,000 >> Mindezek a nyelv, amit az előbb említett 16 00:00:56,000 --> 00:01:01,000 nagyon különbözik a nyelv, mint a C és C + + és Java 17 00:01:01,000 --> 00:01:04,000 abban az értelemben, hogy ha, hogy egy változót nem kell bejelenteni 18 00:01:04,000 --> 00:01:09,000 milyen változó van, tehát a C voltunk ragadt, hogy mindig azt mondják 19 00:01:09,000 --> 00:01:13,000 ez lesz egy int változó, vagy ez lesz a char * változó, 20 00:01:13,000 --> 00:01:16,000 mivel a PHP, a Python, a Ruby, 21 00:01:16,000 --> 00:01:20,000 sok ilyen modern nyelveket nem kell tennie, hogy egyáltalán. 22 00:01:20,000 --> 00:01:24,000 Csak állapítsa meg a változó, és abban az esetben, PHP 23 00:01:24,000 --> 00:01:28,000 Ön kijelenti, hogy ez egy változót raksz rá egy $ jel, 24 00:01:28,000 --> 00:01:35,000 , majd, hogy milyen típusú változó határozza milyen értéket ez birtok, 25 00:01:35,000 --> 00:01:38,000 ami elég jó. 26 00:01:38,000 --> 00:01:44,000 A játék körül, hogy ennek az egy kicsit, van minta PHP kód itt 27 00:01:44,000 --> 00:01:47,000 között a kezdő és záró címkék. 28 00:01:47,000 --> 00:01:53,000 Mi használja ezt a fajta, mint a HTML, abban az értelemben, hogy a 29 00:01:53,000 --> 00:01:56,000 megvan ezeket szögletes zárójelek itt nyitásához és zárásához. 30 00:01:56,000 --> 00:01:58,000 Látni fogod ezt HTML. 31 00:01:58,000 --> 00:02:03,000 Majd meglátod, ugyanaz a fajta szintaxis XML is. 32 00:02:03,000 --> 00:02:06,000 >> Ez azt jelzi, a kezdete egy PHP blokk. 33 00:02:06,000 --> 00:02:09,000 Ezt? Php jellemző PHP. 34 00:02:09,000 --> 00:02:16,000 Zárjuk mindent a?> Is. 35 00:02:16,000 --> 00:02:22,000 Nyissuk ki a fájlt a készülék használatával, amit szeretne. 36 00:02:22,000 --> 00:02:25,000 Ebben a csomagot azt mondja, hogy hívja dynamic.php. 37 00:02:25,000 --> 00:02:29,000 Az az igazság, akkor hívja azt amit szeretne, de a fájl neve jön 38 00:02:29,000 --> 00:02:34,000 és fontos lehet később, úgyhogy emlékszem bármit hívják. 39 00:02:34,000 --> 00:02:36,000 Megyek kapcsoljon át a készüléket, 40 00:02:36,000 --> 00:02:43,000 és megyek, hogy egy könyvtár 41 00:02:43,000 --> 00:02:48,000 9. szakasz Azt hiszem itt vagyunk most. 42 00:02:48,000 --> 00:02:51,000 És megyünk a 9. szakasz, 43 00:02:51,000 --> 00:02:54,000 és én fogom használni gedit. 44 00:02:54,000 --> 00:02:59,000 Lássuk, gedit, és fogom hívni az enyém dynamic.php. 45 00:02:59,000 --> 00:03:03,000 Boom. 46 00:03:03,000 --> 00:03:06,000 Belül dynamic.php, mivel ez egy PHP fájl 47 00:03:06,000 --> 00:03:09,000 és szeretném futtatni ezt a PHP interpreter 48 00:03:09,000 --> 00:03:12,000 Meg kell kezdeni mindent le azokat a nyitott címkéket, 49 00:03:12,000 --> 00:03:17,000 így fogom kezdeni e azonnal, 50 00:03:17,000 --> 00:03:23,000 adok magamnak egy kis helyet a címkéket, 51 00:03:23,000 --> 00:03:26,000 majd a pont ez a gyakorlat az volt, hogy játszani körül 52 00:03:26,000 --> 00:03:34,000 Ez a funkció az úgynevezett gettype, így gettype ez a funkció itt. 53 00:03:34,000 --> 00:03:38,000 >> Figyeljük meg, hogy nincs aláhúzással vagy szóköz vagy kötőjel vagy ilyesmi 54 00:03:38,000 --> 00:03:42,000 különválasztva a 2 szó, kap majd írja, csak egy szó összesen. 55 00:03:42,000 --> 00:03:46,000 De mi ez a fog tenni, ha elmegyek egy változót gettype, 56 00:03:46,000 --> 00:03:51,000 mondjuk $ var vagy $ x, 57 00:03:51,000 --> 00:03:55,000 ezt fogja mondani a fajta a hibakeresés formátumban 58 00:03:55,000 --> 00:03:59,000 mi a neve annak a típusnak van. 59 00:03:59,000 --> 00:04:03,000 Fogunk kísérletezni itt. 60 00:04:03,000 --> 00:04:07,000 Különösen, ha megnézi vissza a Pset spec 61 00:04:07,000 --> 00:04:11,000 megvan néhány különböző sornyi kódot itt. 62 00:04:11,000 --> 00:04:16,000 Az első sorban a kódot, inicializálni ezt a változót, $ var, 63 00:04:16,000 --> 00:04:21,000 hogy egyenlő 7, és aztán ezt a printf vonalon 64 00:04:21,000 --> 00:04:25,000 azt mondja hé, printf var üres. 65 00:04:25,000 --> 00:04:29,000 Printf az egyik a sok szempontból tudunk nyomtatni dolgokat PHP. 66 00:04:29,000 --> 00:04:33,000 Gyakran látni fogja a echo függvény helyett printf, 67 00:04:33,000 --> 00:04:40,000 printf de mindannyian tisztában miután kódoló C egy darabig. 68 00:04:40,000 --> 00:04:42,000 Mit lehet ténylegesen is lássuk, másolás és beillesztés működik. 69 00:04:42,000 --> 00:04:46,000 Fogom adni ezt a próbát. 70 00:04:46,000 --> 00:04:52,000 Megyünk vissza a készüléket. 71 00:04:52,000 --> 00:05:00,000 Oké, és ott is vagyunk. 72 00:05:00,000 --> 00:05:05,000 És a távolság egy kicsit funky, de itt vagyunk. 73 00:05:05,000 --> 00:05:08,000 Van ez a kód itt. 74 00:05:08,000 --> 00:05:11,000 >> [Diák] Nem lenne jó stílusban lapra ez? 75 00:05:11,000 --> 00:05:13,000 Tessék? 76 00:05:13,000 --> 00:05:15,000 [Diák] Ez a hagyományos lapra ez? 77 00:05:15,000 --> 00:05:21,000 Rendben, tehát Sam megkérdezi, hogy ilyen egyezmény lapra vagy sem. 78 00:05:21,000 --> 00:05:23,000 Általában igen. 79 00:05:23,000 --> 00:05:26,000 Ebben az esetben úgy döntöttem, hogy nem. 80 00:05:26,000 --> 00:05:33,000 Őszintén szólva, látni fogod, különböző dolgokat a különböző programozók. 81 00:05:33,000 --> 00:05:40,000 PHP jellemzően gyakran kombinációban HTML 82 00:05:40,000 --> 00:05:45,000 és más nyelveken, így néha a nyomtatás fog kinézni egy kicsit funky 83 00:05:45,000 --> 00:05:50,000 ha a francia belül PHP kezdő és záró címkék. 84 00:05:50,000 --> 00:05:53,000 Tényleg attól függ. 85 00:05:53,000 --> 00:05:56,000 Ebben az esetben a másolási és beillesztési nem illessze be az füleket nekem, 86 00:05:56,000 --> 00:06:02,000 de biztosan nem, ahogy mondtad, hogy világosabb. 87 00:06:02,000 --> 00:06:06,000 Rendben, ha menteni ezt a kódot dynamic.php 88 00:06:06,000 --> 00:06:10,000 akkor mit tehetünk azért jött le, hogy a terminál ablak, ahol én vagyok itt lent 89 00:06:10,000 --> 00:06:17,000 A gedit, és nem felel meg fordítási 90 00:06:17,000 --> 00:06:20,000 felhasználásával teszi majd fut a kód C 91 00:06:20,000 --> 00:06:25,000 mindössze annyit kell tennie, a PHP fájl elindul a PHP értelmező, 92 00:06:25,000 --> 00:06:30,000 ami egy kicsit nevű program PHP, 93 00:06:30,000 --> 00:06:35,000 és az argumentum megadja, hogy a tolmács a kívánt fájlt értelmezni. 94 00:06:35,000 --> 00:06:40,000 Ebben az esetben a dynamic.php. 95 00:06:40,000 --> 00:06:43,000 Hoppá, ha nem tettem meg? 96 00:06:43,000 --> 00:06:52,000 Ó, azt betette a 9. szakasz, és most itt vagyok. Ez miért. 97 00:06:52,000 --> 00:06:57,000 >> Most, ha futok, hogy újra 98 00:06:57,000 --> 00:07:02,000 azt látjuk, hogy az első gettype függvényhívás 99 00:07:02,000 --> 00:07:04,000 var egész szám. 100 00:07:04,000 --> 00:07:12,000 A következő egy var egy string, majd a harmadik var egy logikai. 101 00:07:12,000 --> 00:07:15,000 Mi érdekes ez, ha lapozzunk vissza azt látjuk, hogy 102 00:07:15,000 --> 00:07:18,000 ezek a típusok hasonlóak az is, hogy mi volt a C. 103 00:07:18,000 --> 00:07:22,000 Mi volt ints a C 104 00:07:22,000 --> 00:07:26,000 Azt a fajta volt, húrok C, 105 00:07:26,000 --> 00:07:31,000 így húrok nem voltak teljesen legit típus az értelemben, hogy 106 00:07:31,000 --> 00:07:37,000 mi CS50 húr tényleg mi? 107 00:07:37,000 --> 00:07:39,000 Tessék? Missy? 108 00:07:39,000 --> 00:07:41,000 [Missy] Char *. 109 00:07:41,000 --> 00:07:43,000 Igen, ez volt az char * használtunk. 110 00:07:43,000 --> 00:07:47,000 A legelején a félév voltunk a string típusú, 111 00:07:47,000 --> 00:07:52,000 de ez tényleg egy char * a motorháztető alatt. 112 00:07:52,000 --> 00:07:58,000 Mi csak meghatározott típusú azt, mivel a PHP-ben ezek a húrok tényleges típusát. 113 00:07:58,000 --> 00:08:07,000 Nincs több e char * típusú cucc. 114 00:08:07,000 --> 00:08:10,000 >> Látni fogod, hogy tehetünk több dolgot húrok 115 00:08:10,000 --> 00:08:14,000 sokkal könnyebben PHP-ben, mint mi, a C, 116 00:08:14,000 --> 00:08:17,000 és végül, itt van ez a boolean típusú, és a nagy különbség az, hogy 117 00:08:17,000 --> 00:08:21,000 ha lapozzunk vissza azt látjuk, hogy a neve az ilyen típusú 118 00:08:21,000 --> 00:08:28,000 most integer, string és logikai helyett int és bool, 119 00:08:28,000 --> 00:08:31,000 és ahogy vedd fel a különböző programozási nyelvek, 120 00:08:31,000 --> 00:08:36,000 feltételezve, hogy egy bizonyos ponton az életetekben, akkor érintkeznek 121 00:08:36,000 --> 00:08:40,000 más is észre fogod venni, kis quirks, mint ez 122 00:08:40,000 --> 00:08:44,000 ahol C felhívja egészek ints. 123 00:08:44,000 --> 00:08:46,000 Néhányan hívják egészek. 124 00:08:46,000 --> 00:08:51,000 Vannak más szempontból, hogy akkor befut. 125 00:08:51,000 --> 00:08:55,000 Big int ma láttunk SQL-ben. 126 00:08:55,000 --> 00:08:59,000 Vannak is számot, majd int, boolean, 127 00:08:59,000 --> 00:09:03,000 mindenféle különbség van. 128 00:09:03,000 --> 00:09:07,000 >> Ez nem túl érdekes, de most fogok adni neked egy kis időt 129 00:09:07,000 --> 00:09:13,000 ha zoom vissza, hogy a munka révén ezt a gyakorlatot alján 3 oldalon 130 00:09:13,000 --> 00:09:20,000 ha azt kérdezi, hogy milyen típusú felelnek meg ezek az értékek itt alul. 131 00:09:20,000 --> 00:09:24,000 Van 3.50. 132 00:09:24,000 --> 00:09:28,000 Van ez a dolog itt, ami érdekes. 133 00:09:28,000 --> 00:09:32,000 Még nem láttam ilyet, de ha már a következő mentén előadás 134 00:09:32,000 --> 00:09:35,000 akkor valószínűleg már tudja, mi az. 135 00:09:35,000 --> 00:09:40,000 Aztán itt van ez, ami ezt a fajta funky. 136 00:09:40,000 --> 00:09:42,000 Felismeri ezt. 137 00:09:42,000 --> 00:09:46,000 Mi ez a C-ben? 138 00:09:46,000 --> 00:09:50,000 Sam? Mi lenne ez Önnek a C? 139 00:09:50,000 --> 00:09:54,000 Ez megnyit egy fájlt nevű dynamic.php és ez olvasható. 140 00:09:54,000 --> 00:09:58,000 Igen, és mi lenne a típusú változó, hogy mi lenne rendelni ezt? >> Fájl csillag. 141 00:09:58,000 --> 00:10:02,000 Pontosan, mi lenne rendelni, hogy ez egy fájlt csillag. 142 00:10:02,000 --> 00:10:08,000 Ez jogos PHP is. 143 00:10:08,000 --> 00:10:12,000 Futtatás hogy. Látod, mi történik, ha át, hogy a gettype. 144 00:10:12,000 --> 00:10:19,000 És akkor azt is nézd meg, mit null az, hogy mi lehet a PHP-ben. 145 00:10:19,000 --> 00:10:21,000 Adok egy pár percig. 146 00:10:21,000 --> 00:10:24,000 Akkor szó szerint másolja ezeket az értékeket, 147 00:10:24,000 --> 00:10:29,000 és aztán egy kis véletlen hívást Ön 148 00:10:29,000 --> 00:10:34,000 és nézd meg, mit tudsz. 149 00:10:34,000 --> 00:10:36,000 >> [Student] Van egy kérdésem. << Igen. 150 00:10:36,000 --> 00:10:40,000 Az egyik előadás Dávid azt mondta, hogy van valami akkor tegye a tetején a fájl 151 00:10:40,000 --> 00:10:43,000 úgy, hogy nem kell, hogy írja a PHP minden alkalommal. 152 00:10:43,000 --> 00:10:45,000 Mi volt ez? 153 00:10:45,000 --> 00:10:50,000 Ő valószínűleg beszélt font bang, a hash bumm. 154 00:10:50,000 --> 00:10:57,000 Ez az irányelv, hogy ha jelöli a futtatható fájlt 155 00:10:57,000 --> 00:11:01,000 akkor mit csinál az, amikor végre a fájl 156 00:11:01,000 --> 00:11:06,000 fogja mondani a shell programot 157 00:11:06,000 --> 00:11:12,000 használni a PHP értelmező a fájl tartalmát. 158 00:11:12,000 --> 00:11:16,000 A kérdés az, hogy mi volt ez a különleges vonal 159 00:11:16,000 --> 00:11:20,000 hogy magukban a tetején a PHP fájlokat nem kell fel 160 00:11:20,000 --> 00:11:26,000 E PHP vonal vagy e PHP parancsot, amikor akarjuk, hogy végre a fájlt? 161 00:11:26,000 --> 00:11:31,000 És akkor valóban ezt egy csomó különböző fájlokat. 162 00:11:31,000 --> 00:11:37,000 Úgy vélem, ez attól függ, ha a PHP bináris tárolják, 163 00:11:37,000 --> 00:11:43,000 de gyakran usr / bin / php egy jó kiindulópont. 164 00:11:43,000 --> 00:11:45,000 Akkor kiderítjük éppen megy vissza a készülék 165 00:11:45,000 --> 00:11:50,000 és írja be, hogy melyik php. 166 00:11:50,000 --> 00:11:55,000 A parancs, amely kitalálja, amikor végrehajtó bináris 167 00:11:55,000 --> 00:12:01,000 vagy egy parancsot, ahol a megfelelő fájl. 168 00:12:01,000 --> 00:12:06,000 Ez azt mondja nekem, hogy a PHP valóban aliasing ez bináris fájl 169 00:12:06,000 --> 00:12:13,000 ez tárolt usr / bin, ott, ahol sok a rendszer bináris telepítve vannak. 170 00:12:13,000 --> 00:12:21,000 Például, ha azt felfelé a csúcsra, most, hogy már fel ezt a #! vonal itt 171 00:12:21,000 --> 00:12:27,000 Én lapozzunk lefelé, és én is megpróbál futtatni 172 00:12:27,000 --> 00:12:35,000 dynamic.php, de kapok ezt a hibát mintegy engedélyt megtagadják, 173 00:12:35,000 --> 00:12:42,000 és hogy ez mit jelent az, hogy ez a fájl jelenleg nem ad futtatható engedélyeket. 174 00:12:42,000 --> 00:12:46,000 Ez nem jelölt fájlt, hogy valaki képes futtatni. 175 00:12:46,000 --> 00:12:52,000 >> Amikor futott Márka vagy csenget, és van egy végrehajtható belőle 176 00:12:52,000 --> 00:12:56,000 a fordító elég okos volt ahhoz, hogy tudja, hogy hé, építek egy futtatható. 177 00:12:56,000 --> 00:13:00,000 Talán szeretnénk végrehajtani, így ez automatikusan konfigurálni 178 00:13:00,000 --> 00:13:02,000 jogosultságokat az Ön számára. 179 00:13:02,000 --> 00:13:06,000 Nem ez a helyzet azonban, ha létrehoz egy normál fájl a semmiből, 180 00:13:06,000 --> 00:13:13,000 az oka, hogy általában nem akarod, hogy bármilyen fájlt a rendszerben végrehajtható, 181 00:13:13,000 --> 00:13:15,000 így valóban el kell menni, és kézzel csinálni. 182 00:13:15,000 --> 00:13:22,000 A legegyszerűbb módja, ha ez a chmod parancsot, 183 00:13:22,000 --> 00:13:28,000 és chmod + x mondja hozzá a végrehajtható bit 184 00:13:28,000 --> 00:13:31,000 mert ott van az olvasási bit, bit az írási és a végrehajtható bit, 185 00:13:31,000 --> 00:13:35,000 r, w és x, 186 00:13:35,000 --> 00:13:39,000 és azt mondja: chmod + x bekapcsolja a futtatható bit 187 00:13:39,000 --> 00:13:46,000 mert akkor a fájl, általunk megadott, mely ebben az esetben lesz dynamic.php. 188 00:13:46,000 --> 00:13:49,000 >> [Student], hogy be van kapcsolva mindenkinek? 189 00:13:49,000 --> 00:13:52,000 Nézzük ezt meg, akkor hogyan lennék ellenőrizze, hogy az engedélyeket? 190 00:13:52,000 --> 00:13:54,000 Tudja, hogyan lennék ellenőrizze, hogy az engedélyeket a fájlt? 191 00:13:54,000 --> 00:13:56,000 [Hallhatatlan hallgatói válasz] 192 00:13:56,000 --> 00:13:58,000 Elnézést? >> [Student] XSD. 193 00:13:58,000 --> 00:14:03,000 XSD ad nekünk a fájlt csapkod. 194 00:14:03,000 --> 00:14:09,000 Felsorolja az összes fájlt,-l, majd mutasd az összes fájlt a saját könyvtárban 195 00:14:09,000 --> 00:14:13,000 milyen az a hosszú, részletes lista, és ezért itt azt látjuk, hogy 196 00:14:13,000 --> 00:14:17,000 ez dynamic.php fájl 197 00:14:17,000 --> 00:14:23,000 utolsó módosítása november 5. at 16:21. 198 00:14:23,000 --> 00:14:26,000 A tulajdonos a fájl jharvard. 199 00:14:26,000 --> 00:14:28,000 Ez az a felhasználó, aki bejelentkezett 200 00:14:28,000 --> 00:14:31,000 Ez a felhasználói Én dolgozom, 201 00:14:31,000 --> 00:14:36,000 és ha te is a készülék maga is dolgozik, a felhasználó jharvard. 202 00:14:36,000 --> 00:14:38,000 Te vagy a diákok csoportjában 203 00:14:38,000 --> 00:14:44,000 és ezek azok a dolgok, látni fogod, elég gyakran. 204 00:14:44,000 --> 00:14:47,000 >> Elmehetünk egy csomó részlet van, 205 00:14:47,000 --> 00:14:50,000 de a legtöbb, amit akar, hogy nézd meg, ha keres, hogy 206 00:14:50,000 --> 00:14:55,000 függetlenül attól, hogy a fájl futtatható elsősorban 207 00:14:55,000 --> 00:14:58,000 a felhasználó, aki birtokolja a fájlt, a tulajdonos, 208 00:14:58,000 --> 00:15:03,000 így ez jharvard, aztán mi 209 00:15:03,000 --> 00:15:07,000 jogosítványait bitek ide a bal oldalon, 210 00:15:07,000 --> 00:15:13,000 és ahogy olvasni ezt, hogy az utolsó bit 211 00:15:13,000 --> 00:15:18,000 jellemzően a megjelölésére e vagy sem-legalábbis ebben az esetben 212 00:15:18,000 --> 00:15:21,000 ez az utolsó bit gyakran kell beállítani, hogy a hirdetés jelzi 213 00:15:21,000 --> 00:15:24,000 hogy a fájl egy könyvtár, és nem csak egy normál fájl. 214 00:15:24,000 --> 00:15:28,000 Aztán a következő 3 bit itt 215 00:15:28,000 --> 00:15:34,000 meghatározzák a jogosultságokat, hogy a tulajdonos a fájl, 216 00:15:34,000 --> 00:15:38,000 így ebben az esetben jharvard, mivel a tulajdonos a fájlt, tud írni és olvasni ezt a fájlt, 217 00:15:38,000 --> 00:15:42,000 de van egy kötőjel, mondván, hogy jharvard nem tudja végrehajtani ezt a fájlt. 218 00:15:42,000 --> 00:15:46,000 A következő 3 bit értéke a csoport, így ez a diákok csoport, 219 00:15:46,000 --> 00:15:49,000 így ha volt több felhasználó én készülék, 220 00:15:49,000 --> 00:15:52,000 és mi volt több felhasználó részeként a diákok csoport, 221 00:15:52,000 --> 00:15:55,000 akkor mind olvasni ezt a fájlt, de nem tudnak írni, 222 00:15:55,000 --> 00:15:59,000 és ugyanígy bárki más a világ 223 00:15:59,000 --> 00:16:01,000 csak olvasni ezt a fájlt is. 224 00:16:01,000 --> 00:16:03,000 Van egy jó, hosszú writeup erről, 225 00:16:03,000 --> 00:16:05,000 hogy el tudja olvasni az interneten. 226 00:16:05,000 --> 00:16:10,000 A probléma set spec megyünk ebbe részletesebben. 227 00:16:10,000 --> 00:16:12,000 >> [Student] a 218 utalva a világ? 228 00:16:12,000 --> 00:16:17,000 A 218-off a fejem tetején vagyok felejtés, 229 00:16:17,000 --> 00:16:20,000 de nem. 230 00:16:20,000 --> 00:16:29,000 Lássuk. Én kioltó e most. 231 00:16:29,000 --> 00:16:32,000 Vissza az mi volt, arról, hogy köze ehhez chmod + x 232 00:16:32,000 --> 00:16:37,000 ahol akart adni dynamic.php végrehajtható engedélyek, 233 00:16:37,000 --> 00:16:40,000 és az volt a kérdés, vajon ez adna végrehajtható engedélyek mindenkinek 234 00:16:40,000 --> 00:16:44,000 vagy csak jharvard, és láthatjuk ezt 235 00:16:44,000 --> 00:16:48,000 futás a parancsokat és gépelési ls-l, 236 00:16:48,000 --> 00:16:51,000 és most azt látjuk, hogy ez megjelölt végrehajtható. 237 00:16:51,000 --> 00:16:54,000 Látod, hogy volt egy színváltozás. 238 00:16:54,000 --> 00:16:57,000 Most dynamic.php szerepel a zöld, 239 00:16:57,000 --> 00:17:01,000 és úgy néz ki, mint a válasz arra a kérdésre, amit, Charlotte? 240 00:17:01,000 --> 00:17:04,000 [Charlotte] Csak jharvard. >> Csak jharvard, igen. 241 00:17:04,000 --> 00:17:08,000 >> Ha akart fordulni a futtatható bitet mindenkinek 242 00:17:08,000 --> 00:17:10,000 hogyan is tesszük ezt? 243 00:17:10,000 --> 00:17:13,000 Minden gondolat? >> A + x? 244 00:17:13,000 --> 00:17:15,000 Igen, pontosan. 245 00:17:15,000 --> 00:17:23,000 Charlotte azt mondta, nem tehetünk chmod a + x az dynamic.php, 246 00:17:23,000 --> 00:17:26,000 és most ha fut ls-l azt látjuk, hogy a futtatható bitet 247 00:17:26,000 --> 00:17:30,000 valóban kapcsolva mindenki számára. 248 00:17:30,000 --> 00:17:37,000 És akkor ténylegesen a fordított erre, így kikapcsolni mindenki számára 249 00:17:37,000 --> 00:17:41,000 a mínusz. 250 00:17:41,000 --> 00:17:46,000 Most már ki van kapcsolva, és most mi is kapcsolja vissza a jharvard 251 00:17:46,000 --> 00:17:52,000 így tudjuk ténylegesen megtett, hogy most, 252 00:17:52,000 --> 00:17:58,000 és most látod, amikor futtatja a kódot erre a különleges #! sort a tetején, 253 00:17:58,000 --> 00:18:04,000 #! sor, azt mondta a héj, 254 00:18:04,000 --> 00:18:08,000 azt mondta a terminál hey, ha ez a fájl fut, 255 00:18:08,000 --> 00:18:14,000 a / usr / bin / php értelmezni ezt a fájlt 256 00:18:14,000 --> 00:18:20,000 majd nyomtassa ki az eredményt. 257 00:18:20,000 --> 00:18:22,000 [Hallhatatlan diák a kérdéshez] 258 00:18:22,000 --> 00:18:25,000 Persze, hadd lépjünk vissza. Csakúgy, mint ez. 259 00:18:25,000 --> 00:18:36,000 Látni fogod az összes ilyen irányelvek kezdeni ezzel a font, majd a felkiáltójel, 260 00:18:36,000 --> 00:18:39,000 néha a kocsma, hash bumm. 261 00:18:39,000 --> 00:18:48,000 >> [Student] Hogyan tudunk futni azt php dynamic.php mielőtt tegyük futtathatóvá? 262 00:18:48,000 --> 00:18:55,000 A kérdés az volt, hogyan lehet futtatni ezt a PHP bináris 263 00:18:55,000 --> 00:18:58,000 míg dynamic.php nem futtatható? 264 00:18:58,000 --> 00:19:01,000 Ez szuper fontos, mert ez pontosan 265 00:19:01,000 --> 00:19:06,000 ez működni fog, ha írsz problémája szett 7. 266 00:19:06,000 --> 00:19:09,000 A legtöbb esetben PHP fájlokat közvetlenül nem futtatható. 267 00:19:09,000 --> 00:19:14,000 Az út, hogy működik, mert ez a PHP bináris, ez végrehajtható. 268 00:19:14,000 --> 00:19:16,000 A tolmács az a dolog, ami végrehajtás alatt, 269 00:19:16,000 --> 00:19:20,000 és így mit csinál szó szerint szürcsölte a teljes tartalom 270 00:19:20,000 --> 00:19:25,000 a mi dynamic.php fájlt és megy soronként 271 00:19:25,000 --> 00:19:29,000 és a végrehajtó a parancsokat, így ez a mi PHP fájl 272 00:19:29,000 --> 00:19:31,000 listaként utasítások. 273 00:19:31,000 --> 00:19:36,000 Ez nem közvetlenül végrehajtja azt. 274 00:19:36,000 --> 00:19:40,000 Ez az, ahol azt mondjuk, hogy ezek a fájlok értelmezni futási időben. 275 00:19:40,000 --> 00:19:46,000 Ez egy futásidejű nyelv helyett valami, ami meghatározott fordítási időben, 276 00:19:46,000 --> 00:19:49,000 nem egy lefordított nyelv, mint a C- 277 00:19:49,000 --> 00:19:54,000 >> Van egy módja annak, hogy egy üzemidő nyelvet, mintha ez egy fordítási időben nyelv, 278 00:19:54,000 --> 00:19:58,000 szeretném, ha az összes futás kelt a szerver 279 00:19:58,000 --> 00:20:00,000 ahelyett, tudod, mire gondolok? 280 00:20:00,000 --> 00:20:04,000 Igen, így a kérdés az, 281 00:20:04,000 --> 00:20:11,000 van egy módja, hogy futási időben nyelven cselekedni több hasonlót fordításkor típusú nyelvet? 282 00:20:11,000 --> 00:20:18,000 És vannak, úgy értem, ez egy aktív kutatási terület a sok ezeknek a vállalatoknak. 283 00:20:18,000 --> 00:20:22,000 Úgy vélem, Facebook sokat munka PHP 284 00:20:22,000 --> 00:20:25,000 és összeállításának le, így gyorsabb, optimalizálja az 285 00:20:25,000 --> 00:20:29,000 mivel a helyszínen épül PHP. 286 00:20:29,000 --> 00:20:34,000 Ha már követően node.js egyáltalán, 287 00:20:34,000 --> 00:20:40,000 amely egyfajta JavaScript tolmács 288 00:20:40,000 --> 00:20:44,000 hogy képes legyen a JavaScript futtatását kívül a böngésző, kívül a böngésző, 289 00:20:44,000 --> 00:20:47,000 mert hagyományosan JavaScript akar csak futni belsejében Firefox vagy a Chrome, 290 00:20:47,000 --> 00:20:52,000 és ez lehet használni, hogy hűvös animációkat történni weblapon 291 00:20:52,000 --> 00:20:55,000 , és a weboldal dinamikus. 292 00:20:55,000 --> 00:20:59,000 Ez épült a sok munka, hogy a Google tette 293 00:20:59,000 --> 00:21:03,000 hogy a JavaScript és a C + + 294 00:21:03,000 --> 00:21:09,000 kötik össze, így van egy csomó aktív kutatás 295 00:21:09,000 --> 00:21:13,000 hogy ezek a nyelvek, hogy kölcsönhatásba lépnek és optimalizálja azokat, 296 00:21:13,000 --> 00:21:17,000 elsősorban azért, mert olyan sok ember tud kódot a PHP és JavaScript 297 00:21:17,000 --> 00:21:19,000 mert ez egy sokkal könnyebb. 298 00:21:19,000 --> 00:21:21,000 Ez egy sokkal szebb. Nem mutatók. 299 00:21:21,000 --> 00:21:27,000 Nincs termék lebeg. 300 00:21:27,000 --> 00:21:31,000 Meg akarták szerezni az előnyeit ezeknek fordítási időben nyelven 301 00:21:31,000 --> 00:21:36,000 az összes típusú ellenőrzés, valamint a sebesség és az alsó memória használat, és minden adott 302 00:21:36,000 --> 00:21:42,000 miközben továbbra is fenntartja a rugalmasság és a könnyű használat e újabbak. 303 00:21:42,000 --> 00:21:46,000 >> Vissza az eredeti terv támadás. 304 00:21:46,000 --> 00:21:50,000 Van egy pár ilyen kérdés itt a probléma meg spec. 305 00:21:50,000 --> 00:21:54,000 Menjünk a rajtuk keresztül nagyon gyorsan, és megyünk körbe a szobában. 306 00:21:54,000 --> 00:21:59,000 Charlotte, milyen típus 3,50? 307 00:21:59,000 --> 00:22:01,000 [Charlotte] Ez egy dupla. >> Ez egy dupla. 308 00:22:01,000 --> 00:22:03,000 Jimmy, mi ez a következő egy? >> Egy tömb. 309 00:22:03,000 --> 00:22:09,000 Egy tömb, félelmetes, és Jared, mi a fopen? 310 00:22:09,000 --> 00:22:11,000 [Jared] Ez egy forrás. >> Ez egy erőforrás. 311 00:22:11,000 --> 00:22:15,000 Ez a fajta egy új, és nem egy fájlt csillag, nem egy fájlt. 312 00:22:15,000 --> 00:22:19,000 Ez az erőforrás a típus a PHP-ben, 313 00:22:19,000 --> 00:22:24,000 és sajnálom, Ella, az utolsó null mi? 314 00:22:24,000 --> 00:22:26,000 Null. 315 00:22:26,000 --> 00:22:28,000 Null, hogyan is írt PHP-ben? >> A ugyanúgy. 316 00:22:28,000 --> 00:22:30,000 Ugyanígy, nagybetűs? >> Igen. 317 00:22:30,000 --> 00:22:33,000 Igen, minden rendben. 318 00:22:33,000 --> 00:22:35,000 Itt vagyunk, hogy van egy kettős, megvan egy tömb, 319 00:22:35,000 --> 00:22:41,000 megvan a forrás, aztán megvan null. 320 00:22:41,000 --> 00:22:48,000 Lássuk most már láttad- 321 00:22:48,000 --> 00:22:51,000 lássuk, így most azt hiszem, amit én is akarok, húzza fel 322 00:22:51,000 --> 00:22:56,000 Ez a honlap itt, ez a php.net / manual, 323 00:22:56,000 --> 00:23:01,000 így ha ti másolja, és megnyitja a böngészőt. 324 00:23:01,000 --> 00:23:07,000 Megyek felhúzni Chrome, tedd be 325 00:23:07,000 --> 00:23:10,000 Meg akarom mutatni ezt nem csak azért, mert 326 00:23:10,000 --> 00:23:13,000 beszélhetünk egész nap arról típusú és minden szórakoztató dolgokat 327 00:23:13,000 --> 00:23:19,000 hanem azért, mert ez a PHP kézikönyv, 328 00:23:19,000 --> 00:23:23,000 és van egy csomó PHP programozó odakinn. 329 00:23:23,000 --> 00:23:26,000 Van egy csomó PHP honlapok odakinn, 330 00:23:26,000 --> 00:23:31,000 és ennek eredményeként van sok dokumentáció PHP, 331 00:23:31,000 --> 00:23:36,000 és a kézikönyv, a php.net, egy igazán jó hely, hogy menjen 332 00:23:36,000 --> 00:23:43,000 ha te tekintettel kérdések arról, hogy mi a legjobb módja, ha X a PHP 333 00:23:43,000 --> 00:23:45,000 vagy mit funkció néz ki? 334 00:23:45,000 --> 00:23:49,000 Csak a fajta egyre ismerik, hogy ez mit néz, mert 335 00:23:49,000 --> 00:23:54,000 akkor jön ide gyakran, egy kicsit a probléma készlet 7. 336 00:23:54,000 --> 00:23:57,000 >> Ha a végén csinál egy projekt végső használó PHP 337 00:23:57,000 --> 00:24:04,000 ez lesz egy hely, akkor már nagyon jól ismerik. 338 00:24:04,000 --> 00:24:09,000 Gyakran az emberek ennek az, hogy a Google keresni az oldalon, 339 00:24:09,000 --> 00:24:16,000 és nem használja a keresési mezőt, ami itt, a jobb felső sarokban, ami elég kicsi. 340 00:24:16,000 --> 00:24:19,000 Ha Googling körül valami köze a PHP és látod 341 00:24:19,000 --> 00:24:24,000 az egyik kézikönyv linkek pop-up akkor általában hivatkozhatnak e 342 00:24:24,000 --> 00:24:31,000 mint egy meglehetősen jó forrás. 343 00:24:31,000 --> 00:24:34,000 Félelmetes, így az ilyen típusú, csak kíváncsiságból, 344 00:24:34,000 --> 00:24:37,000 melyeket még nem láttunk? 345 00:24:37,000 --> 00:24:40,000 Bármi, amit még nem láttam itt? 346 00:24:40,000 --> 00:24:44,000 [Student] Resource. >> Láttuk forrás a fopen hívást. 347 00:24:44,000 --> 00:24:48,000 [Student] Objects. >> Tárgyak nem láttunk, az biztos. 348 00:24:48,000 --> 00:24:51,000 Callback nem láttunk. 349 00:24:51,000 --> 00:24:54,000 Van néhány ilyen pszeudo-típusok. 350 00:24:54,000 --> 00:24:57,000 Mi biztosan csak látta, egész és dupla. 351 00:24:57,000 --> 00:25:01,000 Nem látni néhány a többiek, így ha kattintson egészek 352 00:25:01,000 --> 00:25:08,000 látjuk, van bármilyen más egészek, hogy van itt? 353 00:25:08,000 --> 00:25:11,000 Vajon minden olyan integer, egész, egész. 354 00:25:11,000 --> 00:25:14,000 Néhány nyelv van nagyobb integer típusú, 355 00:25:14,000 --> 00:25:23,000 mint láttuk, a MySQL-t még ma volt int, majd nagy int. 356 00:25:23,000 --> 00:25:25,000 Cool. 357 00:25:25,000 --> 00:25:28,000 >> Szóval, PHP utasítás. 358 00:25:28,000 --> 00:25:37,000 Menjünk vissza a mi problémánk set spec, és mi most görgessen le a 4. oldalon. 359 00:25:37,000 --> 00:25:41,000 Az egyik dolog, ami történik, ha kap ezeken a nyelveken 360 00:25:41,000 --> 00:25:49,000 hogy nincs meg ez a statikus gépelés, ezért ezeken a nyelveken, ahol meg kell állapítsa 361 00:25:49,000 --> 00:25:52,000 a változó típusát elöl 362 00:25:52,000 --> 00:26:00,000 A kap esetekben lehet kezdeni, amelyek a különböző típusú változókat 363 00:26:00,000 --> 00:26:04,000 kölcsönhatásban áll egymással, 364 00:26:04,000 --> 00:26:09,000 és a PHP nem ez a dolog, ha próbál tenni 365 00:26:09,000 --> 00:26:13,000 amit véleménye szerint a legésszerűbb dolog 366 00:26:13,000 --> 00:26:18,000 ha van 2 különböző típusú kölcsönhatásban vannak egymással. 367 00:26:18,000 --> 00:26:24,000 Például, ha megnézzük ezeket a sorokat kódot itt 368 00:26:24,000 --> 00:26:29,000 látod, hogy mi van, mi történik, ha 369 00:26:29,000 --> 00:26:38,000 megpróbáljuk, és adjuk hozzá a karakterlánc 1-értéke 2. 370 00:26:38,000 --> 00:26:41,000 Mi történik, ha megpróbáljuk, és adjunk hozzá egy string, amely nem egy számérték 371 00:26:41,000 --> 00:26:48,000 hanem a tényleges karakterek CS a szám 50? 372 00:26:48,000 --> 00:26:51,000 Majd meglátjuk, van-e valami más, ami történik, ahol 373 00:26:51,000 --> 00:26:56,000 ahelyett, hogy egy string egy szám vagyunk hozzá a számot egy string, 374 00:26:56,000 --> 00:27:00,000 és így tovább, és így tovább, hogy a pont, ahol mi vagyunk egyre 375 00:27:00,000 --> 00:27:05,000 Valami furcsa dolog itt, ahol megvan 7 + igaz. 376 00:27:05,000 --> 00:27:09,000 Mi a fenét jelent ez? 377 00:27:09,000 --> 00:27:19,000 >> Ha mentek előre, és be néhány ezt a kódot a készülék. 378 00:27:19,000 --> 00:27:27,000 Akkor tartsa dynamic.php. 379 00:27:27,000 --> 00:27:30,000 Meglátjuk, mi történik. 380 00:27:41,000 --> 00:27:43,000 [Student] Csak olyan nyomtatási, nem printf? 381 00:27:43,000 --> 00:27:52,000 Igen, és rájössz, hogy print is érvényes funkció nyomtatás PHP. 382 00:27:52,000 --> 00:27:54,000 Sok különböző módon csinálja. 383 00:27:54,000 --> 00:27:58,000 Meglátjuk, egy pár példát később egyszer elkezdünk beszélni 384 00:27:58,000 --> 00:28:02,000 az egyedi probléma, hogy fogunk írni 385 00:28:02,000 --> 00:28:06,000 majd a koncentráció probléma, hogy fogunk írni 386 00:28:06,000 --> 00:28:09,000 hogy bár van fopen és fclose 387 00:28:09,000 --> 00:28:15,000 ez gyakran nem a legegyszerűbb módja, hogy olvassa el a tartalmát egy fájlt. 388 00:28:15,000 --> 00:28:21,000 PHP sok ilyen C-szerű holdovers. 389 00:28:21,000 --> 00:28:28,000 [Student] Amikor tettem összesen 6 olyan dolog, én csak kap egy számot, mint egy kimenet. 390 00:28:28,000 --> 00:28:36,000 [Nate H.] Ha betesz összes 6 ezeket a dolgokat. 391 00:28:36,000 --> 00:28:39,000 Lássuk azért, mert ez esetleg- 392 00:28:39,000 --> 00:28:46,000 Egy dolog, hogy ezek a nyomtatott hívások nem szüntette a végén az új vonalak. 393 00:28:46,000 --> 00:28:49,000 Nincs új vonal elválasztó mindegyik print hívások, 394 00:28:49,000 --> 00:28:51,000 így talán kapsz egy nagy szám, 395 00:28:51,000 --> 00:28:58,000 és ez tényleg csak az amalgám az új sor karakter. 396 00:28:58,000 --> 00:29:00,000 [Student] Oké, hogyan győződjön meg róla, 397 00:29:00,000 --> 00:29:03,000 Nos, van egy csomó különböző módon. 398 00:29:03,000 --> 00:29:06,000 Lehet manuálisan valósult meg a print egy új sor karaktert, 399 00:29:06,000 --> 00:29:09,000 visszhangja egy új sor karaktert, 400 00:29:09,000 --> 00:29:12,000 nyomtatni az új vonal. 401 00:29:12,000 --> 00:29:16,000 [Student] Szóval visszhang ugyanaz, mint a printf? 402 00:29:16,000 --> 00:29:21,000 >> Printf olyan, mint a C printf 403 00:29:21,000 --> 00:29:24,000 hová nyomtat formázott string. 404 00:29:24,000 --> 00:29:32,000 Te ellátása ezzel a format string, majd az összes helyőrző változót. 405 00:29:32,000 --> 00:29:39,000 Ez gyakran valami, hogy nem használják- 406 00:29:39,000 --> 00:29:42,000 lássuk, mint egy nyilatkozatot, 407 00:29:42,000 --> 00:29:48,000 Kevésbé vagyok jártas a PHP, mint én más webes nyelvek, 408 00:29:48,000 --> 00:29:53,000 és amikor már programozott PHP Én általában nem használja printf 409 00:29:53,000 --> 00:29:59,000 mert úgy találják, hogy gyorsabban kell használni a húr interpoláció képességekkel rendelkezik, 410 00:29:59,000 --> 00:30:04,000 amely megyünk bele, és én megmutatom neked csak egy második, 411 00:30:04,000 --> 00:30:08,000 mivel a C már ilyen van, hogy ezt Hacky dolgot, hogy azt, hogy nyomtassa ki megfelelően. 412 00:30:08,000 --> 00:30:16,000 Akkor ténylegesen változókat közvetlenül karakterláncok PHP-ben. 413 00:30:16,000 --> 00:30:22,000 Printf egyfajta túlságosan hosszú, amit szoktam. Igen, Ella. 414 00:30:22,000 --> 00:30:25,000 [Ella] Általában, ha kap értelmezési hiba jelent- 415 00:30:25,000 --> 00:30:30,000 mint a C, hogy nem mondja meg, hogy pontosan hol a hiba, és mi az, 416 00:30:30,000 --> 00:30:34,000 így ez azt jelenti, hogy néz keresztül az egész kódot, és kitalálni? 417 00:30:34,000 --> 00:30:39,000 Ez általában célzottabb, mint ezt. 418 00:30:39,000 --> 00:30:48,000 Úgy gondolom, ebben az esetben ez egy kicsit off, 419 00:30:48,000 --> 00:30:51,000 ezért úgy gondolom, ebben az esetben hiányzik a pontosvessző. 420 00:30:51,000 --> 00:30:54,000 Azt próbálta megérteni mindent, 421 00:30:54,000 --> 00:30:57,000 úgy, mint ezek értelmezett nyelven, tolmács megpróbálom 422 00:30:57,000 --> 00:31:01,000 és megtesz annak érdekében, hogy minden munkát megfelelően. 423 00:31:01,000 --> 00:31:04,000 >> Meglátod, például a JavaScript 424 00:31:04,000 --> 00:31:10,000 akkor gyakran-line kimutatások végén pontosvesszővel ugyanúgy, mint a PHP, 425 00:31:10,000 --> 00:31:13,000 ugyanúgy, mint a C 426 00:31:13,000 --> 00:31:15,000 A JavaScript néhány JavaScript tolmácsok 427 00:31:15,000 --> 00:31:20,000 egy csomó a böngésző bevezetett pontosvesszővel Önnek 428 00:31:20,000 --> 00:31:23,000 ha véletlenül hiányzik nekik. 429 00:31:23,000 --> 00:31:29,000 Majd megpróbálja befogadni néhány hanyagságot az Ön részéről. 430 00:31:29,000 --> 00:31:34,000 Ez az, ahol lehet, próbál és próbál és próbál tenni a dolgokat a munka, 431 00:31:34,000 --> 00:31:36,000 és végül, hogy lesz egy pont, ahol azt mondja, rendben van, 432 00:31:36,000 --> 00:31:38,000 Nem tudom, hogy működnek a dolgok a megmentésére, és ez az, ahol kapsz egy sorszám 433 00:31:38,000 --> 00:31:44,000 hogy tűnhet egy kicsit le a pontos helyet. 434 00:31:44,000 --> 00:31:47,000 Oké, menjünk keresztül nagyon gyorsan. 435 00:31:47,000 --> 00:31:50,000 Mi maradt le Ella, úgyhogy menjünk át Missy, 436 00:31:50,000 --> 00:31:54,000 és Missy, mit print string 1 plusz 2-es számot adni? 437 00:31:54,000 --> 00:31:56,000 [Missy] 3. >> 3. 438 00:31:56,000 --> 00:31:59,000 Van ennek értelme? Nagyjából? 439 00:31:59,000 --> 00:32:02,000 Vajon kapsz egy számot? Vajon kapsz egy húr? 440 00:32:02,000 --> 00:32:05,000 [Missy] A szám. >> Ez egy szám. 441 00:32:05,000 --> 00:32:09,000 De ez nyomtatást, így ez fog adni valamilyen string. 442 00:32:09,000 --> 00:32:12,000 >> Egy dolog, amit tehetünk, hogy ezt nézd meg 443 00:32:12,000 --> 00:32:21,000 , ha mi $ var = 1 + 2 444 00:32:21,000 --> 00:32:28,000 és akkor azt mondjuk, visszhang gettype, 445 00:32:28,000 --> 00:32:33,000 úgyhogy egy harmadik fajta nyomtatás itt. 446 00:32:33,000 --> 00:32:39,000 Most már látjuk, mi történik itt. 447 00:32:39,000 --> 00:32:42,000 Itt mi van az, hogy mi van egy egész ebből. 448 00:32:42,000 --> 00:32:45,000 Annak ellenére, hogy volt hozzá ez a karakterlánc egy számot, 449 00:32:45,000 --> 00:32:48,000 nem kaptunk egy sor belőle, mint Missy mondta. 450 00:32:48,000 --> 00:32:52,000 Voltunk kapok egy egész. 451 00:32:52,000 --> 00:32:57,000 Oké, akkor lássuk, next up, 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. Van ennek értelme? 454 00:33:02,000 --> 00:33:04,000 [Kevin] Igen. 455 00:33:04,000 --> 00:33:06,000 [Nate H.] Miért? Miért van értelme az Ön számára? 456 00:33:06,000 --> 00:33:11,000 [Kevin] Mert csak úgy, a húr, amely számérték nulla. 457 00:33:11,000 --> 00:33:16,000 Igen, remek. 458 00:33:16,000 --> 00:33:20,000 Elég egyértelmű helyzetek, de jó tudni, mi történik. 459 00:33:20,000 --> 00:33:25,000 Stella, mi történik ezután a szám 1 + karakterlánc 2? 460 00:33:25,000 --> 00:33:27,000 [Stella] 3. >> 3 újra. 461 00:33:27,000 --> 00:33:30,000 És ebben az esetben, akkor kapunk egy karakterlánc vagy szám? 462 00:33:30,000 --> 00:33:36,000 >> Adjunk ennek egy esélyt. 463 00:33:36,000 --> 00:33:43,000 Valaki gyorsabb, mint nekem kap a válasz? Charlotte? 464 00:33:43,000 --> 00:33:46,000 Ó, Nem mondta, rendben, lássuk, mi lesz, hogy ugyanezt a fajta dolog 465 00:33:46,000 --> 00:33:49,000 ha van egy szám és egy string, és megyünk visszhang típusát, 466 00:33:49,000 --> 00:33:51,000 mit kapunk. 467 00:33:51,000 --> 00:33:55,000 Azt is kap egy egész. 468 00:33:55,000 --> 00:33:58,000 Nem számít, hogy melyik az a szöveg, hogy melyik az a szám. 469 00:33:58,000 --> 00:34:00,000 Még mindig lesz, hogy egy egész. 470 00:34:00,000 --> 00:34:04,000 Még mindig csinálni, amit várnánk. 471 00:34:04,000 --> 00:34:09,000 Rendben, Sam, mi körülbelül 90 + 9 üveg sör a falon? 472 00:34:09,000 --> 00:34:12,000 [Sam] 99. >> 99. 473 00:34:12,000 --> 00:34:15,000 I üveg sör a falon, mégis. 474 00:34:15,000 --> 00:34:17,000 Ez ad nekünk egy kicsit több információt arról, hogy mi történik. 475 00:34:17,000 --> 00:34:21,000 [Sam] Ha írt 9 levelekben 476 00:34:21,000 --> 00:34:23,000 akkor lenne 90, ugye? 477 00:34:23,000 --> 00:34:26,000 [Nate H.] Igen. 478 00:34:26,000 --> 00:34:30,000 A kérdés az volt, ha mi lenne írva 9 out N-I-N-E 479 00:34:30,000 --> 00:34:34,000 volna mi ütött 99 vagy 90? 480 00:34:34,000 --> 00:34:38,000 Mi lennék 90. 481 00:34:38,000 --> 00:34:42,000 Ez a szó szoros értelmében csak keres számjegy karaktereket. 482 00:34:42,000 --> 00:34:46,000 Ez nem elég okos ahhoz, hogy ismerje szám szavakat és ilyesmi. Igen. 483 00:34:46,000 --> 00:34:48,000 >> [Diák] Van-e olyan dolog, mint typecasting PHP? 484 00:34:48,000 --> 00:34:54,000 Van, és ez pontosan úgy, ahogy azt csinálni C. 485 00:34:54,000 --> 00:34:56,000 Mi a helyzet a 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.] Igen, és mi lenne meglepő ez? 488 00:35:01,000 --> 00:35:04,000 Mi történne, ha ezt tetted ugyanaz a fajta dolog, C, 489 00:35:04,000 --> 00:35:06,000 ha nem 10/7 C? 490 00:35:06,000 --> 00:35:08,000 [Charlotte] Ez csak Önnek, attól függően, hogyan typecasted azt hiszem 491 00:35:08,000 --> 00:35:12,000 adna csak korlátozott számú tizedesjegy. 492 00:35:12,000 --> 00:35:16,000 Igen, korlátozott számú tizedesjegy. 493 00:35:16,000 --> 00:35:21,000 Mi más lenne, lenne ad semmiféle tizedesjegy? 494 00:35:21,000 --> 00:35:28,000 Gyakran nem, így újra, attól függően, hogy te azt typecasting 495 00:35:28,000 --> 00:35:31,000 akkor lehet, hogy nem konvertálja azt egy lebegőpontos szám. 496 00:35:31,000 --> 00:35:35,000 Itt volt az a fajta jó, hogy volt. 497 00:35:35,000 --> 00:35:40,000 Vajon mi megjelenik, ezt vissza, amikor elkezdtük ezt a fajta dolgot C 498 00:35:40,000 --> 00:35:44,000 valószínűleg lett volna egy kicsit több értelme 499 00:35:44,000 --> 00:35:48,000 hogy nem csak megy 1-re. 500 00:35:48,000 --> 00:35:51,000 És végül, Jamie, mi 7 + igaz? 501 00:35:51,000 --> 00:35:53,000 [Jamie] 8. >> 8. 502 00:35:53,000 --> 00:35:56,000 Mit jelent ez? 503 00:35:56,000 --> 00:35:58,000 Azt hiszem, ez csak ad valós értéke az 1. 504 00:35:58,000 --> 00:36:01,000 Igen. Mi történik, ha változtatod meg hamis? 505 00:36:01,000 --> 00:36:04,000 [Student] 7. 506 00:36:04,000 --> 00:36:09,000 Igen, emlékszem, hol beszélünk ezekről a bináris értékeket 507 00:36:09,000 --> 00:36:12,000 1 lét on, 0, hogy ki? 508 00:36:12,000 --> 00:36:17,000 Most igaz, 1, 0 hamis, 509 00:36:17,000 --> 00:36:21,000 , és lehet, hogy nem láttam ezt a C példa, hogy már ilyet az elmúlt félévben, 510 00:36:21,000 --> 00:36:27,000 de történelmileg a bool típusú C nem volt valódi típusát, 511 00:36:27,000 --> 00:36:32,000 így az emberek éltek a 0 és az 1 helyett igaz és hamis. 512 00:36:32,000 --> 00:36:35,000 Ez egy olyan megnyilvánulása, amely. 513 00:36:35,000 --> 00:36:39,000 >> Oké, tehát az egyik fontos része erről az egészről 514 00:36:39,000 --> 00:36:41,000 az, hogy ezeket a különböző típusú. 515 00:36:41,000 --> 00:36:43,000 Ezek kölcsönhatásba egymással. 516 00:36:43,000 --> 00:36:49,000 Ezek gyakran kölcsönhatásba egymással oly módon, hogy szépek, ahogy láttam itt. 517 00:36:49,000 --> 00:36:53,000 Örülök, hogy kell tudnia, hogy karakterlánc 1-es és a 2-es szám, hozzá őket együtt, és kap 3. 518 00:36:53,000 --> 00:36:55,000 Ennek van értelme. 519 00:36:55,000 --> 00:36:59,000 Azonban, ha írsz honlapok, és különösen, ha éppen feldolgozás 520 00:36:59,000 --> 00:37:04,000 felhasználói, így azt már írt egy webes űrlapot 521 00:37:04,000 --> 00:37:09,000 hogy információt gyűjt a felhasználó, majd azt feldolgozni 522 00:37:09,000 --> 00:37:13,000 a hátsó végén, a szerver oldalon a PHP kód 523 00:37:13,000 --> 00:37:18,000 ha számít ez az érték, hogy a felhasználói beírt és benyújtani 524 00:37:18,000 --> 00:37:23,000 a formában, hogy egy egész, vagy egy lebegőpontos szám, vagy valami ilyesmi 525 00:37:23,000 --> 00:37:29,000 meg kell kifejezetten vesd 526 00:37:29,000 --> 00:37:34,000 majd tegye bizonyos típusú ellenőrzés. 527 00:37:34,000 --> 00:37:41,000 >> Nem akarom, hogy csak támaszkodni ilyen zsonglőr rendszer, hogy a dolgok, 528 00:37:41,000 --> 00:37:48,000 különösen a biztonsági okokból csak a robusztusság az Ön honlapján. 529 00:37:48,000 --> 00:37:51,000 Csak valami, hogy tartsa szem előtt, hogy ha te kezelő űrlap adatok, 530 00:37:51,000 --> 00:37:57,000 bármit, ami a postai úton vagy a get szuperglobális 531 00:37:57,000 --> 00:38:01,000 győződjön meg róla, hogy mindig érvényesíti, és átalakítani, és betűöntő azt. 532 00:38:01,000 --> 00:38:04,000 És ahogy beszélgettünk egy pillanattal ezelőtt typecasting 533 00:38:04,000 --> 00:38:08,000 a PHP-ben pontosan ugyanaz, mint a C, ahol van a zárójelek 534 00:38:08,000 --> 00:38:14,000 és azután a típusát. 535 00:38:14,000 --> 00:38:16,000 Tartsuk szem előtt, hogy. 536 00:38:16,000 --> 00:38:19,000 Egy funkció, ami jól jöhet, ha éppen ezt 537 00:38:19,000 --> 00:38:22,000 A mi már használ és ez a fajta, mint egy félre- 538 00:38:22,000 --> 00:38:27,000 mi már használja ezt a funkciót gettype itt 539 00:38:27,000 --> 00:38:30,000 kitalálni, hogy a változó típusát, 540 00:38:30,000 --> 00:38:37,000 és bár ez a hibakeresésre és az, hogy milyen a változó típusa 541 00:38:37,000 --> 00:38:42,000 nem akarod használni ezt, például olyan állapot, amikor 542 00:38:42,000 --> 00:38:57,000 Ön ellenőrzi, hogy ha gettype a $ var = integer tenni valamit. 543 00:38:57,000 --> 00:39:01,000 Ez rossz, rossz, rossz. 544 00:39:01,000 --> 00:39:09,000 Ehelyett ezek a függvények hívott integer, nem string, 545 00:39:09,000 --> 00:39:14,000 olyan tömb, amely a használni kívánt helyett, így ebben az esetben 546 00:39:14,000 --> 00:39:18,000 mit szeretne csinálni, hanem ezt a fickót itt 547 00:39:18,000 --> 00:39:31,000 A használata nem egész var. 548 00:39:31,000 --> 00:39:37,000 És ők gyakran előterjesztett is_ *, abban az értelemben, hogy meg tudná cserélni a * az egész, 549 00:39:37,000 --> 00:39:43,000 string, et cetera, és csak hogy megbizonyosodjon arról, valóban gyorsan 550 00:39:43,000 --> 00:39:50,000 van ez int php. 551 00:39:50,000 --> 00:39:59,000 Úgy néz ki, amit tehetünk, akár az int, vagy van értéke is? 552 00:39:59,000 --> 00:40:06,000 Igen, alias, így int egész aliases. 553 00:40:06,000 --> 00:40:08,000 Cool. 554 00:40:14,000 --> 00:40:17,000 >> Hogy állunk? 555 00:40:17,000 --> 00:40:20,000 Nézzük vedd fel a tempót egy kicsit. 556 00:40:20,000 --> 00:40:24,000 Most fogunk beszélni tömbök, így láthatja 557 00:40:24,000 --> 00:40:28,000 A következő részben a spec beszélünk, hogy hogyan tömbök a PHP-ben 558 00:40:28,000 --> 00:40:31,000 kissé más, mint azok C. 559 00:40:31,000 --> 00:40:34,000 Az az igazság, ők milyen egy amalgám az 560 00:40:34,000 --> 00:40:36,000 A tömbök, amit megismerni és szeretni a C 561 00:40:36,000 --> 00:40:40,000 ahol minden azonos típusú 562 00:40:40,000 --> 00:40:43,000 tárolt egymás és összefüggően a memóriában, 563 00:40:43,000 --> 00:40:46,000 és ezeket numerikus indexek. 564 00:40:46,000 --> 00:40:49,000 Van index 0, index 1, index 2, 565 00:40:49,000 --> 00:40:53,000 és tárolja értékek, ezeket az indexeket. 566 00:40:53,000 --> 00:40:57,000 Te is a C, amikor írt Speller, sok te 567 00:40:57,000 --> 00:41:00,000 volt a hash tábla megközelítést, és azt látta, hogy ott mi volt 568 00:41:00,000 --> 00:41:03,000 egy másfajta tárolási, ahol voltunk feltérképezése 569 00:41:03,000 --> 00:41:07,000 a kulcs értéke, így amikor megpróbálta tárolni valami hash tábla 570 00:41:07,000 --> 00:41:11,000 meg kellett határozni, amit akart, hogy tárolja azt egy speciális kulcs, 571 00:41:11,000 --> 00:41:17,000 és, hogy a kulcsfontosságú meghatározott a helyét az értéktől, és azt kellene tárolni. 572 00:41:17,000 --> 00:41:22,000 Neked milyen van e két fogalom történik ugyanabban az időben egy PHP tömb, 573 00:41:22,000 --> 00:41:27,000 és ennek eredményeként, gyakran nevezzük ezeket asszociatív tömbök 574 00:41:27,000 --> 00:41:33,000 hol vagyunk társítani egy kulcsot egy értéket. 575 00:41:33,000 --> 00:41:39,000 Ebben a következő részben beszélünk egy egyszerű PHP tömb 576 00:41:39,000 --> 00:41:45,000 ahol van kulcsa a, b, és c, 577 00:41:45,000 --> 00:41:53,000 összes húrt, feltérképezése az egész 1, 2, és 3. 578 00:41:53,000 --> 00:41:57,000 És akkor van kulcsa a különböző típusokat. 579 00:41:57,000 --> 00:42:00,000 >> Akkor néhány kulcsok karakterláncok, néhány kulcsok egész számok. 580 00:42:00,000 --> 00:42:03,000 Akkor lehet különféle típusaira. 581 00:42:03,000 --> 00:42:06,000 Egyszerre egy értéket, hogy ez egy string, egy értéket, ez egy egész szám, 582 00:42:06,000 --> 00:42:11,000 olyan érték, ami egy tárgy vagy egy másik tömböt, például 583 00:42:11,000 --> 00:42:16,000 mind ugyanabban a tömbben objektum, ami elég furcsa. 584 00:42:16,000 --> 00:42:20,000 Nem kell, hogy egy tömb, ami csak most egyetlen típusú elem benne. 585 00:42:20,000 --> 00:42:26,000 Egyszerre sok különböző dolog folyik odabent. 586 00:42:26,000 --> 00:42:33,000 A másik figyelemre méltó dolog az, hogy ha te valami ilyesmit a kódot, 587 00:42:33,000 --> 00:42:38,000 Az érvényes PHP nyilvánító tömb éppen ilyen, 0, 1, 2, 3, 4, 5, 588 00:42:38,000 --> 00:42:43,000 hogy akkor nyilvánítja a inicializálja $ arr, hogy ezt a tömböt. 589 00:42:43,000 --> 00:42:48,000 De amit valójában szerzés a motorháztető alatt van ez a fajta implicit 590 00:42:48,000 --> 00:42:55,000 generációs kulcsok ahol megvan 0-0, 1 1, 2 2, 3 3-ra. 591 00:42:55,000 --> 00:42:59,000 És kiderül, hogy még ha nem is egy tömböt, mint ez a fickó ide 592 00:42:59,000 --> 00:43:03,000 ahol van egy, B és C a kulcs 593 00:43:03,000 --> 00:43:09,000 és akkor kezdi el használni a tömb gombnyomásos módszer elkezdené alkalmazni ezt a tömböt, mint egy verem, 594 00:43:09,000 --> 00:43:12,000 így láthatja, hogy ez a tömb objektum, ez a tömb tényleg válik túlterhelt. 595 00:43:12,000 --> 00:43:15,000 Mi lehet használni, mint egy tömb. Mi lehet használni, mint egy hash táblát. 596 00:43:15,000 --> 00:43:19,000 Mi lehet használni, mint egy verem. 597 00:43:19,000 --> 00:43:22,000 Amikor elkezdi nyomva dolgokat erre a tömb 598 00:43:22,000 --> 00:43:30,000 Az első dolog, amit tolja rá, ez lesz majd a 0 indexű index 1 és 2 index. 599 00:43:30,000 --> 00:43:33,000 Tudod kap ez a fajta implicit generációjának kulcsok 600 00:43:33,000 --> 00:43:38,000 hacsak nem adja őket kifejezetten. 601 00:43:38,000 --> 00:43:43,000 Az, hogy a megadott kulcs explicit módon, persze, ez a konzol segítségével jelölést, 602 00:43:43,000 --> 00:43:48,000 amely hasonló a tömbök kivéve helyett csak azokhoz 603 00:43:48,000 --> 00:43:54,000 egész típusú indexek itt, most tegyen semmit. 604 00:43:54,000 --> 00:43:57,000 Ha azt szeretné, hogy a kulcs, hogy egy string, azt adja meg, mint ez. 605 00:43:57,000 --> 00:44:06,000 Ha azt szeretnénk, hogy legyen egy int, akkor adja meg azt a int a használni kívánt. 606 00:44:06,000 --> 00:44:13,000 >> Kérdések, hogy eddig? 607 00:44:13,000 --> 00:44:18,000 Az egyik szép dolog ez a gondolat 608 00:44:18,000 --> 00:44:26,000 az, hogy mindig csak egy tárolt érték egy adott kulcsot. 609 00:44:26,000 --> 00:44:32,000 Ha visszamegyünk át a készüléket, hadd törölnünk kell néhány, ezt a cuccot. 610 00:44:32,000 --> 00:44:47,000 És mondjuk én inicializálni egy tömb legyen 0, 1, 2, kész. 611 00:44:47,000 --> 00:44:55,000 Ha már tudjuk, hogy például, ha én echo $ arr [0] 612 00:44:55,000 --> 00:44:59,000 Megyek, hogy a 0 érték kinyomtatják, 613 00:44:59,000 --> 00:45:05,000 és mivel ott mindig csak az egyik tárolt érték egy adott kulcs 614 00:45:05,000 --> 00:45:11,000 ha Tárolom valamit $ arr [0], mondjuk a, 615 00:45:11,000 --> 00:45:16,000 akkor tudom, mikor echo $ arr [0] gombot 616 00:45:16,000 --> 00:45:19,000 Nem fogok, hogy 0 nyomtatott ki, mint korábban. 617 00:45:19,000 --> 00:45:24,000 Én csak az lesz, hogy a. 618 00:45:24,000 --> 00:45:30,000 Szóval ez alapvetően azt mondtam, hogy nem lehet $ arr [0] tárolására 2 különböző értékeket. 619 00:45:30,000 --> 00:45:34,000 Ez nem tárolja a 0 és a string egy, így szó szerint felváltja 620 00:45:34,000 --> 00:45:38,000 mi volt a $ arr [0] korábban. 621 00:45:38,000 --> 00:45:43,000 Azért, hogy ezt ki is futtatni, meglátjuk, mi történik. 622 00:45:43,000 --> 00:45:47,000 Lásd itt, hogy kaptam 0 kinyomtatható, majd itt lent. 623 00:45:47,000 --> 00:45:51,000 Nincs új vonal van, mert lusta volt, és nem terjesztett be, hogy a 624 00:45:51,000 --> 00:45:54,000 Mi a jó ebben az, hogy mi is ezt, mert így 625 00:45:54,000 --> 00:46:00,000 megragadni ezt az ötletet egy sor 626 00:46:00,000 --> 00:46:07,000 ahol nem lehet több kulcs egy tömbön belül. 627 00:46:07,000 --> 00:46:10,000 Nem lehet azonos kulcs egy tömbön belül. 628 00:46:10,000 --> 00:46:17,000 Nem tudom, hogy a 0 gombot és érték 1 és a 0 gombot és értéke a 629 00:46:17,000 --> 00:46:21,000 vagy a 0 gombot és az érték igaz. 630 00:46:21,000 --> 00:46:27,000 A gombok minden már csak 1-es gombot a tömbben. 631 00:46:27,000 --> 00:46:32,000 Annak ellenére, hogy lehet ugyanaz a tárolt érték 632 00:46:32,000 --> 00:46:35,000 többször is a tömbben, különböző kulcsok 633 00:46:35,000 --> 00:46:42,000 ez nem lehetséges, hogy azonos kulcsok többször a PHP tömb. 634 00:46:42,000 --> 00:46:47,000 >> Ha megnézzük, hogy ez a következő probléma, unique.php, 635 00:46:47,000 --> 00:46:51,000 ahol szeretnénk nyitni egy PHP fájl 636 00:46:51,000 --> 00:46:54,000 listáját tartalmazó karakterláncok egy húr soronként, 637 00:46:54,000 --> 00:47:01,000 és azt akarjuk, hogy megtalálja az összes egyedi húrok a fájlban 638 00:47:01,000 --> 00:47:06,000 minden, amit meg kell tennie, hogy ezek egyikét használja PHP tömbök 639 00:47:06,000 --> 00:47:12,000 és használja a szálakat a fájlban, mint a kulcs az e tömb 640 00:47:12,000 --> 00:47:17,000 és folyamatosan frissítjük tömb tárolunk az új kulcsokat. 641 00:47:17,000 --> 00:47:22,000 Ahogy olvasni minden sor ki a fájlt tudunk tárolni a tömbben, 642 00:47:22,000 --> 00:47:28,000 és a végén mi lesz, mint a mi kulcs a tömbben 643 00:47:28,000 --> 00:47:34,000 az összes egyedi húrok a fájlon belül. 644 00:47:34,000 --> 00:47:37,000 Van ennek értelme? 645 00:47:37,000 --> 00:47:41,000 Lássuk, hogyan is működik ez. 646 00:47:41,000 --> 00:47:49,000 Megyünk megnyitása szerint a spec egy új nevű fájlt unique.php. 647 00:47:49,000 --> 00:47:58,000 Nyissa meg. Hoppá, bocsánat, az új fájlt. 648 00:47:58,000 --> 00:48:03,000 Fogjuk kezdeni le ugyanazt a kezdő és záró címkék. 649 00:48:03,000 --> 00:48:17,000 Fogjuk menteni a 9. fejezetben, és fogjuk nevezni unique.php. 650 00:48:17,000 --> 00:48:25,000 Oké, most Nagyítás 651 00:48:25,000 --> 00:48:32,000 Az elképzelés itt megnyitni egy fájlt, 652 00:48:32,000 --> 00:48:38,000 olvasott fájlban soronként. 653 00:48:38,000 --> 00:48:46,000 Minden sor a fájlban 654 00:48:46,000 --> 00:48:51,000 mi lesz egy tömböt, ahol van 655 00:48:51,000 --> 00:49:03,000  A vonal a legfontosabb. 656 00:49:03,000 --> 00:49:09,000 És mikor érünk a végére itt 657 00:49:09,000 --> 00:49:17,000 $ Arr a kulcsok az egyedi tételek 658 00:49:17,000 --> 00:49:25,000 fájlból, mivel tudjuk, hogy ha tettem sort ebbe array 659 00:49:25,000 --> 00:49:33,000 többször fog csak tartani felülírva a régi értéket, 660 00:49:33,000 --> 00:49:46,000 és mi is ténylegesen array vonal, mint maga csak úgy. 661 00:49:46,000 --> 00:49:48,000 >> Ez furcsa. 662 00:49:48,000 --> 00:49:52,000 Mi tárolása ugyanazon a kulcs-érték párt újra és újra és újra, 663 00:49:52,000 --> 00:50:00,000 de mivel garantálja, hogy nem lesz csak 1 gombot hívott vonal 664 00:50:00,000 --> 00:50:05,000 így ha van egy fájl, amely azt mondja, egy fájl állati zajokat, és azt vau, vau, 665 00:50:05,000 --> 00:50:11,000 miau, miau, moo, moo, és minden egyes alkalommal, amikor olvastam egy állat zajt 666 00:50:11,000 --> 00:50:15,000 mint Woof és tároljuk a tömbben kapjuk vau, majd a második alkalommal 667 00:50:15,000 --> 00:50:20,000 tároljuk Woof, hogy felülírja az első alkalom, hogy tárolja azt. 668 00:50:20,000 --> 00:50:25,000 A végén majd csak egy bejegyzést a tömbben 669 00:50:25,000 --> 00:50:33,000 minden egyes állat zajok a mi állati zajokat fájlt. 670 00:50:33,000 --> 00:50:41,000 Nem vagytok abban, hogy meg tudják oldani a nyitó egy fájl a PHP? 671 00:50:41,000 --> 00:50:45,000 Az egyik módja annak, hogy csinálni, menjünk át ezt gyorsan, az egyik módja kell csinálni 672 00:50:45,000 --> 00:50:50,000 párja fopen, mint láttuk korábban. 673 00:50:50,000 --> 00:50:55,000 Tudod fopen some_file.txt. 674 00:50:55,000 --> 00:50:59,000 Meg tudja nyitni olvasási módban, csakúgy, mint a C. 675 00:50:59,000 --> 00:51:02,000 Ez is egy tökéletes módja annak, hogy csináld. 676 00:51:02,000 --> 00:51:05,000 Te is majd olvasni a fájlt soronként 677 00:51:05,000 --> 00:51:12,000 ugyanaz a funkció, sokan, hogy Ön tett C. 678 00:51:12,000 --> 00:51:14,000 Van fgets. 679 00:51:14,000 --> 00:51:17,000 Van feof, bár mi nem tetszik, hogy a 680 00:51:17,000 --> 00:51:22,000 mert, ne feledd, hogy nem volt nagy a C. 681 00:51:22,000 --> 00:51:25,000 Meg tudod csinálni ugyanúgy, 682 00:51:25,000 --> 00:51:34,000 de itt van egy nagyon jó dolog. 683 00:51:34,000 --> 00:51:41,000 Elnézést, én nem akarok $ file, de van egy olyan funkció, hívott fájl PHP, 684 00:51:41,000 --> 00:51:47,000 és ez a funkció itt is cool, mert beolvassa a teljes tartalom 685 00:51:47,000 --> 00:51:52,000 A megadott fájlt, így some_file.txt, 686 00:51:52,000 --> 00:51:56,000 beolvassa a teljes tartalmát a fájl egy tömbben 687 00:51:56,000 --> 00:52:03,000 majd a segítségével navigálhat rajta, ami elég klassz. 688 00:52:03,000 --> 00:52:07,000 >> Ha elmegyünk, például a web böngésző 689 00:52:07,000 --> 00:52:14,000 és nézzük a Google PHP fájl 690 00:52:14,000 --> 00:52:23,000 itt látható, hogy a kézikönyv azt mondja, hogy a fájl olvas egész fájlt egy tömb, 691 00:52:23,000 --> 00:52:27,000 és mi is file_get_contents vissza a tartalmát egy fájlt string, 692 00:52:27,000 --> 00:52:30,000 de általában csak arra, hogy, mint egy tömb, tényleg szép, mert amit csinál 693 00:52:30,000 --> 00:52:33,000 van az, megtöri azt úgy, hogy minden egyes eleme 694 00:52:33,000 --> 00:52:37,000 A tömb egy sort a fájl, 695 00:52:37,000 --> 00:52:41,000 így ha megnézzük a fájlt a felhasználó 0, ez az első sorban a fájlt. 696 00:52:41,000 --> 00:52:46,000 File 1, második sor, fájl 2, harmadik sor, és így tovább és így tovább. 697 00:52:46,000 --> 00:52:50,000 Nem lenne jó, ha ez volt minden, amit meg kellett tennie a C? 698 00:52:50,000 --> 00:52:53,000 Elég klassz. 699 00:52:53,000 --> 00:52:59,000 David megmutatta ezt előadás, és az idióma megmutatta volt 700 00:52:59,000 --> 00:53:03,000 hogy amellett, hogy a standard a loop-in PHP kellett, hogy a 701 00:53:03,000 --> 00:53:09,000 for ($ i = 0; i <10; i + +), 702 00:53:09,000 --> 00:53:16,000 és meg tudod csinálni ezt a PHP-ben is ugyanaz a dolog- 703 00:53:16,000 --> 00:53:27,000 mi is ebben a hűvös konstrukciót hívott foreach. 704 00:53:27,000 --> 00:53:32,000 Foreach igazán hasznos, ha iterációjával a tömbökön vagy e adatszerkezetek 705 00:53:32,000 --> 00:53:36,000 mert lehetővé teszi, hogy húzza ki minden elemét a tömb 706 00:53:36,000 --> 00:53:42,000 anélkül, hogy kézzel csinálni a indexelési magad, 707 00:53:42,000 --> 00:53:46,000 anélkül, hogy manuálisan létrehoz egy indexet változót, megnöveljük, 708 00:53:46,000 --> 00:53:51,000 húzza ki az értéket a tömb ezen a ponton, mert ez egy nagyon gyakori dolog. 709 00:53:51,000 --> 00:53:54,000 >> Talán kellett volna tonna amikor csinálsz C stuff 710 00:53:54,000 --> 00:54:00,000 át a félév, így ezzel a foreach 711 00:54:00,000 --> 00:54:06,000 tudjuk hurkot ezt a fájlt tömb, 712 00:54:06,000 --> 00:54:12,000 és a szintaxis hogy szeretnénk most hurkot ez a tömb 713 00:54:12,000 --> 00:54:18,000 és adja meg, hogy a változó fogunk használni, hogy tárolja 714 00:54:18,000 --> 00:54:27,000 elem e tömb helyben helyi esik e foreach hurok 715 00:54:27,000 --> 00:54:32,000 nem fogjuk nevezni vonal. 716 00:54:32,000 --> 00:54:38,000 Ha ez a fájl csak szavak, és van egy szó egy sorban 717 00:54:38,000 --> 00:54:43,000 tudnánk nevezni szót is, igazán csak akkor adja ezt a nevet, 718 00:54:43,000 --> 00:54:49,000 amit akarsz hívni, 719 00:54:49,000 --> 00:55:02,000 majd a cikluson belül meg tudod csinálni, amit akarsz ezzel a változó sorban. 720 00:55:02,000 --> 00:55:08,000 Ha ez nem elég ahhoz, hogy az érték a tömb, és azt is szeretné, hogy 721 00:55:08,000 --> 00:55:17,000 Az index magával megadhat egy nevet az index 722 00:55:17,000 --> 00:55:22,000 valamint az érték, és most van hozzáférése 2 változó. 723 00:55:22,000 --> 00:55:26,000 Van $ i és a vonal 724 00:55:26,000 --> 00:55:30,000 ahol a $ i az index a tömbben, 725 00:55:30,000 --> 00:55:38,000 és a vonal az a vonal, hogy beolvassa a fájlt. 726 00:55:38,000 --> 00:55:49,000 Például, ha azt akartuk, hogy nyomtassa ki echo sor 0 a fájl, mint ez, 727 00:55:49,000 --> 00:55:57,000 tudnánk csinálni, mint ez, "Line $ i A fájl $ line" 728 00:55:57,000 --> 00:56:02,000 és itt van valami, amit még nem láttam még sem 729 00:56:02,000 --> 00:56:13,000 ahol már csak teljesen átugorja ezt az egész% s% d üzleti 730 00:56:13,000 --> 00:56:16,000 hogy mi volt foglalkozni a C, és helyette mentem egyenesen 731 00:56:16,000 --> 00:56:19,000 írásban változók sorban az én string. 732 00:56:19,000 --> 00:56:23,000 >> Ezt hívják változó interpoláció, húr interpoláció 733 00:56:23,000 --> 00:56:26,000 hová tölteléket változók jobbra, és a PHP interpreter 734 00:56:26,000 --> 00:56:31,000 elég okos ahhoz, amikor olvas egy karakterlánc kezdődik idézőjel- 735 00:56:31,000 --> 00:56:34,000 Nem egyszerű idézőjeleket, szimpla idézett húrok nem teheted ezt, 736 00:56:34,000 --> 00:56:38,000 de dupla idézett húrok ahogy olvassa át keresi változók. 737 00:56:38,000 --> 00:56:42,000 Ez vadászik rájuk le, és ha azt látja, változók lesz az értéke a változó 738 00:56:42,000 --> 00:56:47,000 és a cucc be a húr, ha bizonyítani tudja alakítani egy karakteres ábrázolása, 739 00:56:47,000 --> 00:56:51,000 ami elég klassz. 740 00:56:51,000 --> 00:56:56,000 Most, nézzük megjegyzésbe a többi mindent, 741 00:56:56,000 --> 00:57:00,000 mentéséhez, és mit tehetünk most tudunk nyitni egy fájlt 742 00:57:00,000 --> 00:57:06,000 hogy tudjuk hívni some_file.txt-let 's hozzon létre egy új file- 743 00:57:06,000 --> 00:57:15,000 és tudunk rakni egy csomó értelmetlen dolgot itt csak kipróbálni mindent, 744 00:57:15,000 --> 00:57:25,000 mentse el, hívja some_file.txt, ahogy csinálok ide a tetején, 745 00:57:25,000 --> 00:57:33,000 és most ha én kicsinyítés, csak, hogy minden rendben van, ugyanabban a könyvtárban, 746 00:57:33,000 --> 00:57:36,000 úgy néz ki, mint én, és unique.php some_file.txt ugyanabba a könyvtárba. 747 00:57:36,000 --> 00:57:42,000 Ha futok php unique.php 748 00:57:42,000 --> 00:57:51,000 látni, hogyan írja ki minden sor az én fájlt, és mi a vonal? 749 00:57:51,000 --> 00:57:56,000 >> Ez elég erős, nem igaz? 750 00:57:56,000 --> 00:58:03,000 Nézd, azt 3 sornyi kódot nyitni a fájlt. 751 00:58:03,000 --> 00:58:08,000 Nos, 4 sornyi kódot. Én nem számíthat ma, egyértelműen. 752 00:58:08,000 --> 00:58:13,000 De tényleg csak 2 érdekes sornyi kódot, mert a másik 2 volt a kapcsos zárójelek, 753 00:58:13,000 --> 00:58:17,000 de ez sokkal kódot tudtunk megnyitni egy fájlt, navigálhat keresztül, 754 00:58:17,000 --> 00:58:20,000 húzza ki a sorszámot és a vonal maga 755 00:58:20,000 --> 00:58:24,000 és nyomtassa ki. 756 00:58:24,000 --> 00:58:26,000 Cool stuff. Charlotte. 757 00:58:26,000 --> 00:58:28,000 [Charlotte] Van egy kérdésem a szintaxist. 758 00:58:28,000 --> 00:58:33,000 Így foreach foglalkozik minden egyes sorban a fájlt megnyitni, 759 00:58:33,000 --> 00:58:37,000 és amikor akar csinálni a dolgokat minden egyes vonal csak csinálni, mint 760 00:58:37,000 --> 00:58:39,000 majd társult az értéket. 761 00:58:39,000 --> 00:58:41,000 [Nate H.] Mit tehet itt, a kérdés az volt, 762 00:58:41,000 --> 00:58:46,000 A foreach köze van a tömb, így a foreach szintaxis 763 00:58:46,000 --> 00:58:51,000 valóban foreach, és figyelje meg, hogy nincs hely 764 00:58:51,000 --> 00:58:53,000 vagy bármi között tartása és minden. 765 00:58:53,000 --> 00:58:56,000 Nekik jól megy egymás mellett, 766 00:58:56,000 --> 00:59:00,000 és akkor vesz egy tömb, 767 00:59:00,000 --> 00:59:05,000 és akkor van ez a többi kulcsszó nevezik, hogy ott kell lennie, 768 00:59:05,000 --> 00:59:11,000 majd miután a ahogy akkor sem helyezzen egy változó neve, 769 00:59:11,000 --> 00:59:14,000 ebben az esetben leszel kivonultak az értékek a tömb, 770 00:59:14,000 --> 00:59:20,000 nem az indexek, vagy ha csinálni ahogy írtam az alábbi 771 00:59:20,000 --> 00:59:24,000 kap a kulcsokat és az értékeket. 772 00:59:24,000 --> 00:59:33,000 Van foreach eleme a tömb vagy páros a tömb írtunk értékére 773 00:59:33,000 --> 00:59:38,000 vagy csak érték. 774 00:59:38,000 --> 00:59:40,000 Attól függően, hogy mire van szüksége, ha nem kell a kulcs, 775 00:59:40,000 --> 00:59:42,000 akkor megy az értéket. 776 00:59:42,000 --> 00:59:45,000 Ha azt szeretné, hogy a gombok mehetsz velük is. 777 00:59:45,000 --> 00:59:48,000 >> [Charlotte] Arra is rájöttem, mi soha nem nyilvánították i vagy a vonal. 778 00:59:48,000 --> 00:59:51,000 Hogyan is tudom, mik ezek? 779 00:59:51,000 --> 00:59:53,000 [Nate H.] Mit értesz nyilvánítja? 780 00:59:53,000 --> 00:59:57,000 [Charlotte] Soha nem mondta nekik, amit én vagy vonal úton. 781 00:59:57,000 --> 01:00:01,000 [Nate H.] Mi soha nem mondtam a számítógép, amit én vagy a vonal olyan szempontból, 782 01:00:01,000 --> 01:00:05,000 [Charlotte], hogy ők indexált vagy they're- 783 01:00:05,000 --> 01:00:09,000 [Nate H.] Soha nem mondtam azt, hogy ez elvileg az index, vagy a kulcsot és az értéket, 784 01:00:09,000 --> 01:00:13,000 és ez azért van, mert ez a PHP interpreter. 785 01:00:13,000 --> 01:00:17,000 Ez szolgál a nyilatkozatot, és azt mondja rendben van, a kulcs lesz 786 01:00:17,000 --> 01:00:20,000 változó hívott én egy változóban tároljuk nevű i. 787 01:00:20,000 --> 01:00:24,000 Az érték fog kell tárolni egy változó nevű vonal, 788 01:00:24,000 --> 01:00:28,000 így ez szolgál a nyilatkozat e változók 789 01:00:28,000 --> 01:00:35,000 és azt mondja, $ i kulcsfontosságú, és a $ sor egy értéket. 790 01:00:35,000 --> 01:00:37,000 Igen, Ella. 791 01:00:37,000 --> 01:00:41,000 [Ella] Ha a gombokat nem történik numerikusan 792 01:00:41,000 --> 01:00:44,000 hogyan eldönteni milyen sorrendben fog nyomtatni mindent? 793 01:00:44,000 --> 01:00:47,000 Vajon ugyanúgy, mint a sorrendben ez szerepel? 794 01:00:47,000 --> 01:00:51,000 [Nate H.] Adjunk neki egy esélyt. 795 01:00:51,000 --> 01:00:57,000 Hozzunk létre egy változót nevű arr, 796 01:00:57,000 --> 01:01:06,000 és tehetünk megy 7. 797 01:01:06,000 --> 01:01:19,000 Tegyük fel, hogy 0 megy másik tömb, 1, 2 vagy alma. 798 01:01:19,000 --> 01:01:30,000 Tegyük fel, hogy 7 megy az 1, b megy 2, 799 01:01:30,000 --> 01:01:39,000 és 3-4-megy. 800 01:01:39,000 --> 01:01:44,000 Ez a fajta egy őrült keres például azért, mert vagyunk keverés 801 01:01:44,000 --> 01:01:47,000 karakterláncok és egész az egész hely. 802 01:01:47,000 --> 01:01:50,000 Nincs igazi érdekében, hogy ezt a tömböt. 803 01:01:50,000 --> 01:01:55,000 Úgy értem, mi lehetett rendelni mindent alfabetikus sorrendben a kulcsokat. 804 01:01:55,000 --> 01:01:57,000 Mi lehet rendelni mindent betűrendben értékkel. 805 01:01:57,000 --> 01:02:00,000 >> Meg lehet próbálni, és figyelembe véve, hogy egyes olyan karakterláncok, némelyik ints, 806 01:02:00,000 --> 01:02:03,000 és mi lehet próbálni és átalakítani őket, hogy azonos típusú és meglátjuk, mi történik, 807 01:02:03,000 --> 01:02:09,000 vagy mi is úgy vélik, ezek az érték, amely már be őket 808 01:02:09,000 --> 01:02:14,000 ahol fel ezt a fickót az első, ez a srác a második, ez a fickó a harmadik, 809 01:02:14,000 --> 01:02:19,000 ez a fickó a negyedik, satöbbi. 810 01:02:19,000 --> 01:02:23,000 Lássuk, mi történik, ha ezt a kódot. 811 01:02:23,000 --> 01:02:29,000 Ha görgessen le, és nem ugyanaz a fajta dolog, 812 01:02:29,000 --> 01:02:31,000 és itt ez nem nyomtat ki az új sorokat. 813 01:02:31,000 --> 01:02:35,000 Amikor olvasott dolgokat a fájl volt köztük az új vonal az értékeket, 814 01:02:35,000 --> 01:02:38,000 amely ezért kinyomtatják szépen, mivel itt nem, 815 01:02:38,000 --> 01:02:40,000 úgy, hogy ezért mindent smushed együtt. 816 01:02:40,000 --> 01:02:44,000 Tegyük hozzá, hogy új sort csak azért, hogy a dolgok szép. 817 01:02:44,000 --> 01:02:51,000 Hadd megismétlése, és ezért itt 818 01:02:51,000 --> 01:02:54,000 nézd meg, mi történt. 819 01:02:54,000 --> 01:03:00,000 A nyomtatott mindent abban a sorrendben, amelyhez helyezze be a tömbben. 820 01:03:00,000 --> 01:03:10,000 Ez nem megőrzése érdekében, ebben az értelemben. 821 01:03:10,000 --> 01:03:15,000 >> Visszatérve erre a problémára a Uniques 822 01:03:15,000 --> 01:03:20,000 ha azt akarjuk, hogy képes legyen megismételni egy fájlt, 823 01:03:20,000 --> 01:03:24,000 és mi adja meg some_file.txt, 824 01:03:24,000 --> 01:03:27,000 és fogjuk navigálhat rajta, mint ez. 825 01:03:27,000 --> 01:03:31,000 Azt mondtuk, hogy szerettünk volna használni egy tömböt, hogy győződjön meg arról, hogy mi lenne megvan az összes 826 01:03:31,000 --> 01:03:36,000 egyedi sorok ki ott, és tudtunk csinálni, ami igazán könnyen 827 01:03:36,000 --> 01:03:49,000 mellett csak tárolja egy tömbben, amit természetesen állapítsa hatályán kívül a hurok, 828 01:03:49,000 --> 01:03:55,000 és azt mondta, hogy ha már használta a sorokat a fájl a kulcsok a tömbben 829 01:03:55,000 --> 01:03:59,000 ha belépett egy ismétlődő sort mi lenne felülírva a korábbi érték. 830 01:03:59,000 --> 01:04:08,000 Ez nem mindig lehetséges, hogy 2 kulcs, amelyek azonosak az ugyanazon tömbben. 831 01:04:08,000 --> 01:04:13,000 Meg tudjuk csinálni, hogy csak. 832 01:04:13,000 --> 01:04:17,000 Majd hogy eltűnjön ez a visszhang nyilatkozat itt. 833 01:04:17,000 --> 01:04:24,000 Itt vagyunk tárolja a sort a fájlban a tömbben 834 01:04:24,000 --> 01:04:28,000 segítségével magát a kulcsot. 835 01:04:28,000 --> 01:04:32,000 Semmi, és kiderül, hogy nem is kell ezt a gombot. 836 01:04:32,000 --> 01:04:38,000 Nem kell, hogy i változó. 837 01:04:38,000 --> 01:04:43,000 Ezen a ponton, ha volt, hogy még egy foreach ciklus 838 01:04:43,000 --> 01:04:48,000 és mi volt a hurok az egyes arr 839 01:04:48,000 --> 01:04:56,000 és a vonal most ha echo-oops, bocsi. 840 01:04:56,000 --> 01:05:00,000 Mi ezért nem használhatja a vessző. Meg kell, hogy ezt a kulcsszót. 841 01:05:00,000 --> 01:05:05,000 Most, ha echo sort kéne az összes egyedi szavakat a fájlban. 842 01:05:05,000 --> 01:05:10,000 Ha felmegyünk some_file.txt, 843 01:05:10,000 --> 01:05:19,000 és mondjuk mi alma, banán, alma, alma, banán, 844 01:05:19,000 --> 01:05:22,000 ha mi kinyomtatott összes egyedi szava ebben a fájlban már csak kapni 845 01:05:22,000 --> 01:05:30,000 alma és a banán, hogy nyomtassa ki. 846 01:05:30,000 --> 01:05:36,000 Ha menteni ezt, most itt fogunk zoom vissza, 847 01:05:36,000 --> 01:05:44,000 php unique.php, és a ta-da. 848 01:05:44,000 --> 01:05:51,000 Már sikeresen uniqued a fájlt. 849 01:05:51,000 --> 01:05:55,000 >> Az utolsó része a probléma, amelyben meg kell rendezni ezt a tömböt, mielőtt kinyomtatta 850 01:05:55,000 --> 01:05:58,000 mert ebben az egyszerű példa, hogy már most kész 851 01:05:58,000 --> 01:06:04,000 szerencsénk volt abban az értelemben, hogy a file- 852 01:06:04,000 --> 01:06:06,000 tettük ezt a kitalált példa az alma és a banán. 853 01:06:06,000 --> 01:06:08,000 Ez már rendezve. 854 01:06:08,000 --> 01:06:19,000 De az egyszerű rendezési funkcióval rendezni egy tömb, ami elég klassz. 855 01:06:19,000 --> 01:06:24,000 Az utolsó dolog, amit akartam beszélni veletek kapcsolatban nagyon gyorsan 856 01:06:24,000 --> 01:06:31,000 az, hogy ez a fajta PHP mind szép és jó, és ez szuper ügyes 857 01:06:31,000 --> 01:06:43,000 hogy tudja, hogyan kell csinálni, ha valaha is kell csinálni kis, gyors dolgok programozással. 858 01:06:43,000 --> 01:06:48,000 Például, ha azt kell írni egy programot, amely, mondjuk, 859 01:06:48,000 --> 01:06:53,000 hozza mindenki részekre nem fogok menni, és írd meg a C 860 01:06:53,000 --> 01:06:55,000 Ez lesz hosszú. 861 01:06:55,000 --> 01:06:57,000 Ez lesz egyfajta fájdalom, különösen, ha olyan fájlok érintett 862 01:06:57,000 --> 01:07:00,000 ahogy ti láttuk. 863 01:07:00,000 --> 01:07:05,000 Ez annyira szép, hogy mindössze ennyi kódot itt 864 01:07:05,000 --> 01:07:08,000 tudtunk rip át egy fájlt, húzza ki az összes egyedi értékeket 865 01:07:08,000 --> 01:07:11,000 és kinyomtathatja azokat vissza. 866 01:07:11,000 --> 01:07:16,000 >> Azonban, a feladatok, a projektek, 867 01:07:16,000 --> 01:07:20,000 ha építünk weboldalak PHP a hatalom, hogy a 868 01:07:20,000 --> 01:07:25,000 kifutunk a PHP fájlokat ezzel tolmács, 869 01:07:25,000 --> 01:07:29,000 és a tolmács feldolgozza mindent a PHP címkéket, 870 01:07:29,000 --> 01:07:34,000 hagyva minden mást érintetlenül és köpködés ki az eredményeket. 871 01:07:34,000 --> 01:07:40,000 Meg tudjuk csinálni ezt építeni HTML programozással. 872 01:07:40,000 --> 01:07:46,000 Most, ha megyünk vissza a spec, az utolsó probléma a spec 873 01:07:46,000 --> 01:07:56,000 beszél ez az ötlet összefonódások 874 01:07:56,000 --> 01:08:01,000 és megteremti a legördülő menüből, 875 01:08:01,000 --> 01:08:06,000 amit lehet, hogy nem akarnak, attól függően, hogy mi a projekt végső csinál, 876 01:08:06,000 --> 01:08:13,000 amely lehetővé teszi a felhasználó számára, hogy válasszon a listából az összes lehetséges koncentráció 877 01:08:13,000 --> 01:08:15,000 azok egy koncentráció. 878 01:08:15,000 --> 01:08:21,000 Nos, ez egyfajta fájdalom, hogy írja ki ezt 879 01:08:21,000 --> 01:08:25,000 és meg kell mindezt kézzel, különösen, ha te kelljen győződjön meg arról, 880 01:08:25,000 --> 01:08:28,000 , hogy minden a szögletes zárójelek a megfelelő helyen, és minden az idézőjelek a megfelelő helyen, 881 01:08:28,000 --> 01:08:34,000 így a PHP ezt megteheti programozott, és akkor ezt nagyon gyorsan. 882 01:08:34,000 --> 01:08:36,000 >> Lássuk, hogyan kell ezt csinálni. 883 01:08:36,000 --> 01:08:42,000 Fogunk nyitni egy új fájlt. 884 01:08:42,000 --> 01:08:46,000 Fogunk létrehozni a PHP címkéket. 885 01:08:46,000 --> 01:08:53,000 Fogjuk nevezni concentrations.php, 886 01:08:53,000 --> 01:08:58,000 és most, amikor ezt, a fajta jó dolog gondolkodni 887 01:08:58,000 --> 01:09:02,000 ha akarsz keverheted a PHP és a HTML 888 01:09:02,000 --> 01:09:08,000 van kitalálni, oké, mi az a része, hogy szeretnék programozottan létrehozni? 889 01:09:08,000 --> 01:09:11,000 Mi az a rész, hogy én is algoritmikusan generálni? 890 01:09:11,000 --> 01:09:17,000 Igaz, hogy meg tudod csinálni az összes HTML 891 01:09:17,000 --> 01:09:19,000 belül PHP blokkokat. 892 01:09:19,000 --> 01:09:24,000 Tudod visszhangozzák az összes HTML szálakat. 893 01:09:24,000 --> 01:09:30,000 Például, ha azt akarom, hogy kezdeni ezzel a select tag belsejében PHP 894 01:09:30,000 --> 01:09:46,000 Azt lehet mondani, echo, mondjuk válasszuk name = koncentráció, 895 01:09:46,000 --> 01:09:49,000 aztán lent tudtam még egy echo tag 896 01:09:49,000 --> 01:09:57,000 vagy egy másik echo nevezett közel a gombot. 897 01:09:57,000 --> 01:10:00,000 Ez az egyik módja annak, hogy csinálni, mert mi ez a szó szoros értelmében fog tenni 898 01:10:00,000 --> 01:10:09,000 az nyomtassa ki ezt a fonalat, ha ez fut át ​​a PHP értelmező, 899 01:10:09,000 --> 01:10:12,000 így az eredmény lesz a HTML. 900 01:10:12,000 --> 01:10:18,000 Ha menteni ezt a fájlt, mert most 901 01:10:18,000 --> 01:10:24,000 és futok php concentrations.php 902 01:10:24,000 --> 01:10:26,000 nézd meg, mit kaptam. 903 01:10:26,000 --> 01:10:30,000 Van ez a nyitott bezár select tag. 904 01:10:30,000 --> 01:10:36,000 >> Ha én ezt és én menteni ezt az eredményt egy fájlba, 905 01:10:36,000 --> 01:10:45,000 mondjuk concentrations.html-várakozás, úgy néz ki, mint az l ment át a másik oldalra, 906 01:10:45,000 --> 01:11:02,000 most, ha kinyitom ide concentrations.html látod, hogy van egy érvényes HTML fájl. 907 01:11:02,000 --> 01:11:05,000 Ez fura? 908 01:11:05,000 --> 01:11:09,000 Mi a PHP létrehozásához HTML, hozzon létre érvényes HTML. 909 01:11:09,000 --> 01:11:13,000 Ahogy mi csináljuk meg mi csak, amelyek a PHP print 910 01:11:13,000 --> 01:11:16,000 a HTML, hogy azt akarjuk, hogy nyomtatni. 911 01:11:16,000 --> 01:11:20,000 Ez szó szerint a PHP webhelyek működését. 912 01:11:20,000 --> 01:11:24,000 Amikor meglátogat egy honlapot, hogy küld, hogy valami hasonló 913 01:11:24,000 --> 01:11:30,000 valami, valami, valami dot com perjel index.php 914 01:11:30,000 --> 01:11:33,000 a számítógép szó szerint szólítanak fel, index.php, 915 01:11:33,000 --> 01:11:38,000 fut át ​​a PHP interpreter, és bármit junk jön ki 916 01:11:38,000 --> 01:11:49,000 ez küld vissza a böngésző, és azt mondja hé, böngészője, értelmezze ezt HTML. 917 01:11:49,000 --> 01:11:54,000 A szép dolog az, hogy lehet a fájdalom, hogy folyamatosan írjon echo, echo, echo, echo 918 01:11:54,000 --> 01:11:59,000 és csatolja mindent idézetek, mint ez, ezért ha azt szeretné, hogy írjon 919 01:11:59,000 --> 01:12:04,000 a HTML lesz statikus magad meg tudod csinálni, mint ez, 920 01:12:04,000 --> 01:12:16,000 tedd kívülre, zárja le, 921 01:12:16,000 --> 01:12:21,000 és akkor itt csak betenni a PHP címkéket, ami tudja 922 01:12:21,000 --> 01:12:26,000 szeretnénk programozottan létrehozni, és ebben az esetben ez a lehetőség tag 923 01:12:26,000 --> 01:12:31,000 amelyek a fájdalom generálni. 924 01:12:31,000 --> 01:12:37,000 >> Például, lehet generálni ezer lehetőség tag 925 01:12:37,000 --> 01:12:48,000 az csinál valamit, mint ez, $ i <1000, i + + 926 01:12:48,000 --> 01:13:00,000 és azt mondja: echo opció value = $-Hoppá, én nem tehetem. 927 01:13:00,000 --> 01:13:03,000 Nos, hadd próbálja ki, és meglátjuk, mi történik. 928 01:13:03,000 --> 01:13:22,000 $ I, majd azt mondja $ i 01:13:27,000 Ahelyett, hogy írja ki, hogy lehetőség tag ezer különböző időpontokban 930 01:13:27,000 --> 01:13:33,000 Én a PHP kódot generál automatikusan, programozással. 931 01:13:33,000 --> 01:13:38,000 Elég klassz. Igen. 932 01:13:38,000 --> 01:13:41,000 Emlékszem, hogy ezt említi sem az előadás, illetve a walkthrough, 933 01:13:41,000 --> 01:13:43,000 de mi a különbség az idézőjeleket, 934 01:13:43,000 --> 01:13:45,000 a rendes is, és ezeket egyetlen dolgokat? 935 01:13:45,000 --> 01:13:49,000 Ez valóban valami, amit én csináltam rosszul, hogy itt fogok mutatni. 936 01:13:49,000 --> 01:13:52,000 Az egységes idézetek nem engednek semmilyen különleges karaktereket, 937 01:13:52,000 --> 01:13:57,000 így minden benne egyetlen idézett karakterlánc értelmezése szó. 938 01:13:57,000 --> 01:14:02,000 Ha lenne egy \ n belüli egységes idézetek és menteni ezt, például 939 01:14:02,000 --> 01:14:07,000 és most megyek le ide, és fuss ez- 940 01:14:07,000 --> 01:14:12,000 hoppá, ha megyek? 941 01:14:12,000 --> 01:14:19,000 Ó, ez azért van, mert elfelejtettem a $. 942 01:14:19,000 --> 01:14:25,000 >> Most, ha kinyitom up-valójában, itt fogunk megszabadulni a gépelés egy fájlba. 943 01:14:25,000 --> 01:14:27,000 Majd csak olvasni. 944 01:14:27,000 --> 01:14:34,000 Itt látod, hogy kaptam ezt a szó \ n a húr, mint nem tényleges új sor, 945 01:14:34,000 --> 01:14:38,000 és hasonlóképpen, helyett valójában interpolálja az értéke változó 946 01:14:38,000 --> 01:14:42,000 ez adta nekem a $ i is, ami egyfajta fájdalom. 947 01:14:42,000 --> 01:14:46,000 Az út körül ez az, hogy az idézőjelek, 948 01:14:46,000 --> 01:14:52,000 majd, amikor használja idézőjelek elõbb-utóbb ténylegesen 949 01:14:52,000 --> 01:14:56,000 megfelelően interpolál értékeit összes változóra itt 950 01:14:56,000 --> 01:14:59,000 és elismerik ezt a \ n, hogy az új vonal, hogy 951 01:14:59,000 --> 01:15:02,000 és nem \ n. 952 01:15:02,000 --> 01:15:07,000 Használata az egyetlen is szép, ha van 953 01:15:07,000 --> 01:15:10,000 karakter lehet értelmezni, speciális karaktereket, mert akkor nem kell 954 01:15:10,000 --> 01:15:15,000 megszökni őket folyamatosan. 955 01:15:15,000 --> 01:15:18,000 Dolgok rendetlen, és gyakran ahogy én csinálni, 956 01:15:18,000 --> 01:15:24,000 csak azért, hogy a dolgok egyszerű, hogy ha megyek, hogy bármi 957 01:15:24,000 --> 01:15:31,000 HTML hasonlóan kódomat fogok tartalmaznia edit belül aposztrófot 958 01:15:31,000 --> 01:15:36,000 majd ezt operátor 959 01:15:36,000 --> 01:15:43,000 összefűzéséhez változók be 960 01:15:43,000 --> 01:15:47,000 Ez egy másik módja, hogy 961 01:15:47,000 --> 01:15:52,000 ha megvan a pont, hogy fog csatlakozni ez egy string 962 01:15:52,000 --> 01:15:56,000 ezzel ezzel ezzel, 963 01:15:56,000 --> 01:15:59,000 és most nem kell, hogy elkerülje ezeket a dupla idézőjelek közé. 964 01:15:59,000 --> 01:16:02,000 Nem kell használni ezt a fickót, hogy elkerülje. 965 01:16:02,000 --> 01:16:08,000 Majd szó szerint kinyomtatható a idézőjelek, majd ezt a fickót itt. 966 01:16:08,000 --> 01:16:11,000 Ez egy másik módja a keverés mindent együtt. 967 01:16:11,000 --> 01:16:14,000 >> [Student] is, amikor visszhangozta gettype nem volt idézőjeleket egyáltalán. 968 01:16:14,000 --> 01:16:22,000 Rendben, tehát echo egyfajta különleges abban az értelemben, hogy nem kell zárójelben. 969 01:16:22,000 --> 01:16:29,000 Nem kell, hogy az idézőjeleket szükségszerűen körül változók, 970 01:16:29,000 --> 01:16:37,000 mint ez érvényes mondjuk echo $ i, és ez fogja értelmezni ezt a string. 971 01:16:37,000 --> 01:16:44,000 Ez fog csinálni a leadott, így tudtuk ezt, és ez érvényes is, de nincs szükségünk rá. 972 01:16:44,000 --> 01:16:48,000 Ez nem kötelező. 973 01:16:48,000 --> 01:16:53,000 Ebben a heti problémája set nézd meg egy csomó ilyen dolog 974 01:16:53,000 --> 01:16:58,000 hová keverésével és illesztésével HTML PHP 975 01:16:58,000 --> 01:17:08,000 mint ez, és most ha lapozzunk vissza, és mi fut ezen 976 01:17:08,000 --> 01:17:13,000 azt látjuk, hogy van egy csomó lehetőség értékek 977 01:17:13,000 --> 01:17:15,000 hogy épp most nyomtatja ki. 978 01:17:15,000 --> 01:17:20,000 Mindannyian ezt a HTML, hogy van generált nagyon gyorsan nekünk. 979 01:17:20,000 --> 01:17:22,000 Elmegyek, mint egy gyakorlat. 980 01:17:22,000 --> 01:17:24,000 Ez nagyon hasonlít a fájl olvasási, hogy mi volt korábban. 981 01:17:24,000 --> 01:17:31,000 >> Van egy concentrations.txt fájl, akkor húzza le a CDN, 982 01:17:31,000 --> 01:17:34,000 és akkor nyissa meg ugyanazt a foreach trükk, hogy mi volt korábban, 983 01:17:34,000 --> 01:17:39,000 és foreach csak meg kell echo lehetőség és csatlakoztassa 984 01:17:39,000 --> 01:17:44,000 a megfelelő értékeket, a megfelelő kulcsok és indexek 985 01:17:44,000 --> 01:17:49,000 és akkor kap egy legördülő, hogy szó szerint megteremti 986 01:17:49,000 --> 01:17:54,000 programból az Ön számára az összes különböző koncentrációjú Harvardon. 987 01:17:54,000 --> 01:17:57,000 A praktikus dolog van. 988 01:17:57,000 --> 01:18:02,000 Van egy csomó beállítási cucc erre a feladatra. 989 01:18:02,000 --> 01:18:07,000 Ha még nem tette már megteszi a következő fél óra, óra, 990 01:18:07,000 --> 01:18:10,000 egy kis időt ma este határozottan biztos, 991 01:18:10,000 --> 01:18:14,000 séta a probléma set spec, 992 01:18:14,000 --> 01:18:20,000 mi folyik a felállításához vhostokat, a helyi gépen, minden ilyesmi. 993 01:18:20,000 --> 01:18:24,000 Egy dolog rámutatni, most az, hogy a 994 01:18:24,000 --> 01:18:30,000 A legtöbb probléma készlet mi már megy be a Dropbox mappába 995 01:18:30,000 --> 01:18:34,000 majd le a problémát set zip fájlt, és unzipping azt. 996 01:18:34,000 --> 01:18:36,000 Mert ez a probléma meg nem akarsz. 997 01:18:36,000 --> 01:18:40,000 Azt akarom, hogy ebbe vhostokat könyvtárba. 998 01:18:40,000 --> 01:18:45,000 Azt akarja, hogy menjen be vhostokat és menj be a helyi gépen könyvtárba belül, 999 01:18:45,000 --> 01:18:50,000 , és ez az, ahol akar majd húzza le a zip fájlt, 1000 01:18:50,000 --> 01:18:55,000 csomagolja ki, és kap kész. 1001 01:18:55,000 --> 01:18:57,000 Itt van, hogy kövesse szorosan. 1002 01:18:57,000 --> 01:19:02,000 >> Ha bármilyen kérdése van, küldjön e-mailt, tegye meg a Fórum, gyere az irodai óra. 1003 01:19:02,000 --> 01:19:08,000 Köszi srácok. Jövő héten megyünk egy felülvizsgálati ülésén a kvíz. 1004 01:19:08,000 --> 01:19:12,000 Élvezze az utolsó probléma set. Remélem, minden megy igazán jól. 1005 01:19:12,000 --> 01:19:14,000 [CS50.TV]