1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [§ 8] [Vähem Mugav] 2 00:00:02,000 --> 00:00:04,000 [Nate Hardison] [Harvardi Ülikool] 3 00:00:04,000 --> 00:00:08,000 [See on CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:11,000 >> Tere tulemast meie poolt teine ​​lõik. 5 00:00:11,000 --> 00:00:13,000 Sel nädalal me räägime PHP, ja siis järgmisel nädalal 6 00:00:13,000 --> 00:00:17,000 me teeme natuke vaadata, Quiz 1. 7 00:00:17,000 --> 00:00:20,000 Me ei kavatse alustada 3. leheküljel probleem seab pakendi, 8 00:00:20,000 --> 00:00:28,000 ja me töö kaudu osa küsimusi üsna kiiresti. 9 00:00:28,000 --> 00:00:34,000 Lehel 3, hakkame rääkima see vahe C ja PHP 10 00:00:34,000 --> 00:00:38,000 selles mõttes, et PHP on dünaamiliselt kirjutatud keeles, 11 00:00:38,000 --> 00:00:42,000 aga c on staatiliselt kirjutatud, 12 00:00:42,000 --> 00:00:46,000 ja on keegi tõesti kiiresti teha mingeid koodile midagi PHP 13 00:00:46,000 --> 00:00:51,000 või Python või Ruby enne, JavaScripti? 14 00:00:51,000 --> 00:00:53,000 Täiesti uus? Okei. 15 00:00:53,000 --> 00:00:56,000 >> Kõik need keeled, mida ma just mainisin 16 00:00:56,000 --> 00:01:01,000 on väga erinevad keeli nagu C ja C + + ja Java 17 00:01:01,000 --> 00:01:04,000 selles mõttes, et kui te deklareerite muutuja te ei pea deklareerima 18 00:01:04,000 --> 00:01:09,000 millist muutuja on, nii C olime ummikus võttes alati öelda 19 00:01:09,000 --> 00:01:13,000 see saab olema int muutuja, või see saab olema char * muutuja, 20 00:01:13,000 --> 00:01:16,000 arvestades, PHP, Python, koos Ruby, 21 00:01:16,000 --> 00:01:20,000 kus on palju neid rohkem kaasaegsete keelte sa ei pea seda tegema üldse. 22 00:01:20,000 --> 00:01:24,000 Sa lihtsalt deklareerivad oma muutuja, ja kui tegemist on PHP 23 00:01:24,000 --> 00:01:28,000 Te deklareerite, et see muutuja prefixing see $ märk, 24 00:01:28,000 --> 00:01:35,000 ja siis tüüpi muutuja on määratud iganes väärtus selle hoidmine, 25 00:01:35,000 --> 00:01:38,000 mis on omamoodi lahe. 26 00:01:38,000 --> 00:01:44,000 Et mängida seda natuke, meil on proov PHP koodi siin 27 00:01:44,000 --> 00:01:47,000 vahel algus ja lõpp sildid. 28 00:01:47,000 --> 00:01:53,000 Me kasutame sellist nagu HTML selles mõttes, et 29 00:01:53,000 --> 00:01:56,000 meil need nurksulud siin avada ja sulgeda. 30 00:01:56,000 --> 00:01:58,000 Näete seda HTML. 31 00:01:58,000 --> 00:02:03,000 Näete samasugust süntaksit XML liiga. 32 00:02:03,000 --> 00:02:06,000 >> See näitab alguses PHP blokeerida. 33 00:02:06,000 --> 00:02:09,000 See? Php on konkreetselt PHP. 34 00:02:09,000 --> 00:02:16,000 Me sulgeme kõik koos?> Samuti. 35 00:02:16,000 --> 00:02:22,000 Olgem avada faili meie seadme abil iganes soovid. 36 00:02:22,000 --> 00:02:25,000 Selles pakettaknad ta ütleb, et helistada dynamic.php. 37 00:02:25,000 --> 00:02:29,000 Tõsi, võite helistada see iganes soovid, kuid faili nimi saab tulla 38 00:02:29,000 --> 00:02:34,000 ja oluline hiljem, nii lihtsalt meelde iganes sa seda nimetada. 39 00:02:34,000 --> 00:02:36,000 Ma lähen minema üle seadme 40 00:02:36,000 --> 00:02:43,000 ja ma teen kataloogi 41 00:02:43,000 --> 00:02:48,000 9. jagu usun me oleme nüüd. 42 00:02:48,000 --> 00:02:51,000 Ja me astume punkti 9, 43 00:02:51,000 --> 00:02:54,000 ja ma lähen kasutada gedit. 44 00:02:54,000 --> 00:02:59,000 Vaatame, gedit, ja ma lähen helistada minu dynamic.php. 45 00:02:59,000 --> 00:03:03,000 Poom. 46 00:03:03,000 --> 00:03:06,000 Jooksul dynamic.php, sest see on PHP fail 47 00:03:06,000 --> 00:03:09,000 ja ma tahan teha selle läbi PHP tõlk 48 00:03:09,000 --> 00:03:12,000 Mul on vaja alustada kõike maha need avatud sildid, 49 00:03:12,000 --> 00:03:17,000 nii et ma lähen alustada need kohe, 50 00:03:17,000 --> 00:03:23,000 annan endale natuke ruumi vahel silte 51 00:03:23,000 --> 00:03:26,000 ja siis Õppuse eesmärk oli mängida 52 00:03:26,000 --> 00:03:34,000 Seda funktsiooni nimetatakse gettype, nii gettype, see funktsioon siin. 53 00:03:34,000 --> 00:03:38,000 >> Pange tähele, et seal ei ole alakriips või ruumi või sidekriips või midagi sellist 54 00:03:38,000 --> 00:03:42,000 eraldades 2 sõna, saada ja tüüp, lihtsalt üks sõna üldse. 55 00:03:42,000 --> 00:03:46,000 Aga mida see teha on, kui ma läbida muutuja gettype, 56 00:03:46,000 --> 00:03:51,000 öelda $ var või $ x, 57 00:03:51,000 --> 00:03:55,000 see ütleb mulle omamoodi ka silumine formaadis 58 00:03:55,000 --> 00:03:59,000 Mis nime see tüüp on. 59 00:03:59,000 --> 00:04:03,000 Me läheme proovida siin. 60 00:04:03,000 --> 00:04:07,000 Eriti siis, kui sa vaatad tagasi pset spec 61 00:04:07,000 --> 00:04:11,000 meil paar erinevat rida koodi siin. 62 00:04:11,000 --> 00:04:16,000 Esimesel koodirida me initsialiseerida see muutuja, $ var, 63 00:04:16,000 --> 00:04:21,000 võrdne 7, ja siis meil on see printf rida 64 00:04:21,000 --> 00:04:25,000 mis ütleb, et hei, printf var on tühi. 65 00:04:25,000 --> 00:04:29,000 Printf on üks paljudest võimalustest, kuidas saame trükkida asju PHP. 66 00:04:29,000 --> 00:04:33,000 Tihti näete Echo funktsiooni asemel kasutatakse printf, 67 00:04:33,000 --> 00:04:40,000 kuid printf me oleme kõik tuttavad, kes on kodeerimist C mõneks ajaks. 68 00:04:40,000 --> 00:04:42,000 Mis saab tegelikult teha ei Vaatame, kas kopeeri ja kleebi töötab. 69 00:04:42,000 --> 00:04:46,000 Ma annan selle proovida. 70 00:04:46,000 --> 00:04:52,000 Me läheme tagasi üle seadme. 71 00:04:52,000 --> 00:05:00,000 Okei, ja seal me läheme. 72 00:05:00,000 --> 00:05:05,000 Ja vahe on kuidagi imelikult, kuid siin me läheme. 73 00:05:05,000 --> 00:05:08,000 Meil on see kood siin. 74 00:05:08,000 --> 00:05:11,000 >> [Student] Kas ei ole hea stiil sakk on? 75 00:05:11,000 --> 00:05:13,000 Vabandust? 76 00:05:13,000 --> 00:05:15,000 [Student] Kas see on tavaline, et vahekaardil on? 77 00:05:15,000 --> 00:05:21,000 Õige, nii Sam küsib, kas see on konventsiooni sakk või mitte. 78 00:05:21,000 --> 00:05:23,000 Tavaliselt jah. 79 00:05:23,000 --> 00:05:26,000 Sel juhul olen otsustanud mitte. 80 00:05:26,000 --> 00:05:33,000 Ausalt, näete erinevaid asju erinevate programmeerijad. 81 00:05:33,000 --> 00:05:40,000 PHP on tavaliselt kasutatakse tihti koos HTML 82 00:05:40,000 --> 00:05:45,000 ja teistes keeltes, ja nii mõnikord printimine vaadata veidi funky 83 00:05:45,000 --> 00:05:50,000 kui te taane jooksul PHP alguse ja lõpu sildid. 84 00:05:50,000 --> 00:05:53,000 On tõesti sõltub. 85 00:05:53,000 --> 00:05:56,000 Sellisel juhul kopeeri ja kleebi ei kleebi sakke minu jaoks, 86 00:05:56,000 --> 00:06:02,000 kuid kindlasti ei, nagu sa ütlesid, et see selgemaks teha. 87 00:06:02,000 --> 00:06:06,000 Olgu, kui teil salvestada see kood dynamic.php 88 00:06:06,000 --> 00:06:10,000 siis mida saate teha on tulnud maha teie terminaliakent kus ma olen siinsamas 89 00:06:10,000 --> 00:06:17,000 aastal gedit, ja teha samaväärne kompileerimise 90 00:06:17,000 --> 00:06:20,000 kasutades teha ja siis töötab oma koodi C 91 00:06:20,000 --> 00:06:25,000 kõik mida sa pead tegema koos PHP fail käivitada PHP tõlk, 92 00:06:25,000 --> 00:06:30,000 mis on väike programm nimega PHP, 93 00:06:30,000 --> 00:06:35,000 ja argument annate tõlk on fail, mida soovite tõlgendada. 94 00:06:35,000 --> 00:06:40,000 Sel juhul dynamic.php. 95 00:06:40,000 --> 00:06:43,000 Oih, kus ma pane see? 96 00:06:43,000 --> 00:06:52,000 Oh, ma panin selle punkti 9, ja siin ma olen. Sellepärast. 97 00:06:52,000 --> 00:06:57,000 >> Nüüd, kui ma saan seda uuesti 98 00:06:57,000 --> 00:07:02,000 näeme, et minu esimene gettype funktsioon kõne 99 00:07:02,000 --> 00:07:04,000 var on täisarv. 100 00:07:04,000 --> 00:07:12,000 Järgmisel 1 var on string, ja siis kolmas var on tõeväärtus. 101 00:07:12,000 --> 00:07:15,000 Mis huvitav on see, kui me kerida tagasi üles näeme, et 102 00:07:15,000 --> 00:07:18,000 need tüübid sarnased, mis meil oli C. 103 00:07:18,000 --> 00:07:22,000 Meil oli ints in C. 104 00:07:22,000 --> 00:07:26,000 Me justkui oli keelpillidele C, 105 00:07:26,000 --> 00:07:31,000 nii stringe ei olnud täiesti legit tüüp selles mõttes, et 106 00:07:31,000 --> 00:07:37,000 meie CS50 string oli tõesti, mida? 107 00:07:37,000 --> 00:07:39,000 Vabandust? Missy? 108 00:07:39,000 --> 00:07:41,000 [Missy] Char *. 109 00:07:41,000 --> 00:07:43,000 Jah, see oli see char * me kasutasime. 110 00:07:43,000 --> 00:07:47,000 Alguses poolaastal olime kasutades string tüüpi, 111 00:07:47,000 --> 00:07:52,000 aga see oli tõesti char * kapoti alla. 112 00:07:52,000 --> 00:07:58,000 Me lihtsalt määratletud tüüpi see, samas PHP need stringid on tegelik tüüp. 113 00:07:58,000 --> 00:08:07,000 Ei ole rohkem selle char * tüüpi värk. 114 00:08:07,000 --> 00:08:10,000 >> Näete, et me saame teha palju rohkem asju koos stringid 115 00:08:10,000 --> 00:08:14,000 palju kergemini PHP kui me võiks C, 116 00:08:14,000 --> 00:08:17,000 ja siis lõpuks, meil on see boolean tüüpi, ja suur vahe on selles, et 117 00:08:17,000 --> 00:08:21,000 kui me kerida alla tagasi näeme, et nime tüüpi 118 00:08:21,000 --> 00:08:28,000 Nüüd on täisarv, string ja tõeväärtus asemel int ja bool, 119 00:08:28,000 --> 00:08:31,000 ja nagu te kiirenemist erinevate programmeerimis keeli, 120 00:08:31,000 --> 00:08:36,000 eeldades, et mingil hetkel oma elus te kokku puutuda 121 00:08:36,000 --> 00:08:40,000 erinevatega märkad vähe quirks nagu see 122 00:08:40,000 --> 00:08:44,000 kus C nõuab täisarvud ints. 123 00:08:44,000 --> 00:08:46,000 Mõned kutsuvad seda täisarvud. 124 00:08:46,000 --> 00:08:51,000 On ka muid tingimusi, et saad joosta. 125 00:08:51,000 --> 00:08:55,000 Big int nägime täna SQL. 126 00:08:55,000 --> 00:08:59,000 Seal on ka hulk ning seejärel tõeväärtus, boolean, 127 00:08:59,000 --> 00:09:03,000 igasuguseid erinevusi seal. 128 00:09:03,000 --> 00:09:07,000 >> See ei ole väga huvitav, kuid nüüd ma annan sulle natuke aega 129 00:09:07,000 --> 00:09:13,000 kui me suumida tagasi välja-töötamiseks läbi selle teostada allosas lehekülg 3 130 00:09:13,000 --> 00:09:20,000 kus ta küsib, milliseid vastavad need väärtused siin allosas. 131 00:09:20,000 --> 00:09:24,000 Meil on 3.50. 132 00:09:24,000 --> 00:09:28,000 Meil on see asi siin, mis on huvitav. 133 00:09:28,000 --> 00:09:32,000 Me ei ole näinud, et enne, kuigi kui olete jälginud mööda loengu 134 00:09:32,000 --> 00:09:35,000 te ilmselt juba teate, mis see on. 135 00:09:35,000 --> 00:09:40,000 Siis on meil see, mis see on selline funky. 136 00:09:40,000 --> 00:09:42,000 Te tunnete seda. 137 00:09:42,000 --> 00:09:46,000 Mis see on C? 138 00:09:46,000 --> 00:09:50,000 Sam? Mida see teile C? 139 00:09:50,000 --> 00:09:54,000 See avaks faili nimega dynamic.php ja muuta see loetavamaks. 140 00:09:54,000 --> 00:09:58,000 Jah, ja milline oleks tüüpi muutuja, et meil oleks määrata seda? >> Faili täht. 141 00:09:58,000 --> 00:10:02,000 Täpselt, me määrata see fail täht. 142 00:10:02,000 --> 00:10:08,000 See on õigustatud PHP liiga. 143 00:10:08,000 --> 00:10:12,000 Jookse seda. Vaata, mis juhtub, kui te kaotate seda arvesse gettype. 144 00:10:12,000 --> 00:10:19,000 Ja siis ka vaadata, mis null on, mis see võiks olla PHP. 145 00:10:19,000 --> 00:10:21,000 Ma annan sulle paar minutit. 146 00:10:21,000 --> 00:10:24,000 Võid sõna otseses mõttes kopeerida ja kleepida neid väärtusi, 147 00:10:24,000 --> 00:10:29,000 ja siis me teeme natuke juhuslik kõne te 148 00:10:29,000 --> 00:10:34,000 ja vaata, mis sul on. 149 00:10:34,000 --> 00:10:36,000 >> [Student] Mul on küsimus. << Jah. 150 00:10:36,000 --> 00:10:40,000 Ühes loenguid Taavet ütles, et midagi saab panna ülaosas oma faili 151 00:10:40,000 --> 00:10:43,000 nii et sa ei pea sisestama PHP iga kord. 152 00:10:43,000 --> 00:10:45,000 Mis see oli? 153 00:10:45,000 --> 00:10:50,000 Ta oli ilmselt räägime nael paugu, hash paugu. 154 00:10:50,000 --> 00:10:57,000 See on direktiiv, et kui te tähistada oma fail käivitatava 155 00:10:57,000 --> 00:11:01,000 siis mida ta teeb on see, kui sa käivita fail 156 00:11:01,000 --> 00:11:06,000 ta ütleb kest programmi 157 00:11:06,000 --> 00:11:12,000 kasutada PHP tõlk tõlgendada faili sisu. 158 00:11:12,000 --> 00:11:16,000 Küsimus on, mis oli see eriline joon 159 00:11:16,000 --> 00:11:20,000 et me võiks hõlmata ülaosas meie PHP failid ei pea sisaldama 160 00:11:20,000 --> 00:11:26,000 Selle PHP liini või see PHP käsk, kui me tahame ellu faili? 161 00:11:26,000 --> 00:11:31,000 Ja tegelikult võite seda teha hunnik erinevaid faile. 162 00:11:31,000 --> 00:11:37,000 Ma usun, et see oleneb sellest, kus PHP binaarne on salvestatud, 163 00:11:37,000 --> 00:11:43,000 kuid sageli usr / bin / php on hea koht alustamiseks. 164 00:11:43,000 --> 00:11:45,000 Võite seda välja mõelda täpselt, minnes tagasi oma seadme 165 00:11:45,000 --> 00:11:50,000 ja kirjutades välja, mis php. 166 00:11:50,000 --> 00:11:55,000 Mis käsk nuputab kui sa täidesaatva binaarne 167 00:11:55,000 --> 00:12:01,000 või käsu, kus vastav fail on. 168 00:12:01,000 --> 00:12:06,000 See ütleb mulle, et PHP on tõesti aliase see binaarfaili 169 00:12:06,000 --> 00:12:13,000 mis on salvestatud usr / bin, mis on kui palju kahendfailide on paigaldatud. 170 00:12:13,000 --> 00:12:21,000 Näiteks, kui ma liikuge üles tippu, nüüd, et ma panin selle #! joon siin 171 00:12:21,000 --> 00:12:27,000 Ma ei keri, ja ma võin proovida käivitada 172 00:12:27,000 --> 00:12:35,000 dynamic.php, kuid ma saan selle vea kohta luba ei anta, 173 00:12:35,000 --> 00:12:42,000 ja mida see tähendab, et see fail ei ole praegu annab käivitatava õigused. 174 00:12:42,000 --> 00:12:46,000 See ei ole märgitud faili, et keegi saab sõita. 175 00:12:46,000 --> 00:12:52,000 >> Kui sa jooksid teha või rõkkama ja sul on käivitatav sellest 176 00:12:52,000 --> 00:12:56,000 tõlkija oli piisavalt tark, et teada, et hei, ma ehitan käivitatav. 177 00:12:56,000 --> 00:13:00,000 Sa ilmselt tahad käivitada, nii et see oleks automaatselt häälestada 178 00:13:00,000 --> 00:13:02,000 load teile. 179 00:13:02,000 --> 00:13:06,000 See ei ole nii, aga kui loote normaalset pilti nullist, 180 00:13:06,000 --> 00:13:13,000 Põhjus on tavaliselt sa ei taha mingit faili oma süsteemis olema käivitatav, 181 00:13:13,000 --> 00:13:15,000 nii et sa tegelikult minna ja käsitsi teha. 182 00:13:15,000 --> 00:13:22,000 Lihtsaim viis seda teha on koos chmod käsk, 183 00:13:22,000 --> 00:13:28,000 ja chmod + x ütleb lisada käivitatava natuke 184 00:13:28,000 --> 00:13:31,000 sest seal on read natuke, kirjutada natuke ja käivitatava natuke, 185 00:13:31,000 --> 00:13:35,000 r, w ja x, 186 00:13:35,000 --> 00:13:39,000 ja öelda chmod + x süttib käivitatava natuke 187 00:13:39,000 --> 00:13:46,000 sest siis fail, mis on kirjas, mis antud juhul on dynamic.php. 188 00:13:46,000 --> 00:13:49,000 >> [Student] Kas see on sisse lülitatud kõigi jaoks? 189 00:13:49,000 --> 00:13:52,000 Vaatame seda välja, siis kuidas ma vaadata õigused? 190 00:13:52,000 --> 00:13:54,000 Kas sa tead, kuidas ma vaadata load fail? 191 00:13:54,000 --> 00:13:56,000 [Kuuldamatu õpilase vastus] 192 00:13:56,000 --> 00:13:58,000 Vabandust? >> [Student] XSD. 193 00:13:58,000 --> 00:14:03,000 XSD annab meile faili hacks. 194 00:14:03,000 --> 00:14:09,000 Loetletakse kõik failid,-l, siis näita mulle kõik failid minu kataloogis 195 00:14:09,000 --> 00:14:13,000 omamoodi nende pikk, paljusõnaline nimekirjades, ja nii siin me näeme, et 196 00:14:13,000 --> 00:14:17,000 Selle dynamic.php fail 197 00:14:17,000 --> 00:14:23,000 Viimane muutmine: 5. november kell 16:21. 198 00:14:23,000 --> 00:14:26,000 Omanik seda pilti ei jharvard. 199 00:14:26,000 --> 00:14:28,000 See on kasutaja, kes on sisse logitud 200 00:14:28,000 --> 00:14:31,000 See kasutaja Töötan nagu, 201 00:14:31,000 --> 00:14:36,000 ja kui sa oled ka seadme sa ka töötab kasutaja jharvard. 202 00:14:36,000 --> 00:14:38,000 Sa oled õpilaste rühm, 203 00:14:38,000 --> 00:14:44,000 ja need on asjad, mis sa näed piisavalt tihti. 204 00:14:44,000 --> 00:14:47,000 >> Me ei lähe palju detail siin, 205 00:14:47,000 --> 00:14:50,000 kuid enamasti see, mida sa tahad vaadata, kui otsite, et näha 206 00:14:50,000 --> 00:14:55,000 kas fail on käivitatav peamiselt 207 00:14:55,000 --> 00:14:58,000 kasutaja, kes omab faili omanik, 208 00:14:58,000 --> 00:15:03,000 nii see jharvard, ja siis on meil 209 00:15:03,000 --> 00:15:07,000 õigused bitti siin vasakul, 210 00:15:07,000 --> 00:15:13,000 ja Kuidas lugeda seda, et viimane natuke 211 00:15:13,000 --> 00:15:18,000 tavaliselt kasutatakse märgist, kas-vähemalt sel juhul 212 00:15:18,000 --> 00:15:21,000 see viimane natuke sageli seatakse reklaami näidata 213 00:15:21,000 --> 00:15:24,000 , et fail on kataloog ja mitte lihtsalt tavaline fail. 214 00:15:24,000 --> 00:15:28,000 Siis järgmised 3 bitti siin 215 00:15:28,000 --> 00:15:34,000 kindlaks õigused, mis faili omanik on, 216 00:15:34,000 --> 00:15:38,000 nii sel juhul jharvard, kui faili omanik, oskab lugeda ja kirjutada seda faili 217 00:15:38,000 --> 00:15:42,000 kuid seal on kriips öeldes, et jharvard ei saa täita seda faili. 218 00:15:42,000 --> 00:15:46,000 Järgneva 3 bitti on grupi jaoks, nii et see on õpilaste rühm, 219 00:15:46,000 --> 00:15:49,000 nii et kui oli mitu kasutajat minu aparaat, 220 00:15:49,000 --> 00:15:52,000 ja meil oli mitu kasutajat osana üliõpilaste rühm, 221 00:15:52,000 --> 00:15:55,000 siis nad saavad kõik lugeda seda pilti, kuid nad ei saa seda kirjutada, 222 00:15:55,000 --> 00:15:59,000 ja ka keegi teine, maailma 223 00:15:59,000 --> 00:16:01,000 saab lugeda seda pilti ka. 224 00:16:01,000 --> 00:16:03,000 Seal on hea, pikk writeup sellest, 225 00:16:03,000 --> 00:16:05,000 siis võite lugeda internetis. 226 00:16:05,000 --> 00:16:10,000 Kui probleem komplekt spec me minna seda üksikasjalikumalt. 227 00:16:10,000 --> 00:16:12,000 >> [Student] Kas 218 viidates maailma? 228 00:16:12,000 --> 00:16:17,000 218 on-off peal mu pea ma ei unusta, 229 00:16:17,000 --> 00:16:20,000 aga ei. 230 00:16:20,000 --> 00:16:29,000 Vaatame. Olen umbne, et just nüüd. 231 00:16:29,000 --> 00:16:32,000 Tagasi millised me olime umbes pistmist chmod + x 232 00:16:32,000 --> 00:16:37,000 kus tahtsime anda dynamic.php käivitatava load, 233 00:16:37,000 --> 00:16:40,000 ja küsimus oli, kas see annaks käivitatava õigused kõigile 234 00:16:40,000 --> 00:16:44,000 või lihtsalt jharvard, ja me näeme seda 235 00:16:44,000 --> 00:16:48,000 töötab käsud ja kirjutades ls-l, 236 00:16:48,000 --> 00:16:51,000 ja nüüd me näeme, et see on märgitud käivitatav. 237 00:16:51,000 --> 00:16:54,000 Sa näed, et seal oli värvimuutus. 238 00:16:54,000 --> 00:16:57,000 Nüüd dynamic.php on loetletud roheline, 239 00:16:57,000 --> 00:17:01,000 ja tundub, et vastus küsimusele on, mida, Charlotte? 240 00:17:01,000 --> 00:17:04,000 [Charlotte] Ainult jharvard. >> Ainult jharvard, jah. 241 00:17:04,000 --> 00:17:08,000 >> Kui me tahtsime keerata käivitatava natuke kõigile 242 00:17:08,000 --> 00:17:10,000 kuidas võiks me seda teeme? 243 00:17:10,000 --> 00:17:13,000 Kõik mõtted? >> + X? 244 00:17:13,000 --> 00:17:15,000 Jah, täpselt. 245 00:17:15,000 --> 00:17:23,000 Charlotte ütles, et me saame teha chmod kohta + x dynamic.php, 246 00:17:23,000 --> 00:17:26,000 ja nüüd, kui võtame ls-l näeme, et käivitatav bitti 247 00:17:26,000 --> 00:17:30,000 tõepoolest sisse lülitatud kõigile. 248 00:17:30,000 --> 00:17:37,000 Ja tegelikult võite seda teha vastupidine sellele, nii et saate selle välja lülitada kõigile 249 00:17:37,000 --> 00:17:41,000 kasutades miinus. 250 00:17:41,000 --> 00:17:46,000 Nüüd on välja lülitatud, ja nüüd saame selle tagasi sisse lülitate jaoks jharvard 251 00:17:46,000 --> 00:17:52,000 nii et me saame tegelikult kasutada seda nüüd, 252 00:17:52,000 --> 00:17:58,000 ja nüüd näed, kui võtame kood see eriline #! rida ülaosas, 253 00:17:58,000 --> 00:18:04,000 #! rida, rääkis kest, 254 00:18:04,000 --> 00:18:08,000 ütles meie terminali hei, kui see fail on joosta, 255 00:18:08,000 --> 00:18:14,000 kasutada / usr / bin / php tõlgendada seda pilti 256 00:18:14,000 --> 00:18:20,000 ja seejärel printida väljund. 257 00:18:20,000 --> 00:18:22,000 [Kuuldamatu õpilane küsimus] 258 00:18:22,000 --> 00:18:25,000 Muidugi, las ma kerin tagasi üles. Just niimoodi. 259 00:18:25,000 --> 00:18:36,000 Näete kõik need direktiivid alustada selle naela ja seejärel hüüumärk, 260 00:18:36,000 --> 00:18:39,000 mõnikord Jutt, hash paugu. 261 00:18:39,000 --> 00:18:48,000 >> [Student] Kuidas me saame kasutada seda php dynamic.php enne me muuta see täitmisfaili? 262 00:18:48,000 --> 00:18:55,000 Küsimus oli, kuidas me saame teha selle abil PHP binaarne 263 00:18:55,000 --> 00:18:58,000 samas dynamic.php ei ole käivitatav? 264 00:18:58,000 --> 00:19:01,000 See on super oluline, sest see on täpselt, kuidas 265 00:19:01,000 --> 00:19:06,000 see läheb tööle, kui sa kirjutad Ülesanded nr 7. 266 00:19:06,000 --> 00:19:09,000 Enamik aega PHP failid ei ole otse käivitatav. 267 00:19:09,000 --> 00:19:14,000 Viisil, mis toimib, sest see on PHP binaarne, mis on täidetavad. 268 00:19:14,000 --> 00:19:16,000 Tõlk on asi, mis hukatakse, 269 00:19:16,000 --> 00:19:20,000 ja mis siis see teeb sõna otseses mõttes slurping kogu sisu 270 00:19:20,000 --> 00:19:25,000 meie dynamic.php fail ja läheb rida-realt 271 00:19:25,000 --> 00:19:29,000 ja täidesaatva need käsud, nii et see kasutab meie PHP fail 272 00:19:29,000 --> 00:19:31,000 kui nimekirja juhiseid. 273 00:19:31,000 --> 00:19:36,000 See ei ole otseselt käivitamata. 274 00:19:36,000 --> 00:19:40,000 See, kui me ütleme, et need failid on tõlgendanud töötamise ajal. 275 00:19:40,000 --> 00:19:46,000 See on läbijooksuaeg keele asemel midagi, mis on määratud kompileerimise ajal, 276 00:19:46,000 --> 00:19:49,000 ei koostatud keeles nagu C. 277 00:19:49,000 --> 00:19:54,000 >> Kas on võimalik saada läbijooksuaeg keel tegutseda, kui see on kompileerimise ajal keel, 278 00:19:54,000 --> 00:19:58,000 meeldib, kui teil on kõik jooksvad teha server 279 00:19:58,000 --> 00:20:00,000 mitte-sa tead, mida ma mõtlen? 280 00:20:00,000 --> 00:20:04,000 Jah, nii on küsimus 281 00:20:04,000 --> 00:20:11,000 kas on võimalik saada läbijooksuaeg keeles tegutseda pigem kompileerimise ajal tüüpi keeli? 282 00:20:11,000 --> 00:20:18,000 Ja seal on, ma mõtlen, et on aktiivne teadus, palju neid ettevõtteid. 283 00:20:18,000 --> 00:20:22,000 Usun Facebook on teinud palju tööd PHP 284 00:20:22,000 --> 00:20:25,000 ja kompileerimisel alla, mistõttu on kiirem, optimeerides seda 285 00:20:25,000 --> 00:20:29,000 kuna nende sait on ehitatud PHP. 286 00:20:29,000 --> 00:20:34,000 Kui olete jälginud node.js üldse 287 00:20:34,000 --> 00:20:40,000 mis on selline JavaScript tõlk 288 00:20:40,000 --> 00:20:44,000 et oleks võimalik käivitada JavaScript väljaspool brauserit, väljaspool oma veebilehitseja seadistusi, 289 00:20:44,000 --> 00:20:47,000 sest traditsiooniliselt JavaScript oleks lihtsalt joosta sees Firefox või Chrome 290 00:20:47,000 --> 00:20:52,000 ja see oleks kasutatud jahe animatsioone juhtuda veebilehele 291 00:20:52,000 --> 00:20:55,000 ja teha oma veebilehe dünaamiline. 292 00:20:55,000 --> 00:20:59,000 See on ehitatud palju tööd, et Google on teinud 293 00:20:59,000 --> 00:21:03,000 teha JavaScripti ja C + + 294 00:21:03,000 --> 00:21:09,000 seovad kokku, nii et seal on palju aktiivseid teadusuuringuid 295 00:21:09,000 --> 00:21:13,000 saada nendes keeltes suhelda ja neid optimeerida, 296 00:21:13,000 --> 00:21:17,000 peamiselt seetõttu, et nii paljud inimesed saavad koodi PHP ja JavaScript 297 00:21:17,000 --> 00:21:19,000 sest see on palju lihtsam. 298 00:21:19,000 --> 00:21:21,000 See on palju ilusam. Sul ei ole viiteid. 299 00:21:21,000 --> 00:21:27,000 Sa ei pea tüüpi ujuvad ringi. 300 00:21:27,000 --> 00:21:31,000 Nad tahtsid saada kasu neist kompileerimise ajal keeli 301 00:21:31,000 --> 00:21:36,000 kõik tüüpi kontroll ja kiirus ja väiksem mälukasutus ja kõik selle 302 00:21:36,000 --> 00:21:42,000 säilitades samal ajal paindlikkuse ja kasutuslihtsuse neist uuemad. 303 00:21:42,000 --> 00:21:46,000 >> Tagasi meie algse plaani rünnata. 304 00:21:46,000 --> 00:21:50,000 Meil on mõned neist küsimustest siin meie probleem komplekt spec. 305 00:21:50,000 --> 00:21:54,000 Lähme läbi neid tõesti kiiresti ja me läheme mööda tuba laiali. 306 00:21:54,000 --> 00:21:59,000 Charlotte, millist tüüpi on 3,50? 307 00:21:59,000 --> 00:22:01,000 [Charlotte] See on topelt. >> See on topelt. 308 00:22:01,000 --> 00:22:03,000 Jimmy, mis on selle kõrval üks? >> Massiivi. 309 00:22:03,000 --> 00:22:09,000 Massiiv, fantastiline, ja Jared, mis on fopen? 310 00:22:09,000 --> 00:22:11,000 [Jared] See on ressurss. >> See on ressurss. 311 00:22:11,000 --> 00:22:15,000 See on omamoodi uue, mitte faili täht, mitte fail. 312 00:22:15,000 --> 00:22:19,000 See ressurss on tüüp PHP, 313 00:22:19,000 --> 00:22:24,000 ja mul on kahju, Ella, viimane null on mis? 314 00:22:24,000 --> 00:22:26,000 Null. 315 00:22:26,000 --> 00:22:28,000 Null, kuidas see kirjutatud PHP? >> Samamoodi. 316 00:22:28,000 --> 00:22:30,000 Samamoodi pealinnades? >> Jah. 317 00:22:30,000 --> 00:22:33,000 Jah, kõik on korras. 318 00:22:33,000 --> 00:22:35,000 Hakkab pihta, meil topelt, meil massiiv, 319 00:22:35,000 --> 00:22:41,000 meil ressurss, ja siis meil on null. 320 00:22:41,000 --> 00:22:48,000 Vaatame nüüd olete näinud- 321 00:22:48,000 --> 00:22:51,000 Vaatame, nii et nüüd ma arvan, mida ma ka tahan teha, on tõmba 322 00:22:51,000 --> 00:22:56,000 Selle veebilehe siin, see php.net / manuaal, 323 00:22:56,000 --> 00:23:01,000 nii et kui te kopeerida, et ja avada veebibrauser. 324 00:23:01,000 --> 00:23:07,000 Ma lähen tõmba Chrome, pane see sisse 325 00:23:07,000 --> 00:23:10,000 Ma tahan teile näidata seda mitte ainult sellepärast, 326 00:23:10,000 --> 00:23:13,000 me saame rääkida terve päeva umbes tüüpi ja kõik, mis lõbusaid asju 327 00:23:13,000 --> 00:23:19,000 vaid sellepärast, et see on PHP manuaal, 328 00:23:19,000 --> 00:23:23,000 ja seal on palju PHP programmeerijate seal. 329 00:23:23,000 --> 00:23:26,000 Seal on palju PHP veebilehed seal, 330 00:23:26,000 --> 00:23:31,000 ja selle tulemusena on palju dokumentatsiooni PHP, 331 00:23:31,000 --> 00:23:36,000 ja kasutusjuhend, see php.net, on tõesti hea koht, kuhu minna 332 00:23:36,000 --> 00:23:43,000 kui sul on küsimusi, milline on parim viis seda teha X PHP 333 00:23:43,000 --> 00:23:45,000 või mida see funktsioon välja näeb? 334 00:23:45,000 --> 00:23:49,000 Just sellist saada tuttav milline see välja näeb, sest 335 00:23:49,000 --> 00:23:54,000 teil tulevad siia tihti, natuke Ülesanded nr 7. 336 00:23:54,000 --> 00:23:57,000 >> Kui sa lõpuks teed lõplik projekt, mis kasutab PHP 337 00:23:57,000 --> 00:24:04,000 see on koht, saate saanud väga hästi tundma. 338 00:24:04,000 --> 00:24:09,000 Sageli kuidas inimesed seda teha on nad kasutavad Google otsida koha, 339 00:24:09,000 --> 00:24:16,000 ja nad ei kasuta otsingukasti, mis on siin üleval paremas, mis on selline pisike. 340 00:24:16,000 --> 00:24:19,000 Kui sa Googling ringi midagi pistmist PHP ja näed 341 00:24:19,000 --> 00:24:24,000 üks manuaal lingid avanevad saate tavaliselt loota, et 342 00:24:24,000 --> 00:24:31,000 nagu üsna hea ressurss. 343 00:24:31,000 --> 00:24:34,000 Awesome, nii välja seda tüüpi, lihtsalt uudishimust, 344 00:24:34,000 --> 00:24:37,000 millised ei ole me näinud? 345 00:24:37,000 --> 00:24:40,000 Midagi me ei ole näinud siin? 346 00:24:40,000 --> 00:24:44,000 [Student] Allika. >> Nägime ressurss fopen kõne. 347 00:24:44,000 --> 00:24:48,000 [Student] Objektid. >> Objektid ei ole me näinud kindlasti. 348 00:24:48,000 --> 00:24:51,000 Kutse ei ole me näinud. 349 00:24:51,000 --> 00:24:54,000 On mõned neist pseudo-tüüpi. 350 00:24:54,000 --> 00:24:57,000 Me kindlasti ainult nägin täisarv ja topelt. 351 00:24:57,000 --> 00:25:01,000 Me ei näinud mõned teised, nii et kui me kliki täisarvud 352 00:25:01,000 --> 00:25:08,000 näeme on muid täisarvud, et nad on siin? 353 00:25:08,000 --> 00:25:11,000 Kas nad kõik nii täisarv, täisarv, täisarv. 354 00:25:11,000 --> 00:25:14,000 Mõned keeled on suuremad täisarv tüüpi, 355 00:25:14,000 --> 00:25:23,000 nagu nägime MySQL täna oli int ja siis suur int. 356 00:25:23,000 --> 00:25:25,000 Lahe. 357 00:25:25,000 --> 00:25:28,000 >> Niisiis, PHP manuaal. 358 00:25:28,000 --> 00:25:37,000 Lähme tagasi meie probleem komplekt spec, ja me nüüd kerige lehel 4. 359 00:25:37,000 --> 00:25:41,000 Üks asi, mis juhtub, kui sa neid keeli 360 00:25:41,000 --> 00:25:49,000 et ei ole seda staatiline kirjutades, et neid keeli, kus sa pead deklareerima 361 00:25:49,000 --> 00:25:52,000 tüüpi muutuja kuni ees 362 00:25:52,000 --> 00:26:00,000 on teil juhul, kui te võite alustada võttes muutujate eri tüüpi 363 00:26:00,000 --> 00:26:04,000 suhtlevad omavahel, 364 00:26:04,000 --> 00:26:09,000 ja PHP see asi, kus ta püüab teha 365 00:26:09,000 --> 00:26:13,000 mida ta peab kõige mõistlikum asi, mida teha 366 00:26:13,000 --> 00:26:18,000 kui sul on 2 erinevat tüüpi suhelda üksteisega. 367 00:26:18,000 --> 00:26:24,000 Näiteks kui me vaatame neid ridu koodi siin 368 00:26:24,000 --> 00:26:29,000 te näete, et meil juhtub siis, kui 369 00:26:29,000 --> 00:26:38,000 me proovida ja lisada string 1 kuni täisarv 2. 370 00:26:38,000 --> 00:26:41,000 Mis juhtub, kui me proovida ja lisada string, mis ei ole numbrilist väärtust 371 00:26:41,000 --> 00:26:48,000 vaid tegelikku märki, ST number 50? 372 00:26:48,000 --> 00:26:51,000 Siis näeme, on midagi erinevat, mis juhtub, kui 373 00:26:51,000 --> 00:26:56,000 lisamise asemel string arv lisame arvu stringiks, 374 00:26:56,000 --> 00:27:00,000 ja nii edasi ja nii edasi kuni punktini, kus me saada 375 00:27:00,000 --> 00:27:05,000 mingi imelik värk siin, kus meil on 7 + tõsi. 376 00:27:05,000 --> 00:27:09,000 Mida kuradit see peaks tähendama? 377 00:27:09,000 --> 00:27:19,000 >> Kui kutid minna ja kleebi mõned see kood oma seade. 378 00:27:19,000 --> 00:27:27,000 Saate hoida seda dynamic.php. 379 00:27:27,000 --> 00:27:30,000 Eks näis, mis juhtub. 380 00:27:41,000 --> 00:27:43,000 [Student] Lihtsalt trüki, ei printf? 381 00:27:43,000 --> 00:27:52,000 Jah, nii leiad, et trükkimine on ka kehtiv väljatrüki funktsioon PHP. 382 00:27:52,000 --> 00:27:54,000 Seal on palju erinevaid viise, kuidas seda teha. 383 00:27:54,000 --> 00:27:58,000 Me näeme paari näidet hiljem kui hakkame rääkima 384 00:27:58,000 --> 00:28:02,000 umbes unikaalne probleem, et me ei kavatse kirjutada 385 00:28:02,000 --> 00:28:06,000 ja siis kontsentratsioonid probleem, et me ei kavatse kirjutada 386 00:28:06,000 --> 00:28:09,000 et kuigi meil on fopen ja kirjutamisel 387 00:28:09,000 --> 00:28:15,000 et ei ole sageli lihtsaim viis lugeda faili sisu. 388 00:28:15,000 --> 00:28:21,000 PHP on palju neid C-like igandid. 389 00:28:21,000 --> 00:28:28,000 [Student] Kui panin kõik 6 nendest asjadest ma ainult saada üks number väljund. 390 00:28:28,000 --> 00:28:36,000 [Nate H.] Kui paned kõik 6 sellist asja. 391 00:28:36,000 --> 00:28:39,000 Vaatame, kas see on sellepärast, et see on võimalik- 392 00:28:39,000 --> 00:28:46,000 üks asi on see, et need print kõnesid ei lõppedes uusi jooni. 393 00:28:46,000 --> 00:28:49,000 Ei ole uut eraldusjoont kõik need prindi kõned 394 00:28:49,000 --> 00:28:51,000 et äkki te saate ühe suure arvu, 395 00:28:51,000 --> 00:28:58,000 ja see on tõesti lihtsalt sulam uus liin tähemärki. 396 00:28:58,000 --> 00:29:00,000 [Student] Okei, kuidas ma veenduge- 397 00:29:00,000 --> 00:29:03,000 Noh, seal on hunnik erinevaid viise. 398 00:29:03,000 --> 00:29:06,000 Sa võid käsitsi kasutusele prindi reavahetusmärki, 399 00:29:06,000 --> 00:29:09,000 kaja reavahetusmärki, 400 00:29:09,000 --> 00:29:12,000 prindi uute rida. 401 00:29:12,000 --> 00:29:16,000 [Student] Nii kaja on sama asi nagu printf? 402 00:29:16,000 --> 00:29:21,000 >> Printf on nagu C printf 403 00:29:21,000 --> 00:29:24,000 kus te prindite vormindatud stringi. 404 00:29:24,000 --> 00:29:32,000 Sa varustades seda stringi ja seejärel kõik kohatäide muutujad. 405 00:29:32,000 --> 00:29:39,000 See on sageli midagi, mida ei kasutata- 406 00:29:39,000 --> 00:29:42,000 Vaatame, kui disclaimer, 407 00:29:42,000 --> 00:29:48,000 Ma olen vähem tuttav PHP kui ma olen teiste veebi keeled, 408 00:29:48,000 --> 00:29:53,000 ja kui ma olen programmeeritud PHP ma tavaliselt ei kasuta printf 409 00:29:53,000 --> 00:29:59,000 sest minu arvates on kiirem kasutada string interpolatsiooni võimeid, et ta on 410 00:29:59,000 --> 00:30:04,000 mis me astume ja ma näitan teile mõne sekundi pärast, 411 00:30:04,000 --> 00:30:08,000 arvestades, C me mingi pea seda tegema hacky asi, et saan seda välja trükkida korralikult. 412 00:30:08,000 --> 00:30:16,000 Võite tegelikult panna muutujad otse stringid PHP. 413 00:30:16,000 --> 00:30:22,000 Printf on selline liiga pikk, mida ma tavaliselt teen. Jah, Ella. 414 00:30:22,000 --> 00:30:25,000 [Ella] Üldiselt kui saad jäsennysvirhe see tähendab- 415 00:30:25,000 --> 00:30:30,000 nagu C-see ei ütle teile täpselt, kus viga on ja mis see on, 416 00:30:30,000 --> 00:30:34,000 Nii et see tähendab vaadata läbi kogu oma koodi ja sellest aru saada? 417 00:30:34,000 --> 00:30:39,000 See on tavaliselt rohkem sihitud kui see. 418 00:30:39,000 --> 00:30:48,000 Ma arvan, et sel juhul oli see natuke ära, 419 00:30:48,000 --> 00:30:51,000 nii et ma arvan, et sel juhul me puudusid semikooloniga. 420 00:30:51,000 --> 00:30:54,000 See püüdis mõtestada kõike, 421 00:30:54,000 --> 00:30:57,000 nii nagu need tõlgendada keeles, tõlk läheb püüdma 422 00:30:57,000 --> 00:31:01,000 ja teha oma parima, et kõik tööd korralikult. 423 00:31:01,000 --> 00:31:04,000 >> Näete, näiteks JavaScript 424 00:31:04,000 --> 00:31:10,000 Sul sageli rea avaldusi lõpevad semikooloniga nagu nad teevad PHP, 425 00:31:10,000 --> 00:31:13,000 just nagu nad teevad C. 426 00:31:13,000 --> 00:31:15,000 JavaScript mõned JavaScript tõlgid 427 00:31:15,000 --> 00:31:20,000 aastal palju brausereid panna semikooloniga teile 428 00:31:20,000 --> 00:31:23,000 kui juhtub, et puudu neid. 429 00:31:23,000 --> 00:31:29,000 Nad proovida ja mahutada mõned räpasus oma osa. 430 00:31:29,000 --> 00:31:34,000 See, kui ta võib üritada ja üritab ja üritab teha asjad töötavad, 431 00:31:34,000 --> 00:31:36,000 ja siis lõpuks ta saab punktini, kus ta ütleb okei, 432 00:31:36,000 --> 00:31:38,000 Ma ei saa teha asju tööd käendamine, ja see on kui saad rea number 433 00:31:38,000 --> 00:31:44,000 et võib tunduda natuke maha õigesse kohta. 434 00:31:44,000 --> 00:31:47,000 Okei, nii et lähme läbi selle väga kiiresti ära. 435 00:31:47,000 --> 00:31:50,000 Me jätsime maha Ella, nii lähme üle Missy, 436 00:31:50,000 --> 00:31:54,000 ja Missy, mida ei prindi string 1 pluss number 2 sulle? 437 00:31:54,000 --> 00:31:56,000 [Missy] 3. >> 3.. 438 00:31:56,000 --> 00:31:59,000 Kas see on loogiline? Omamoodi? 439 00:31:59,000 --> 00:32:02,000 Kas see annab sulle numbri? Kas see annab sulle string? 440 00:32:02,000 --> 00:32:05,000 [Missy] arv. >> See arv. 441 00:32:05,000 --> 00:32:09,000 Aga see on trükkimine, nii see läheb sulle mingi stringi. 442 00:32:09,000 --> 00:32:12,000 >> Üks asi, mida me saame teha, et vaadata seda 443 00:32:12,000 --> 00:32:21,000 on see, kui me $ var = 1 + 2 444 00:32:21,000 --> 00:32:28,000 ja siis me ütleme, kaja gettype, 445 00:32:28,000 --> 00:32:33,000 nii me kasutame kolmandat sorti trüki siia. 446 00:32:33,000 --> 00:32:39,000 Nüüd saame näha, mis juhtub siin. 447 00:32:39,000 --> 00:32:42,000 Siin mida meil on meil täisarv siit. 448 00:32:42,000 --> 00:32:45,000 Kuigi olime lisades seda stringi arv, 449 00:32:45,000 --> 00:32:48,000 me ei saanud string välja, just nagu Missy ütles. 450 00:32:48,000 --> 00:32:52,000 Me ei saada täisarvu. 451 00:32:52,000 --> 00:32:57,000 Okei, nii et vaatame, 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. Kas see on loogiline? 454 00:33:02,000 --> 00:33:04,000 [Kevin] Jah. 455 00:33:04,000 --> 00:33:06,000 [Nate H.] Miks? Miks see mõtet teile? 456 00:33:06,000 --> 00:33:11,000 [Kevin] sest see on lihtsalt võttes string, mille arv väärtuseks null. 457 00:33:11,000 --> 00:33:16,000 Jah, väga. 458 00:33:16,000 --> 00:33:20,000 Natuke kahemõtteline olukordades, aga see on hea teada, mis juhtub. 459 00:33:20,000 --> 00:33:25,000 Stella, mis juhtub järgmisena number 1 + string 2? 460 00:33:25,000 --> 00:33:27,000 [Stella] 3. >> 3 uuesti. 461 00:33:27,000 --> 00:33:30,000 Ja sel juhul, me saame jada või number? 462 00:33:30,000 --> 00:33:36,000 >> Anname sellele proovida. 463 00:33:36,000 --> 00:33:43,000 Igaüks kiiremini kui ma saan vastuse? Charlotte? 464 00:33:43,000 --> 00:33:46,000 Oh, ma didn't-okei, vaatame, me teeme sama asi 465 00:33:46,000 --> 00:33:49,000 kus meil number pluss string, ja me ei kavatse korrata tüüp, 466 00:33:49,000 --> 00:33:51,000 vaata, mis me saame. 467 00:33:51,000 --> 00:33:55,000 Samuti saavad täisarv. 468 00:33:55,000 --> 00:33:58,000 Ei ole oluline, millest üks on string, millest üks on number. 469 00:33:58,000 --> 00:34:00,000 Me veel hakka täisarv. 470 00:34:00,000 --> 00:34:04,000 See on ikka läheb seda, mida me võiksime oodata. 471 00:34:04,000 --> 00:34:09,000 Olgu, Sam, mida ca 90 + 9 pudelit õlut seinal? 472 00:34:09,000 --> 00:34:12,000 [Sam] 99. >> 99. 473 00:34:12,000 --> 00:34:15,000 Ei pudelit õlut seinal, kuigi. 474 00:34:15,000 --> 00:34:17,000 See annab meile natuke rohkem infot, mis toimub. 475 00:34:17,000 --> 00:34:21,000 [Sam] Kui oleksite kirjutanud 9 tähed 476 00:34:21,000 --> 00:34:23,000 siis oleks 90, eks? 477 00:34:23,000 --> 00:34:26,000 [Nate H.] Jah. 478 00:34:26,000 --> 00:34:30,000 Küsimus oli, kui me tahaks kirjutada 9 välja nagu N-I-N-E 479 00:34:30,000 --> 00:34:34,000 oleks me saanud 99 või 90? 480 00:34:34,000 --> 00:34:38,000 Me tahaks saada 90. 481 00:34:38,000 --> 00:34:42,000 See on sõna otseses mõttes lihtsalt otsin kohaline tähemärki. 482 00:34:42,000 --> 00:34:46,000 See ei ole piisavalt targad, et tunnustada arv sõnu ja seda kraami. Jah. 483 00:34:46,000 --> 00:34:48,000 >> [Student] Kas on olemas selline asi nagu typecasting PHP? 484 00:34:48,000 --> 00:34:54,000 On, ja see on täpselt nii nagu sa teeksid seda C. 485 00:34:54,000 --> 00:34:56,000 Aga 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.] Jah, mis siis võib olla üllatavat? 488 00:35:01,000 --> 00:35:04,000 Mis juhtuks, kui sa tegid seda sama asi C, 489 00:35:04,000 --> 00:35:06,000 kui sa 10/7 C? 490 00:35:06,000 --> 00:35:08,000 [Charlotte] Oleks ainult teile-sõltuvalt sellest, kuidas te typecasted ma arvan 491 00:35:08,000 --> 00:35:12,000 see annaks sulle ainult piiratud arvu kohta pärast koma. 492 00:35:12,000 --> 00:35:16,000 Jah, nii piiratud arvu kohta pärast koma. 493 00:35:16,000 --> 00:35:21,000 Mis veel võiks olla-oleks see teile mingeid kohta pärast koma? 494 00:35:21,000 --> 00:35:28,000 Sageli ei ole, nii et jälle, sõltuvalt sellest, kuidas te typecasting see 495 00:35:28,000 --> 00:35:31,000 see võib olla või mitte teisendada see murdarv. 496 00:35:31,000 --> 00:35:35,000 Siin see oli selline tore, et ta seda tegi. 497 00:35:35,000 --> 00:35:40,000 Kui me oleksime näidanud teile seda tagasi, kui alustasime teed sellist kraami C 498 00:35:40,000 --> 00:35:44,000 siis ilmselt oleks teinud veidi rohkem mõistust 499 00:35:44,000 --> 00:35:48,000 et see ei ole lihtsalt minema 1. 500 00:35:48,000 --> 00:35:51,000 Ja siis lõpuks, Jamie, mida umbes 7 + tõsi? 501 00:35:51,000 --> 00:35:53,000 [Jamie] 8. >> 8. 502 00:35:53,000 --> 00:35:56,000 Mida see tähendab? 503 00:35:56,000 --> 00:35:58,000 Ma arvan, et see lihtsalt annab tõelise väärtuse 1. 504 00:35:58,000 --> 00:36:01,000 Jah. Mis juhtub, kui me seda muuta, et vale? 505 00:36:01,000 --> 00:36:04,000 [Student] 7. 506 00:36:04,000 --> 00:36:09,000 Jah, nii mäletan, kui me räägime neist binaarsed väärtused, 507 00:36:09,000 --> 00:36:12,000 1 on sisse lülitatud, 0 on välja lülitatud? 508 00:36:12,000 --> 00:36:17,000 Nüüd on meil tõsi on 1, 0 on vale, 509 00:36:17,000 --> 00:36:21,000 ja te ei oleks seda näinud C näiteid, et me oleme teinud seda viimase poolaasta 510 00:36:21,000 --> 00:36:27,000 kuid ajalooliselt bool tüüpi C ei ole reaalne tüüp, 511 00:36:27,000 --> 00:36:32,000 et inimesed on kasutanud 0 ja 1 koht õige ja vale. 512 00:36:32,000 --> 00:36:35,000 See on märk, et. 513 00:36:35,000 --> 00:36:39,000 >> Okei, nii et üks oluline osa kõigest sellest 514 00:36:39,000 --> 00:36:41,000 on see, et meil on need erinevad. 515 00:36:41,000 --> 00:36:43,000 Nad võivad suhelda üksteisega. 516 00:36:43,000 --> 00:36:49,000 Nad on sageli üksteisega suhelda viisil, mis on kena, nagu me oleme näinud siin. 517 00:36:49,000 --> 00:36:53,000 On tore olla võimeline on string 1 ja number 2, lisage need koos ja saada 3. 518 00:36:53,000 --> 00:36:55,000 See on loogiline. 519 00:36:55,000 --> 00:36:59,000 Samas, kui olete kirjalikult veebilehed, ja eriti kui sa oled töötlemine 520 00:36:59,000 --> 00:37:04,000 kasutaja sisend, nii et te olete kirjutanud veebivormi 521 00:37:04,000 --> 00:37:09,000 mis kogub informatsiooni kasutaja ja läheb seejärel töödelda 522 00:37:09,000 --> 00:37:13,000 tagaküljel eesmärgil serveripoolne oma PHP kood 523 00:37:13,000 --> 00:37:18,000 Kui ootate, et raha, et kasutaja sisestatud ja esitatud 524 00:37:18,000 --> 00:37:23,000 teie vorm olema täisarv või olla murdarv või midagi sellist 525 00:37:23,000 --> 00:37:29,000 peate selgesõnaliselt enamus seda 526 00:37:29,000 --> 00:37:34,000 ja siis teha teatud tüüpi kontroll. 527 00:37:34,000 --> 00:37:41,000 >> Sa ei taha lihtsalt tugineda seda tüüpi maadelda süsteemi, et muuta asju välja töötada, 528 00:37:41,000 --> 00:37:48,000 eriti turvakaalutlustel ja just stabiilsuses oma kodulehel. 529 00:37:48,000 --> 00:37:51,000 Lihtsalt midagi, mida meeles pidada, et kui te käitlemise vormi andmed, 530 00:37:51,000 --> 00:37:57,000 midagi, mis on saadaval postiga või get superglobals 531 00:37:57,000 --> 00:38:01,000 veenduge, et te alati seda kinnitada ja muuta ja jklle harjunud roll ta. 532 00:38:01,000 --> 00:38:04,000 Ja just nagu me rääkisime hetk tagasi, et typecasting 533 00:38:04,000 --> 00:38:08,000 PHP on täpselt sama nagu C, kus teil on sulgudes 534 00:38:08,000 --> 00:38:14,000 ja siis tüüp. 535 00:38:14,000 --> 00:38:16,000 Pea seda silmas pidades. 536 00:38:16,000 --> 00:38:19,000 Üks funktsioon, mis tulevad mugav, kui sa seda teed 537 00:38:19,000 --> 00:38:22,000 on meil olen kasutanud-ja see on selline nagu kõrvale- 538 00:38:22,000 --> 00:38:27,000 me olen kasutanud seda gettype funktsioon siin 539 00:38:27,000 --> 00:38:30,000 aru saada, millist tüüpi muutuja, 540 00:38:30,000 --> 00:38:37,000 ja kuigi see on mugav silumiseks ja näha, mida muutuja tüüp on 541 00:38:37,000 --> 00:38:42,000 te ei soovi seda kasutada, näiteks seisund, kus 542 00:38:42,000 --> 00:38:57,000 sa kontrollides, et näha, kui gettype on $ var = täisarv midagi. 543 00:38:57,000 --> 00:39:01,000 See on halb, paha, paha. 544 00:39:01,000 --> 00:39:09,000 Selle asemel on neid funktsioone nimetatakse on täisarv, on string, 545 00:39:09,000 --> 00:39:14,000 on massiiv, mida soovite kasutada selle asemel, et sellisel juhul 546 00:39:14,000 --> 00:39:18,000 mida ma tahaks teha selle asemel, et see kutt siin 547 00:39:18,000 --> 00:39:31,000 on kasutada on täisarv var. 548 00:39:31,000 --> 00:39:37,000 Ja nad sageli nimetatud on is_ * selles mõttes, et sa võiksid asendada * täisarv, 549 00:39:37,000 --> 00:39:43,000 string, jne, ja lihtsalt veendumaks, et tõesti kiire 550 00:39:43,000 --> 00:39:50,000 on see int php. 551 00:39:50,000 --> 00:39:59,000 Paistab, et sa suudad seda kas on int või on täisarv ka? 552 00:39:59,000 --> 00:40:06,000 Jah, alias, nii int täisarv varjunimed. 553 00:40:06,000 --> 00:40:08,000 Lahe. 554 00:40:14,000 --> 00:40:17,000 >> Kuidas meil läheb? 555 00:40:17,000 --> 00:40:20,000 Korjame tempot natuke. 556 00:40:20,000 --> 00:40:24,000 Nüüd me ei kavatse rääkida massiivid, nii nagu näete 557 00:40:24,000 --> 00:40:28,000 järgmise osa spec me räägime kuidas massiivid PHP 558 00:40:28,000 --> 00:40:31,000 on veidi teistsugune kui need on C. 559 00:40:31,000 --> 00:40:34,000 Tõsi, nad on omamoodi sulam 560 00:40:34,000 --> 00:40:36,000 massiivid, et olete jõudnud tundma ja armastama C 561 00:40:36,000 --> 00:40:40,000 kus kõik on sama tüüpi 562 00:40:40,000 --> 00:40:43,000 salvestatud järjest ja contiguously mälu, 563 00:40:43,000 --> 00:40:46,000 ja sa pead neid numbrilisi indekseid. 564 00:40:46,000 --> 00:40:49,000 Sul on indeks 0, indeks 1, indeks 2, 565 00:40:49,000 --> 00:40:53,000 ja salvestada väärtused need indeksid. 566 00:40:53,000 --> 00:40:57,000 Sa ka C, kui sa kirjutasid Speller, palju te 567 00:40:57,000 --> 00:41:00,000 tegin hash tabelit lähenemine, ja nägid, et meil oli 568 00:41:00,000 --> 00:41:03,000 teistsugust ladustamist, kus me olime kaardistamine 569 00:41:03,000 --> 00:41:07,000 võti väärtus, nii et kui oled proovinud, et salvestada midagi hash tabelit 570 00:41:07,000 --> 00:41:11,000 sa pidid täpsustama, et sa tahad säilitada seda eriklahvi, 571 00:41:11,000 --> 00:41:17,000 ja et võti määrab asukoha väärtus ja kui see salvestatakse. 572 00:41:17,000 --> 00:41:22,000 Oled liiki sain nii nende mõistete toimub samal ajal ka PHP massiivi, 573 00:41:22,000 --> 00:41:27,000 ja selle tulemusena me sageli nimetame neid assotsiatiivse massiivi 574 00:41:27,000 --> 00:41:33,000 kus me ühendavad sisestada väärtus. 575 00:41:33,000 --> 00:41:39,000 Selles next part me räägime lihtne PHP massiivi 576 00:41:39,000 --> 00:41:45,000 kus meil on võtmed, b ja c, 577 00:41:45,000 --> 00:41:53,000 kõik stringid, kaardistamise täisarvud 1, 2 ja 3. 578 00:41:53,000 --> 00:41:57,000 Ja sul võib olla võtmed erinevad. 579 00:41:57,000 --> 00:42:00,000 >> Sul võib olla mõned võtmed on stringid, mõned võtmed on täisarvud. 580 00:42:00,000 --> 00:42:03,000 Sul võib olla väärtused erinevad. 581 00:42:03,000 --> 00:42:06,000 Sul võib olla väärtus, mis on string, väärtus, mis on täisarv, 582 00:42:06,000 --> 00:42:11,000 väärtus, mis on objekti või teise massiivi, näiteks 583 00:42:11,000 --> 00:42:16,000 kõik samas massiivi objekt, mis on kuidagi imelik. 584 00:42:16,000 --> 00:42:20,000 Sa ei pea olema massiiv, mis on just ühte tüüpi element selles. 585 00:42:20,000 --> 00:42:26,000 Sul võib olla palju erinevaid asju seal toimub. 586 00:42:26,000 --> 00:42:33,000 Teine asi on tähele panna, et kui sa ei näe midagi sellist oma koodi, 587 00:42:33,000 --> 00:42:38,000 mis kehtib PHP kuulutada array lihtsalt meeldib see, 0, 1, 2, 3, 4, 5, 588 00:42:38,000 --> 00:42:43,000 et tunnistab käivitub $ arr olla see massiiv. 589 00:42:43,000 --> 00:42:48,000 Aga mida sa tegelikult saada kapoti alla on selline kaudne 590 00:42:48,000 --> 00:42:55,000 põlvkonna võtmed, kus meil on 0-0, 1-1, 2-2, 3-3. 591 00:42:55,000 --> 00:42:59,000 Ja selgub, et isegi kui sul on array nagu see kutt siin 592 00:42:59,000 --> 00:43:03,000 kus sa pead, b ja c võtmed 593 00:43:03,000 --> 00:43:09,000 ja siis hakkate kasutades massiivi tõukemeetod hakata kasutama seda massiivi nagu pinu, 594 00:43:09,000 --> 00:43:12,000 näeksite, et see massiivi objekt, see massiiv on tõesti ülekoormust. 595 00:43:12,000 --> 00:43:15,000 Me ei saa seda kasutada massiivi. Me ei saa seda kasutada hash tabelit. 596 00:43:15,000 --> 00:43:19,000 Me võime kasutada seda pinu. 597 00:43:19,000 --> 00:43:22,000 Kui hakkad surudes asju peale selle massiivi 598 00:43:22,000 --> 00:43:30,000 Esimene asi, mida vajutada peale seda on indeks 0 ja seejärel jaotises 1 ja indeks 2. 599 00:43:30,000 --> 00:43:33,000 Saad selline kaudne põlvkonna võtmed 600 00:43:33,000 --> 00:43:38,000 kui te just neid otseselt. 601 00:43:38,000 --> 00:43:43,000 Kuidas saab määrata võtmed selgesõnaliselt, muidugi, on kasutada seda sulg märke, 602 00:43:43,000 --> 00:43:48,000 mis on sarnane massiivid, välja arvatud asemel vaid võimaldab 603 00:43:48,000 --> 00:43:54,000 täisarv indeksid siin, nüüd me laseme midagi. 604 00:43:54,000 --> 00:43:57,000 Kui soovite oma võti olema string, siis tahaks täpsustada seda niimoodi. 605 00:43:57,000 --> 00:44:06,000 Kui sa tahad seda int, siis täpsustage seda int, mida soovite kasutada. 606 00:44:06,000 --> 00:44:13,000 >> Küsimused, mis siiani? 607 00:44:13,000 --> 00:44:18,000 Üks kena asju selle idee 608 00:44:18,000 --> 00:44:26,000 on, et saate kunagi üks väärtus salvestatakse eelkõige võti. 609 00:44:26,000 --> 00:44:32,000 Kui me läheme tagasi üle meie seadme-Las ma kustutan natuke seda värki. 610 00:44:32,000 --> 00:44:47,000 Ja ütleme, et ma initsialiseerida array olla 0, 1, 2, tehtud. 611 00:44:47,000 --> 00:44:55,000 Kui ma nüüd tean, et näiteks, kui ma echo $ arr [0] 612 00:44:55,000 --> 00:44:59,000 Ma lähen, et saada väärtus 0 trükkida, 613 00:44:59,000 --> 00:45:05,000 ja kuna seal saab kunagi olla üks väärtus säilitada eelkõige võti 614 00:45:05,000 --> 00:45:11,000 kui ma salvestada midagi on $ arr [0], ütleme, 615 00:45:11,000 --> 00:45:16,000 siis ma tean, kui ma echo $ arr [0] jälle 616 00:45:16,000 --> 00:45:19,000 Ma ei hakka 0 trükitakse välja nagu enne. 617 00:45:19,000 --> 00:45:24,000 Ma ainult hakka. 618 00:45:24,000 --> 00:45:30,000 Nii et see on põhimõtteliselt öelda, et ma ei saa olla $ arr [0] talletamine 2 erinevat väärtused. 619 00:45:30,000 --> 00:45:34,000 Ei saa salvestada nii 0 ja string, nagu seda sõna otseses mõttes asendab 620 00:45:34,000 --> 00:45:38,000 Mis oli $ arr [0] varem. 621 00:45:38,000 --> 00:45:43,000 Põhjus, miks ma tooma see up töötab see, vaata, mis juhtub. 622 00:45:43,000 --> 00:45:47,000 Vaata siit, et ma sain 0 trükkida ja siis siia alla. 623 00:45:47,000 --> 00:45:51,000 Pole mingit uut rida seal, sest olin laisk ja ei pannud seda sisse 624 00:45:51,000 --> 00:45:54,000 Mis on lahe on see, mida saame kasutada seda kui võimalust 625 00:45:54,000 --> 00:46:00,000 jäädvustada see idee komplekt 626 00:46:00,000 --> 00:46:07,000 kus me ei saa olla mitu võtit jooksul massiivi. 627 00:46:07,000 --> 00:46:10,000 Meil ei saa olla identsed võtmed jooksul massiivi. 628 00:46:10,000 --> 00:46:17,000 Ma ei saa olla võti 0 ja väärtus 1 ja võti 0 ja väärtus 629 00:46:17,000 --> 00:46:21,000 või klahvi 0 ja väärtus tõene. 630 00:46:21,000 --> 00:46:27,000 Võtmed on kõik-seal on ainult 1 võti massiiv. 631 00:46:27,000 --> 00:46:32,000 Kuigi sul võib olla sama väärtus salvestatakse 632 00:46:32,000 --> 00:46:35,000 mitu korda massiivi eri võtmed 633 00:46:35,000 --> 00:46:42,000 see ei ole võimalik, et on identsed võtmed mitu korda oma PHP massiivi. 634 00:46:42,000 --> 00:46:47,000 >> Kui me vaatame seda järgmine probleem, unique.php, 635 00:46:47,000 --> 00:46:51,000 kuhu me tahame avada PHP fail 636 00:46:51,000 --> 00:46:54,000 sisaldavad stringe nimekirja, üks string rea kohta 637 00:46:54,000 --> 00:47:01,000 ja me tahame leida kõik unikaalne stringid et faili 638 00:47:01,000 --> 00:47:06,000 kõik me peame tegema, on kasutada ühte neist PHP massiivid 639 00:47:06,000 --> 00:47:12,000 ja kasutada stringid faili võtmed selles massiivis 640 00:47:12,000 --> 00:47:17,000 ja hoida ajakohastamine meie massiivi nagu me salvestada need uued võtmed. 641 00:47:17,000 --> 00:47:22,000 Kui me loeme iga rida välja fail saame seda säilitada massiivi 642 00:47:22,000 --> 00:47:28,000 ja lõpus on meil nagu meie võtmed meie massiivi 643 00:47:28,000 --> 00:47:34,000 Kõike unikaalne stringid faili piires. 644 00:47:34,000 --> 00:47:37,000 Kas see on loogiline? 645 00:47:37,000 --> 00:47:41,000 Vaatame, kuidas see toimib. 646 00:47:41,000 --> 00:47:49,000 Me läheme avama, vastavalt spec, uus fail nimega unique.php. 647 00:47:49,000 --> 00:47:58,000 Ava. Oih, vabandust, uue faili. 648 00:47:58,000 --> 00:48:03,000 Me ei kavatse alustada ära sama alguse ja lõpu sildid. 649 00:48:03,000 --> 00:48:17,000 Me läheme salvestamiseks 9. jaos, ja me ei kavatse seda nimetada unique.php. 650 00:48:17,000 --> 00:48:25,000 Okei, nüüd suumimiseks 651 00:48:25,000 --> 00:48:32,000 Mõte on avada faili, 652 00:48:32,000 --> 00:48:38,000 lugeda faili rida-realt. 653 00:48:38,000 --> 00:48:46,000 Iga rida faili 654 00:48:46,000 --> 00:48:51,000 me peame massiiv, kus meil on 655 00:48:51,000 --> 00:49:03,000  joon nagu meie võti. 656 00:49:03,000 --> 00:49:09,000 Ja siis kui me jõuda lõpuks siin 657 00:49:09,000 --> 00:49:17,000 $ Arr võtmed on ainulaadne read 658 00:49:17,000 --> 00:49:25,000 failist sest me teame, et kui ma panen rida sellesse massiivi 659 00:49:25,000 --> 00:49:33,000 mitu korda see muudkui katab vana väärtuse, 660 00:49:33,000 --> 00:49:46,000 ja me saame tegelikult panna massiivi rida nagu ise just niimoodi. 661 00:49:46,000 --> 00:49:48,000 >> See on kuidagi imelik. 662 00:49:48,000 --> 00:49:52,000 Me ladustamiseks sama põhiväärtus paari ikka ja jälle ja jälle, 663 00:49:52,000 --> 00:50:00,000 kuid kuna meil on tagatud, et seal on ainult 1 võti nimega rida 664 00:50:00,000 --> 00:50:05,000 nii et kui meil on fail, mis ütleb-faili loomade häälitsusi ja see on auh, auh, 665 00:50:05,000 --> 00:50:11,000 mjäu, mjäu, Moo, moo, ja iga kord, kui me lugeda loom müra välja 666 00:50:11,000 --> 00:50:15,000 nagu auh ja me seda säilitada meie massiivi saame Auh, ja siis teine ​​kord 667 00:50:15,000 --> 00:50:20,000 me salvestada Auh see kirjutatakse esimene kord, kui me säilitada seda. 668 00:50:20,000 --> 00:50:25,000 Lõpuks me ainult üks kanne massiivi 669 00:50:25,000 --> 00:50:33,000 iga looma häälitsusi meie loomade häälitsusi faili. 670 00:50:33,000 --> 00:50:41,000 Kas te tunnete kindel, et saate lahendada avamine faili PHP? 671 00:50:41,000 --> 00:50:45,000 Üks viis seda teha-lähme üle selle kiiresti üks viis seda teha 672 00:50:45,000 --> 00:50:50,000 on koos fopen, nagu nägime. 673 00:50:50,000 --> 00:50:55,000 Võite fopen some_file.txt. 674 00:50:55,000 --> 00:50:59,000 Võite avada see lugeda režiimis, nii nagu C. 675 00:50:59,000 --> 00:51:02,000 See on üks täiesti hea viis seda teha. 676 00:51:02,000 --> 00:51:05,000 Sa ka siis lugemiseks toimikusse rida-realt 677 00:51:05,000 --> 00:51:12,000 on samad funktsioonid, paljud neist, et sa tegid C. 678 00:51:12,000 --> 00:51:14,000 Sul on fgets. 679 00:51:14,000 --> 00:51:17,000 Sul on feof, kuigi meile ei meeldi kasutada seda 680 00:51:17,000 --> 00:51:22,000 sest mäletan, et ei olnud suur C. 681 00:51:22,000 --> 00:51:25,000 Sa suudad seda teha samamoodi, 682 00:51:25,000 --> 00:51:34,000 kuid siin on väga lahe asi. 683 00:51:34,000 --> 00:51:41,000 Vabandust, ma ei taha seda teha $ fail, kuid on funktsioon nimega faili PHP, 684 00:51:41,000 --> 00:51:47,000 ja see funktsioon siin on lahe, sest ta loeb kogu sisu 685 00:51:47,000 --> 00:51:52,000 on fail, mida täpsustatakse nii some_file.txt, 686 00:51:52,000 --> 00:51:56,000 loeb kogu sisu see fail massiivi 687 00:51:56,000 --> 00:52:03,000 ja siis saate kinnitada, selle üle, mis on päris vahva. 688 00:52:03,000 --> 00:52:07,000 >> Kui me läheme näiteks meie veebibrauser 689 00:52:07,000 --> 00:52:14,000 ja vaatleme Google PHP fail 690 00:52:14,000 --> 00:52:23,000 näete siin, et meie manuaal ütleb, et faili loeb kogu faili massiivi 691 00:52:23,000 --> 00:52:27,000 ja saame file_get_contents naasta sisu faili stringi, 692 00:52:27,000 --> 00:52:30,000 kuid tavaliselt lihtsalt saada see massiiv on tõesti tore, sest mida ta teeb 693 00:52:30,000 --> 00:52:33,000 on see puruneb see üles nii, et iga element 694 00:52:33,000 --> 00:52:37,000 aastal massiiv on üks rida faili 695 00:52:37,000 --> 00:52:41,000 nii et kui me vaatame faili 0, see on esimene rida faili. 696 00:52:41,000 --> 00:52:46,000 Faili 1 teises reas, faili 2, kolmas rida, ja nii edasi ja nii edasi. 697 00:52:46,000 --> 00:52:50,000 Kas poleks tore, kui see oli kõik, mida tuli teha C? 698 00:52:50,000 --> 00:52:53,000 Päris vahva. 699 00:52:53,000 --> 00:52:59,000 David näitas seda loengut ja idioom ta näitas oli 700 00:52:59,000 --> 00:53:03,000 et lisaks meie standard loop-PHP meil oli, et 701 00:53:03,000 --> 00:53:09,000 eest ($ i = 0; i <10; i + +), 702 00:53:09,000 --> 00:53:16,000 ja seda saab teha PHP ka sama asja- 703 00:53:16,000 --> 00:53:27,000 meil on ka see lahe konstrukt nimega foreach. 704 00:53:27,000 --> 00:53:32,000 Foreach on tõesti mugav, kui itereerimise üle massiivid või neid andmestruktuure 705 00:53:32,000 --> 00:53:36,000 sest see võimaldab teil tõmmake iga element massiivi 706 00:53:36,000 --> 00:53:42,000 ilma käsitsi teha indekseerimine ise, 707 00:53:42,000 --> 00:53:46,000 ilma käsitsi luua indeks muutuja, juurdekasvu see, 708 00:53:46,000 --> 00:53:51,000 tõmmake väärtust massiivi sel hetkel, sest see on väga tavaline asi, mida teha. 709 00:53:51,000 --> 00:53:54,000 >> Sa ilmselt seda teinud tonni aegu, kui sa teed C kraam 710 00:53:54,000 --> 00:54:00,000 üle semester, nii et seda foreach 711 00:54:00,000 --> 00:54:06,000 saame silmus üle seda faili massiivi 712 00:54:06,000 --> 00:54:12,000 ja süntaks on see, et me tahame nüüd silmus üle selle massiivi 713 00:54:12,000 --> 00:54:18,000 ja täpsustada, et muutuja me ei kavatse kasutada, et salvestada 714 00:54:18,000 --> 00:54:27,000 element selle massiivi kohapeal, kohaliku ulatusega see foreach silmus, 715 00:54:27,000 --> 00:54:32,000 on me lähme kutsume seda rida. 716 00:54:32,000 --> 00:54:38,000 Kui see fail on lihtsalt sõnad ja seal on üks sõna rea 717 00:54:38,000 --> 00:54:43,000 me võiks seda nimetada sõna samuti, tõesti lihtsalt annad selle nime, 718 00:54:43,000 --> 00:54:49,000 mida iganes sa tahad seda kutsuda, 719 00:54:49,000 --> 00:55:02,000 ja siis sees silmus saate teha mida iganes sa tahad seda liini. 720 00:55:02,000 --> 00:55:08,000 Kui see ei ole piisav, et saada väärtus massiivi ja sa ka tahad saada 721 00:55:08,000 --> 00:55:17,000 indeks koos sellega saab määrata nime indeks 722 00:55:17,000 --> 00:55:22,000 samuti raha, ja nüüd on teil juurdepääs kuni 2 muutujad. 723 00:55:22,000 --> 00:55:26,000 Sul on $ i ja joon 724 00:55:26,000 --> 00:55:30,000 kus $ i on indeks array, 725 00:55:30,000 --> 00:55:38,000 ja rida on rida, mida laaditakse fail. 726 00:55:38,000 --> 00:55:49,000 Näiteks, kui me tahtsime välja printida kaja rida 0 faili see, 727 00:55:49,000 --> 00:55:57,000 me võiks seda teha just niimoodi, "Line $ i fail on $ rida," 728 00:55:57,000 --> 00:56:02,000 ja siin on midagi, mida me ka ei ole näinud veel kas 729 00:56:02,000 --> 00:56:13,000 kus ma olen lihtsalt täiesti vahele üle kogu see% s% d äri 730 00:56:13,000 --> 00:56:16,000 et pidime tegelema C, ja selle asemel olen läinud otse 731 00:56:16,000 --> 00:56:19,000 kirjalikult muutujad kooskõlas minu näol. 732 00:56:19,000 --> 00:56:23,000 >> Seda nimetatakse muutuja interpolatsiooniga string interpolatsiooni 733 00:56:23,000 --> 00:56:26,000 kuhu täidis muutujad otse ja PHP tõlk 734 00:56:26,000 --> 00:56:31,000 on piisavalt targad, kui ta loeb läbi stringi, mis algab jutumärkide- 735 00:56:31,000 --> 00:56:34,000 ei ülakoma, ühe jutumärke sa ei saa seda teha- 736 00:56:34,000 --> 00:56:38,000 kuid topelt jutumärke, sest see loeb läbi ta otsib muutujaid. 737 00:56:38,000 --> 00:56:42,000 See jaht neile ette, ja kui ta näeb muutujad see võtab muutuja väärtus 738 00:56:42,000 --> 00:56:47,000 ja toppige see string, kui see saab teisendada see string esindatuse, 739 00:56:47,000 --> 00:56:51,000 mis on päris vahva. 740 00:56:51,000 --> 00:56:56,000 Sest nüüd, lähme välja kommenteerida ülejäänud kõik, 741 00:56:56,000 --> 00:57:00,000 salvestada, ja mida me saame teha nüüd on meil võimalik avada faili 742 00:57:00,000 --> 00:57:06,000 et me võime some_file.txt-Loome uue faili- 743 00:57:06,000 --> 00:57:15,000 ja suudame panna hunnik jama värk siin lihtsalt katsetada kõike välja, 744 00:57:15,000 --> 00:57:25,000 salvestada, nimetame seda some_file.txt, kui ma teen siin üleval, 745 00:57:25,000 --> 00:57:33,000 ja nüüd kui ma välja suumida lihtsalt veendumaks, et kõik on sama kataloogi 746 00:57:33,000 --> 00:57:36,000 tundub, mul on unique.php ja some_file.txt samas kataloogis. 747 00:57:36,000 --> 00:57:42,000 Kui ma saan php unique.php 748 00:57:42,000 --> 00:57:51,000 näha, kuidas ta prindib välja iga rea ​​minu faili ja mis rida? 749 00:57:51,000 --> 00:57:56,000 >> See on päris võimas, eks? 750 00:57:56,000 --> 00:58:03,000 Vaata, kulus 3 rida koodi avama faili. 751 00:58:03,000 --> 00:58:08,000 Noh, 4 rida koodi. Ma ei saa loota täna selgelt. 752 00:58:08,000 --> 00:58:13,000 Aga tõesti vaid 2 huvitav rida koodi, kuna teised 2 olid looksulg, 753 00:58:13,000 --> 00:58:17,000 kuid selles palju koodi suutsime avada faili, itereerima läbi, 754 00:58:17,000 --> 00:58:20,000 tõmmake liini number ja liini ise 755 00:58:20,000 --> 00:58:24,000 ja välja trükkida. 756 00:58:24,000 --> 00:58:26,000 Lahe värk. Charlotte. 757 00:58:26,000 --> 00:58:28,000 [Charlotte] Mul on küsimus süntaks. 758 00:58:28,000 --> 00:58:33,000 Nii foreach tegeleb iga rida faili avada, 759 00:58:33,000 --> 00:58:37,000 ja siis kui sa tahad teha asju iga rida sa lihtsalt teha seda nagu 760 00:58:37,000 --> 00:58:39,000 ja seejärel siduda väärtus. 761 00:58:39,000 --> 00:58:41,000 [Nate H.] Mida saad teha siin-küsimus oli 762 00:58:41,000 --> 00:58:46,000 foreach on pistmist massiiv, nii foreach süntaks 763 00:58:46,000 --> 00:58:51,000 on tõesti foreach, ja teate, et seal pole ruumi 764 00:58:51,000 --> 00:58:53,000 või midagi vahel ja iga. 765 00:58:53,000 --> 00:58:56,000 Nad peavad minema paremale üksteise kõrval, 766 00:58:56,000 --> 00:59:00,000 ja siis ta võtab massiivi, 767 00:59:00,000 --> 00:59:05,000 ja siis on see muu märksõna kutsutud, et peab olema seal, 768 00:59:05,000 --> 00:59:11,000 ja siis pärast kui võite panna üks muutuja nimi, 769 00:59:11,000 --> 00:59:14,000 sel juhul sa lähed tuleb tõmmates välja väärtuste massiiv, 770 00:59:14,000 --> 00:59:20,000 ei indeksid, või kui sa seda nagu me oleme kirjutanud alla 771 00:59:20,000 --> 00:59:24,000 sa saad võtmed ja väärtused. 772 00:59:24,000 --> 00:59:33,000 Sul on foreach element massiivi või paari massiivi Pingeline väärtus 773 00:59:33,000 --> 00:59:38,000 või lihtsalt raha. 774 00:59:38,000 --> 00:59:40,000 Sõltuvalt sellest, mida sa vajad, kui sa ei pea klahve 775 00:59:40,000 --> 00:59:42,000 siis võid minna väärtusega. 776 00:59:42,000 --> 00:59:45,000 Kui soovite võtmed võid minna koos nendega ka. 777 00:59:45,000 --> 00:59:48,000 >> [Charlotte] ma ka aru, me ei ole kunagi tunnistatud i või liin. 778 00:59:48,000 --> 00:59:51,000 Kuidas see teagi, mis nad on? 779 00:59:51,000 --> 00:59:53,000 [Nate H.] Mis sa sellega mõtled deklareerida? 780 00:59:53,000 --> 00:59:57,000 [Charlotte] Me pole kunagi öelnud neile, mida ma või liini kaudu. 781 00:59:57,000 --> 01:00:01,000 [Nate H.] Me pole kunagi öelnud, et arvuti, mida ma või liin tähendab nii- 782 01:00:01,000 --> 01:00:05,000 [Charlotte] Et nad indekseeritud või et Naad- 783 01:00:05,000 --> 01:00:09,000 [Nate H.] Me pole kunagi öelnud talle, et see peaks olema indeks või võti ja väärtus, 784 01:00:09,000 --> 01:00:13,000 ja see on, sest see on PHP tõlk. 785 01:00:13,000 --> 01:00:17,000 See toimib deklaratsiooni ja ütleb okei, võti saab olema 786 01:00:17,000 --> 01:00:20,000 muutuja nimega i salvestatud muutuja nimega i. 787 01:00:20,000 --> 01:00:24,000 Väärtus saab olema salvestatud muutuja nimega rida, 788 01:00:24,000 --> 01:00:28,000 nii see toimib deklaratsiooni need muutujad 789 01:00:28,000 --> 01:00:35,000 ja ütleb $ i on võti, ja $ rida on väärtus. 790 01:00:35,000 --> 01:00:37,000 Jah, Ella. 791 01:00:37,000 --> 01:00:41,000 [Ella] Kui võtmeid ei ole teinud arvuliselt 792 01:00:41,000 --> 01:00:44,000 kuidas see otsustada millises järjekorras see saab printida kõike? 793 01:00:44,000 --> 01:00:47,000 Kas see lihtsalt meeldib et see on kantud? 794 01:00:47,000 --> 01:00:51,000 [Nate H.] Vaatame seda proovida. 795 01:00:51,000 --> 01:00:57,000 Loome muutuja nimega arr, 796 01:00:57,000 --> 01:01:06,000 ja mida me saame teha läheb 7. 797 01:01:06,000 --> 01:01:19,000 Oletame 0 läheb teise massiivi 1, 2, või õun. 798 01:01:19,000 --> 01:01:30,000 Oletame, et 7 läheb 1, b läheb 2 799 01:01:30,000 --> 01:01:39,000 ja 3 läheb 4. 800 01:01:39,000 --> 01:01:44,000 See on omamoodi hull otsin näiteks sellepärast, et me segades kuni 801 01:01:44,000 --> 01:01:47,000 stringid ja täisarvud kogu koht. 802 01:01:47,000 --> 01:01:50,000 Ei ole reaalne, et see massiiv. 803 01:01:50,000 --> 01:01:55,000 Ma mõtlen, et me võiks tellida kõike tähestikulises järjekorras võtmed. 804 01:01:55,000 --> 01:01:57,000 Võiksime tellida kõike tähestiku järgi väärtus. 805 01:01:57,000 --> 01:02:00,000 >> Võiksime proovida ja võtta arvesse, et mõned on stringid, mõned ints, 806 01:02:00,000 --> 01:02:03,000 ja me võiksime proovida ja muuta need kõik sama tüüpi ja vaata, mis juhtub, 807 01:02:03,000 --> 01:02:09,000 või me võiks kaaluda neile väärtuse, mille me juba sisestatud neid 808 01:02:09,000 --> 01:02:14,000 kus me paneme selle kuti esimene, see kutt teiseks see kutt kolmandaks 809 01:02:14,000 --> 01:02:19,000 see kutt neljandaks jne. 810 01:02:19,000 --> 01:02:23,000 Vaatame, mis juhtub, kui me teeme selle koodi. 811 01:02:23,000 --> 01:02:29,000 Kui me liikuge allapoole ja teha sama asi, 812 01:02:29,000 --> 01:02:31,000 ja siin see ei prindi välja uued liinid. 813 01:02:31,000 --> 01:02:35,000 Kui ta lugeda asju välja fail oli ka uute liinide väärtusi, 814 01:02:35,000 --> 01:02:38,000 mis oli, miks see välja printida kenasti, samas kui siin ei juhtunud midagi, 815 01:02:38,000 --> 01:02:40,000 nii et miks kõik on smushed koos. 816 01:02:40,000 --> 01:02:44,000 Olgem lisada uue rea lihtsalt teha asju kena. 817 01:02:44,000 --> 01:02:51,000 Teeme uuesti, see, ja nii siin 818 01:02:51,000 --> 01:02:54,000 vaadata, mis juhtus. 819 01:02:54,000 --> 01:03:00,000 See trükitakse kõik välja, millises järjekorras me seda ellu massiivi. 820 01:03:00,000 --> 01:03:10,000 See säilitamiseks et selles mõttes. 821 01:03:10,000 --> 01:03:15,000 >> Tulles tagasi selle probleemi unikaalsed 822 01:03:15,000 --> 01:03:20,000 kus me tahame, et oleks võimalik kinnitada, üle faili, 823 01:03:20,000 --> 01:03:24,000 ja me anname ta some_file.txt, 824 01:03:24,000 --> 01:03:27,000 ja me ei kavatse itereerime see niimoodi. 825 01:03:27,000 --> 01:03:31,000 Me ütlesime, et tahame kasutada massiivi veenduda, et olime saanud kõik 826 01:03:31,000 --> 01:03:36,000 ainulaadne read sealt välja, ja me võiksime teha, et tõesti lihtsalt 827 01:03:36,000 --> 01:03:49,000 poolt lihtsalt ladustamiseks array et me muidugi tunnistada väljapoole silmus, 828 01:03:49,000 --> 01:03:55,000 ja me ütlesime, et kui me kasutada faili ridade nagu võtmeid meie massiivi 829 01:03:55,000 --> 01:03:59,000 kui me läksime duplikaadi liin me tahaks olla ülekaaluka eelmine väärtus. 830 01:03:59,000 --> 01:04:08,000 See ei ole kunagi võimalik on 2 võtit, mis on identne sama massiivi. 831 01:04:08,000 --> 01:04:13,000 Me võime teha just seda. 832 01:04:13,000 --> 01:04:17,000 Me vabaneda sellest kaja avaldus siin. 833 01:04:17,000 --> 01:04:24,000 Siin me oleme ladustamiseks rida failis meie massiivi 834 01:04:24,000 --> 01:04:28,000 kasutades ennast võti. 835 01:04:28,000 --> 01:04:32,000 Sellest pole midagi, ja selgub, et me isegi ei pea seda klahvi all. 836 01:04:32,000 --> 01:04:38,000 Meil ei ole vaja, et ma muutuja. 837 01:04:38,000 --> 01:04:43,000 Sel hetkel, kui me seda teha teise foreach silmus 838 01:04:43,000 --> 01:04:48,000 ja me olime silmus üle iga arr 839 01:04:48,000 --> 01:04:56,000 ja joon nüüd kui me echo-oih, vabandust. 840 01:04:56,000 --> 01:05:00,000 Me ei saa kasutada koma. Me peame kasutama seda märksõna. 841 01:05:00,000 --> 01:05:05,000 Nüüd, kui me echo rida peaksime saama kõik unikaalne sõnu faili. 842 01:05:05,000 --> 01:05:10,000 Kui me läheme üles some_file.txt, 843 01:05:10,000 --> 01:05:19,000 ja oletame, et me teeme õun, banaan, õun, õun, banaan, 844 01:05:19,000 --> 01:05:22,000 kui me väljatrükk Kõike unikaalne sõnad seda faili peaksime ainult saada 845 01:05:22,000 --> 01:05:30,000 õun ja banaan välja trükkida. 846 01:05:30,000 --> 01:05:36,000 Kui me salvestada see nüüd siin me uuesti suurendate, 847 01:05:36,000 --> 01:05:44,000 php unique.php, ja ta-da. 848 01:05:44,000 --> 01:05:51,000 Oleme edukalt uniqued faili. 849 01:05:51,000 --> 01:05:55,000 >> Viimane osa sellest probleemist on teilt sorteerida seda massiivi enne trükitud välja 850 01:05:55,000 --> 01:05:58,000 sest see lihtne näide, et me oleme lihtsalt teinud 851 01:05:58,000 --> 01:06:04,000 meil vedas selles mõttes, et faili- 852 01:06:04,000 --> 01:06:06,000 me tegime seda kunstlik näiteks õunad ja banaanid. 853 01:06:06,000 --> 01:06:08,000 See oli juba järjestatud. 854 01:06:08,000 --> 01:06:19,000 Kuid kasutades lihtsaid omamoodi funktsiooni saate sortida massiivi, mis on päris vahva. 855 01:06:19,000 --> 01:06:24,000 Viimane asi, ma tahtsin rääkida teiega umbes tõesti kiiresti 856 01:06:24,000 --> 01:06:31,000 on see, et selline PHP on kõik hästi ja hea, ja see on super mugav 857 01:06:31,000 --> 01:06:43,000 teadma, kuidas seda teha, kui sa kunagi pead tegema vähe, kiire asjad programmiliselt. 858 01:06:43,000 --> 01:06:48,000 Näiteks, kui mul on vaja kirjutada programm, mis ütlevad, 859 01:06:48,000 --> 01:06:53,000 paneb kõik osadeks Ma ei kavatse minna ja kirjutada seda C. 860 01:06:53,000 --> 01:06:55,000 See saab olema pikk. 861 01:06:55,000 --> 01:06:57,000 See saab olema selline valu, eriti kui seal on faile kaasatud, 862 01:06:57,000 --> 01:07:00,000 nagu te näinud. 863 01:07:00,000 --> 01:07:05,000 See on nii tore, et just nii palju koodi siin 864 01:07:05,000 --> 01:07:08,000 suutsime rippida läbi faili, tõmmake kõik unikaalsed väärtused 865 01:07:08,000 --> 01:07:11,000 ja printida neid tagasi viia. 866 01:07:11,000 --> 01:07:16,000 >> Kuid oma ülesandeid, oma projekte, 867 01:07:16,000 --> 01:07:20,000 kui sa oled hoone veebilehed PHP võim on see, et 868 01:07:20,000 --> 01:07:25,000 meil hakkab meie PHP faile selles tõlk, 869 01:07:25,000 --> 01:07:29,000 ja tõlk töötleb kõik endast PHP sildid, 870 01:07:29,000 --> 01:07:34,000 jättes kõik muu puutumata ja sülitab välja tulemusi. 871 01:07:34,000 --> 01:07:40,000 Me saame seda teha, et ehitada HTML programmiliselt. 872 01:07:40,000 --> 01:07:46,000 Nüüd, kui me tagasi minna spec, viimane probleem spec 873 01:07:46,000 --> 01:07:56,000 räägib see idee kontsentratsiooni 874 01:07:56,000 --> 01:08:01,000 ja luues rippmenüüst, 875 01:08:01,000 --> 01:08:06,000 mis te võib või ei taha seda teha, sõltuvalt sellest, mida oma lõpliku projekti teeb, 876 01:08:06,000 --> 01:08:13,000 mis võimaldab kasutajal valida loendist kõik võimalikud kontsentratsioonid 877 01:08:13,000 --> 01:08:15,000 nende ühe kontsentratsiooniga. 878 01:08:15,000 --> 01:08:21,000 Nüüd on see selline valu kirjutada seda välja 879 01:08:21,000 --> 01:08:25,000 ja pean seda kõike käsitsi, eriti kui sul on veenduda 880 01:08:25,000 --> 01:08:28,000 et teil on kõik noolsulgudes õiges kohas ja kõik jutumärgid õiges kohas, 881 01:08:28,000 --> 01:08:34,000 nii PHP seda saab teha programmiliselt ja seda saab teha väga kiiresti. 882 01:08:34,000 --> 01:08:36,000 >> Vaatame, kuidas seda teha. 883 01:08:36,000 --> 01:08:42,000 Me läheme avada uus fail. 884 01:08:42,000 --> 01:08:46,000 Me läheme panna meie PHP sildid. 885 01:08:46,000 --> 01:08:53,000 Me läheme seda kutsuda concentrations.php, 886 01:08:53,000 --> 01:08:58,000 ja nüüd, kui sa seda teed, selline hea asi, mida mõelda 887 01:08:58,000 --> 01:09:02,000 kui sa üritad segada ja sobitada oma PHP ja HTML 888 01:09:02,000 --> 01:09:08,000 on figuring, okei, mis on osa, mida ma tahan programmiliselt luua? 889 01:09:08,000 --> 01:09:11,000 Mis on see osa, ma ei programmiliselt luua? 890 01:09:11,000 --> 01:09:17,000 On tõsi, et saate teha kõik oma HTML 891 01:09:17,000 --> 01:09:19,000 sees PHP plokke. 892 01:09:19,000 --> 01:09:24,000 Võite echo kõik HTML nagu stringid. 893 01:09:24,000 --> 01:09:30,000 Näiteks kui ma tahan alustada teed valige sildid sees PHP 894 01:09:30,000 --> 01:09:46,000 Võin öelda, kaja, ütleme valige nimi = kontsentratsioon, 895 01:09:46,000 --> 01:09:49,000 ja siis allapoole Oleksin võinud teise kaja tag 896 01:09:49,000 --> 01:09:57,000 või teise kaja nimetatakse tihedat valida. 897 01:09:57,000 --> 01:10:00,000 See on üks viis seda teha, sest mis see on sõna otseses mõttes teeme 898 01:10:00,000 --> 01:10:09,000 on välja printida seda stringi kui see läbib PHP tõlk, 899 01:10:09,000 --> 01:10:12,000 nii on tulemus HTML. 900 01:10:12,000 --> 01:10:18,000 Kui salvestada see fail on õige nüüd 901 01:10:18,000 --> 01:10:24,000 ja ma saan php concentrations.php 902 01:10:24,000 --> 01:10:26,000 vaata mis ma sain. 903 01:10:26,000 --> 01:10:30,000 Mul on see avatud lähedale valige silt. 904 01:10:30,000 --> 01:10:36,000 >> Kui ma seda teha ja ma ei päästa see tulemus faili, 905 01:10:36,000 --> 01:10:45,000 öelda, concentrations.html-oota, see näeb välja nagu l on läinud üle teisele poole- 906 01:10:45,000 --> 01:11:02,000 nüüd kui ma avada siin concentrations.html näed mul korrektse HTML-faili. 907 01:11:02,000 --> 01:11:05,000 Kas see imelik? 908 01:11:05,000 --> 01:11:09,000 Me kasutame PHP luua HTML, tekitada kehtiv HTML. 909 01:11:09,000 --> 01:11:13,000 Kuidas me teeme seda on me lihtsalt võttes PHP prindi 910 01:11:13,000 --> 01:11:16,000 HTML et me tahame seda printida. 911 01:11:16,000 --> 01:11:20,000 See on sõna otseses mõttes, kuidas PHP veebilehed töötavad. 912 01:11:20,000 --> 01:11:24,000 Kui külastate veebilehte, mis saadab sind midagi 913 01:11:24,000 --> 01:11:30,000 midagi, midagi, midagi dot com kaldkriips index.php 914 01:11:30,000 --> 01:11:33,000 arvuti on sõna otseses mõttes kutsutakse üles index.php, 915 01:11:33,000 --> 01:11:38,000 töötab ta läbi PHP tõlk, ja mis iganes rämps väljub 916 01:11:38,000 --> 01:11:49,000 ta on saatnud tagasi brauser ja ütleb hei, brauser, tõlgendab seda kui HTML. 917 01:11:49,000 --> 01:11:54,000 Tore asi on see, et see võib valu pidevalt kirjutada kaja, kaja, kaja, kaja 918 01:11:54,000 --> 01:11:59,000 ja pange kõik hinnapakkumisi niimoodi, et kui sa tahad kirjutada 919 01:11:59,000 --> 01:12:04,000 HTML et see saab olema staatiline ise saate seda teha niimoodi, 920 01:12:04,000 --> 01:12:16,000 pane see väljaspool, sulgege see, 921 01:12:16,000 --> 01:12:21,000 ja siin sa panna ainult sees PHP sildid, mis sa tead 922 01:12:21,000 --> 01:12:26,000 soovite programmiliselt luua, ja sel juhul on see nende valik silte 923 01:12:26,000 --> 01:12:31,000 mis on valu tekitada. 924 01:12:31,000 --> 01:12:37,000 >> Näiteks võiksime luua tuhat võimalust silte 925 01:12:37,000 --> 01:12:48,000 tehes midagi sellist, $ i <1000, i + + 926 01:12:48,000 --> 01:13:00,000 ja öeldes kaja optsiooni väärtus = $-Ups, ma ei saa seda teha. 927 01:13:00,000 --> 01:13:03,000 Noh, seda proovida ja vaadata, mis juhtub. 928 01:13:03,000 --> 01:13:22,000 $ I ja siis ütlevad $ i 01:13:27,000 Selle asemel et kirjutada, et valik tag tuhat eri aegadel 930 01:13:27,000 --> 01:13:33,000 Ma kasutan PHP koodi genereerida see automaatselt, programmiliselt. 931 01:13:33,000 --> 01:13:38,000 Kuidagi vahva. Jah. 932 01:13:38,000 --> 01:13:41,000 Ma mäletan seda on mainitud kas loengu või ülevaadet, 933 01:13:41,000 --> 01:13:43,000 aga mis vahe on jutumärkides, 934 01:13:43,000 --> 01:13:45,000 need normaalsed ja need ühte asja? 935 01:13:45,000 --> 01:13:49,000 See on tegelikult midagi, mida olen teinud valesti siin, et ma lähen näitan sulle. 936 01:13:49,000 --> 01:13:52,000 Ülakoma ei luba mingeid erilisi märke, 937 01:13:52,000 --> 01:13:57,000 nii et kõik sees ühe jutumärkides stringi tõlgendada grammatiliselt. 938 01:13:57,000 --> 01:14:02,000 Kui mul oleks \ n sees ülakoma ja ma salvestada see näiteks 939 01:14:02,000 --> 01:14:07,000 ja nüüd ma lähen siia alla ja käivitage see- 940 01:14:07,000 --> 01:14:12,000 Oih, kus ma lähen? 941 01:14:12,000 --> 01:14:19,000 Oh, see on, sest ma unustasin $. 942 01:14:19,000 --> 01:14:25,000 >> Nüüd, kui ma avada-tegelikult, siin, me vabaneda kirjutades seda faili. 943 01:14:25,000 --> 01:14:27,000 Me lihtsalt lugeda. 944 01:14:27,000 --> 01:14:34,000 Siin näete, et mul on see sõnasõnaline \ n stringi, nagu ei tegelik uuele reale 945 01:14:34,000 --> 01:14:38,000 ja samamoodi asemel tegelikult interpoleerimise väärtus muutuja 946 01:14:38,000 --> 01:14:42,000 see andis mulle $ i ise, mis on selline valu. 947 01:14:42,000 --> 01:14:46,000 Teistpidi on kasutada jutumärkide, 948 01:14:46,000 --> 01:14:52,000 ja siis kui sa kasutada jutumärkides see tegelikult 949 01:14:52,000 --> 01:14:56,000 korralikult interpoleerima väärtused kõik need muutujad siin 950 01:14:56,000 --> 01:14:59,000 ja tunnustada ka seda \ n tuleb uus rida, mis on 951 01:14:59,000 --> 01:15:02,000 ja ei \ n. 952 01:15:02,000 --> 01:15:07,000 Kasutades ühe neist on tore, kui teil on 953 01:15:07,000 --> 01:15:10,000 märgid, mida võiks tõlgendada kui erimärke, sest siis ei pea 954 01:15:10,000 --> 01:15:15,000 põgeneda neid pidevalt. 955 01:15:15,000 --> 01:15:18,000 Asjad saavad räpane, ja sageli, kuidas ma seda teha, 956 01:15:18,000 --> 01:15:24,000 lihtsalt teha asju lihtsalt, on see, et kui ma lähen midagi 957 01:15:24,000 --> 01:15:31,000 HTML meeldib minu koodi ma lisan ka edit jooksul ülakoma 958 01:15:31,000 --> 01:15:36,000 ja seda siis kasutada konkatenatsioonioperaator 959 01:15:36,000 --> 01:15:43,000 kuni concatenate muutujad sisse 960 01:15:43,000 --> 01:15:47,000 See on teine ​​viis seda teha 961 01:15:47,000 --> 01:15:52,000 kus meil dot et läheb ühenda see on string 962 01:15:52,000 --> 01:15:56,000 koos seda see seda, 963 01:15:56,000 --> 01:15:59,000 ja nüüd ma ei pea põgeneda need jutumärgid. 964 01:15:59,000 --> 01:16:02,000 Ma ei pea kasutama seda kutti põgeneda. 965 01:16:02,000 --> 01:16:08,000 Nad sõna otseses mõttes välja trükkida jutumärkides ja siis see kutt siin. 966 01:16:08,000 --> 01:16:11,000 See on üks viis segamine kõike koos. 967 01:16:11,000 --> 01:16:14,000 >> [Student] Ka siis, kui sa kordas gettype ei olnud jutumärkides üldse. 968 01:16:14,000 --> 01:16:22,000 Õige, nii echo on selline eriline selles mõttes, et sa ei pea sulgudes. 969 01:16:22,000 --> 01:16:29,000 Sa ei pea olema jutumärgid tingimata ümber muutujad, 970 01:16:29,000 --> 01:16:37,000 nagu see on asjakohane väita echo $ i, ja see saab seda tõlgendada kui stringi. 971 01:16:37,000 --> 01:16:44,000 See saab teha valatud, nii et me võiks seda teha, ja see on kehtiv ka, aga me ei vaja seda. 972 01:16:44,000 --> 01:16:48,000 See on vabatahtlik. 973 01:16:48,000 --> 01:16:53,000 Sel nädalal lahendamist tutvu palju sellist kraami 974 01:16:53,000 --> 01:16:58,000 kuhu segamine ja sobitamine HTML PHP 975 01:16:58,000 --> 01:17:08,000 lihtsalt meeldib see, ja nüüd, kui me liikuge tagasi ja me teeme selle 976 01:17:08,000 --> 01:17:13,000 näeme, et meil on terve hunnik võimalus väärtused 977 01:17:13,000 --> 01:17:15,000 mis just välja printida. 978 01:17:15,000 --> 01:17:20,000 Me kõik oleme seda HTML, mis sai loodud väga kiiresti meie jaoks. 979 01:17:20,000 --> 01:17:22,000 Ma jätan seda kasutada. 980 01:17:22,000 --> 01:17:24,000 See on väga sarnane failide lugemisel, et me tegime varem. 981 01:17:24,000 --> 01:17:31,000 >> On concentrations.txt fail, saab tõmmata maha CDN, 982 01:17:31,000 --> 01:17:34,000 ja saate selle avada, kasutades sama foreach trikk, mis me tegime varem, 983 01:17:34,000 --> 01:17:39,000 ja foreach sa lihtsalt echo valik ja ühendage 984 01:17:39,000 --> 01:17:44,000 asjakohaste väärtuste, sobivaid võtmeid ja indeksid, 985 01:17:44,000 --> 01:17:49,000 ja siis sa saad rippmenüüst et sõna otseses mõttes loob 986 01:17:49,000 --> 01:17:54,000 programmiliselt teile kõik erinevad kontsentratsioonid Harvardi. 987 01:17:54,000 --> 01:17:57,000 Mugav asi on. 988 01:17:57,000 --> 01:18:02,000 On palju konfiguratsiooni kraami seda ülesannet. 989 01:18:02,000 --> 01:18:07,000 Kui te pole seda teinud juba astuda järgmine pool tundi, tund, 990 01:18:07,000 --> 01:18:10,000 mõnda aega täna kindlasti kindel, 991 01:18:10,000 --> 01:18:14,000 kõndida läbi lahendamist spec, 992 01:18:14,000 --> 01:18:20,000 vaata, mis toimub koos luua vhosts, kohaliku hosti, kõik see kraam. 993 01:18:20,000 --> 01:18:24,000 Üks asi meelde kohe, et 994 01:18:24,000 --> 01:18:30,000 enamikus probleem seab oleme käinud oma Dropbox kausta 995 01:18:30,000 --> 01:18:34,000 ja siis allalaadimine lahendamist zip faili ja unzipping ta. 996 01:18:34,000 --> 01:18:36,000 Selle probleemi komplekt sa ei taha. 997 01:18:36,000 --> 01:18:40,000 Sa tahad minna sinna vhosts kataloog. 998 01:18:40,000 --> 01:18:45,000 Sa tahad minna vhosts ja minna kohaliku hosti kataloogi piires, 999 01:18:45,000 --> 01:18:50,000 ja see on koht, kus sa tahad lammutama zip faili, 1000 01:18:50,000 --> 01:18:55,000 unzip see ja saada valmis minema. 1001 01:18:55,000 --> 01:18:57,000 Sa pead järgige tähelepanelikult. 1002 01:18:57,000 --> 01:19:02,000 >> Kui teil on küsimusi, saatke e-kiri, postitada selle Arutle, tulevad tööajal. 1003 01:19:02,000 --> 01:19:08,000 Thanks guys. Järgmine nädal me lähed on läbivaatamise istungil viktoriini. 1004 01:19:08,000 --> 01:19:12,000 Nautige oma viimase lahendamist. Loodan, et kõik läheb väga hästi. 1005 01:19:12,000 --> 01:19:14,000 [CS50.TV]