1 00:00:00,000 --> 00:00:04,410 >> [MUSIC nagpe-play] 2 00:00:04,410 --> 00:00:12,250 3 00:00:12,250 --> 00:00:15,770 >> Tagapagsalita 1: Ito ang CS50 at ito ay ang katapusan ng linggo pitong. 4 00:00:15,770 --> 00:00:20,240 Ngayon ay marahil na kung saan namin talagang pagtuturo sa iyo ng mga wika. 5 00:00:20,240 --> 00:00:24,100 Ipinakilala namin sa nakalipas na ilang linggo ng HTML at CSS, alinman sa kung saan 6 00:00:24,100 --> 00:00:25,240 ay programming languages. 7 00:00:25,240 --> 00:00:28,600 At sa katunayan, kahit kami ay hindi tingnan ay halos lahat ng mga tag 8 00:00:28,600 --> 00:00:33,410 na HTML ay dumating sa at halos lahat sa mga katangian na nanggagaling CSS sa, 9 00:00:33,410 --> 00:00:35,007 na ang uri ng mga ito para sa HTML at CSS. 10 00:00:35,007 --> 00:00:36,840 Bibigyan namin karaniwang lamang magsimula sa pag-aakala na kayo 11 00:00:36,840 --> 00:00:39,545 maunawaan ang pangkalahatang ideya ng mga tag, at mga katangian, 12 00:00:39,545 --> 00:00:41,850 at mga pahina na ipinadala mula sa client sa server. 13 00:00:41,850 --> 00:00:45,280 >> Dahil ngayon namin simulan upang tumingin sa ibang programming language, PHP. 14 00:00:45,280 --> 00:00:47,110 Kami ay pagpunta sa gawin ito sobrang mabilis. 15 00:00:47,110 --> 00:00:50,910 Hindi namin pagpunta sa magturo sa iyo PHP per se, marami tulad namin ay hindi maghangad na magturo sa iyo 16 00:00:50,910 --> 00:00:52,670 C, per se, ngunit sa halip ng programming. 17 00:00:52,670 --> 00:00:55,088 At sa katunayan, ang isa sa mga layunin para sa kursong ito 18 00:00:55,088 --> 00:00:57,820 ay hindi na magturo sa iyo C, o HTML, o CSS, o PHP, 19 00:00:57,820 --> 00:01:00,370 o anumang bilang ng iba pang mga salita buzz o acronym, 20 00:01:00,370 --> 00:01:03,097 ngunit sa halip ang computer science at kung paano programa sa panimula. 21 00:01:03,097 --> 00:01:05,930 At sa katunayan, ngayon namin simulan upang kumuha ng mga training wheels off ang lahat ng mga 22 00:01:05,930 --> 00:01:10,600 pa sa pamamagitan ng paglipad sa pamamagitan ng isang wika na tinatawag na PHP, tulad ng sumusunod. 23 00:01:10,600 --> 00:01:13,640 >> Narito ang kung ano ang hitsura wikang ito gusto. 24 00:01:13,640 --> 00:01:17,790 Lumalabas na hindi na kailangan para sa isang pangunahing pag-andar sa isang programa na nakasulat 25 00:01:17,790 --> 00:01:19,470 sa isang wika na tinatawag na PHP. 26 00:01:19,470 --> 00:01:22,585 Kaya na naka-tunog ng isang maliit na mas simple kaysa sa C, na kung saan kami ay pamilyar. 27 00:01:22,585 --> 00:01:25,370 Ito ay lumiliko out na kung ikaw nais na idedeklara isang variable, 28 00:01:25,370 --> 00:01:29,470 gawin mo ito halos identically sa C. Ngunit mayroong malinaw na isa pagkakaiba dito 29 00:01:29,470 --> 00:01:31,850 kapag ipinapahayag ko ang isang string, o marahil dalawang mga pagkakaiba. 30 00:01:31,850 --> 00:01:32,725 Ano ang hitsura ng iba't ibang? 31 00:01:32,725 --> 00:01:35,810 32 00:01:35,810 --> 00:01:37,160 >> Madla: Ang dollar sign. 33 00:01:37,160 --> 00:01:39,951 >> Tagapagsalita 1: Oo, may dollar pipirmahan, na hindi namin nakita bago. 34 00:01:39,951 --> 00:01:41,451 At kung ano ang nawawala? 35 00:01:41,451 --> 00:01:41,950 Oo? 36 00:01:41,950 --> 00:01:42,820 >> Madla: [hindi marinig] 37 00:01:42,820 --> 00:01:44,403 >> Tagapagsalita 1: Oo, hindi na uri ng data. 38 00:01:44,403 --> 00:01:48,410 Kaya ito ay lumiliko out na PHP ay kung ano ang aming tumawag sa isang maluwag type na wika, na kung saan ang 39 00:01:48,410 --> 00:01:49,959 C Mahigpit na-type. 40 00:01:49,959 --> 00:01:52,500 Maluwag na-type lamang ay nangangahulugan na mayroong iba't ibang mga uri ng data, 41 00:01:52,500 --> 00:01:54,470 may mga string, at ints, at sa kamay. 42 00:01:54,470 --> 00:01:56,330 Ngunit ang mga numero sa computer na out. 43 00:01:56,330 --> 00:01:58,664 Ikaw ang programmer ng tao Hindi mo na kailangang malaman ito. 44 00:01:58,664 --> 00:02:00,580 Kaya lahat ng kailangan mong gawin idedeklara ang isang variable ay 45 00:02:00,580 --> 00:02:03,220 dollar sign, ang pangalan ng iyong variable, at pagkatapos ay, halimbawa, 46 00:02:03,220 --> 00:02:04,760 quote magpanipi, hello mundo. 47 00:02:04,760 --> 00:02:07,662 >> Well ito ay kung ano ang isang kalagayan kamukha sa PHP. 48 00:02:07,662 --> 00:02:08,328 Anumang pagkakaiba? 49 00:02:08,328 --> 00:02:10,650 50 00:02:10,650 --> 00:02:11,150 Hindi. 51 00:02:11,150 --> 00:02:12,540 Kaya ito ay lumiliko out ang mga ito ay magkapareho. 52 00:02:12,540 --> 00:02:14,665 At maaari kang magkaroon ng mas kaunting mga sanga o higit pang mga sanga, 53 00:02:14,665 --> 00:02:16,557 ngunit ang syntax liko out eksaktong pareho. 54 00:02:16,557 --> 00:02:18,390 Boolean expression Maaari orderin magkasama. 55 00:02:18,390 --> 00:02:20,400 Boolean expression maaaring anded magkasama. 56 00:02:20,400 --> 00:02:21,430 May switch mo pa rin. 57 00:02:21,430 --> 00:02:23,790 Kahit na hindi mo pa nagamit ng mga ito, ang mga ito ay umiiral sa C 58 00:02:23,790 --> 00:02:26,020 at ang mga ito sa pagtakbo katumbas sa PHP. 59 00:02:26,020 --> 00:02:28,260 >> At sa katunayan, sa PHP na ang mga ito mas malakas ng kaunti. 60 00:02:28,260 --> 00:02:32,540 Sa C, maaari lamang ihambing mo ang ilang mga uri ng data tulad ng ints at char, 61 00:02:32,540 --> 00:02:36,320 samantalang sa PHP maaari mong aktwal na ihambing buong simulan string nang hindi na kinakailangang 62 00:02:36,320 --> 00:02:38,460 mag-alala tungkol sa mga payo at ang gusto. 63 00:02:38,460 --> 00:02:39,430 Kaya dito ay isang para sa loop. 64 00:02:39,430 --> 00:02:41,270 Ito ay lamang ng pseudocode code, kung ikaw ay. 65 00:02:41,270 --> 00:02:43,400 Ngunit structurally ito ay magkapareho sa C. 66 00:02:43,400 --> 00:02:47,520 >> Narito ang isang habang loop, pseudocode therefore-- magkapareho sa C. 67 00:02:47,520 --> 00:02:49,390 Narito ang isang gawin habang loop-- magkapareho. 68 00:02:49,390 --> 00:02:51,390 At kaya may mga uri ng ang pattern na ito dito kung saan ang 69 00:02:51,390 --> 00:02:54,400 mayroong ilang mga iba pang syntactic mga tampok sa katunayan kami ay pagpunta upang makita. 70 00:02:54,400 --> 00:02:57,340 Sa katunayan, dito ay isang magandang paraan sa PHP kung saan, 71 00:02:57,340 --> 00:02:59,350 kung gusto mong umulit sa ibabaw ng isang array, at ikaw 72 00:02:59,350 --> 00:03:02,309 ayaw mong tumalon sa pamamagitan ng mental at sintaktik hoops ng pagkakaroon 73 00:03:02,309 --> 00:03:05,178 int i katumbas ng 0, i mas mababa kaysa n, i plus plus-- saan 74 00:03:05,178 --> 00:03:07,040 ay lamang ng isang pulutong ng mga nakakainis na mga syntax. 75 00:03:07,040 --> 00:03:10,654 Maaari mong sabihin ng kaunti pa fluidly para sa bawat numero 76 00:03:10,654 --> 00:03:13,320 ng numero, kung saan sa kasong ito sign numero dollar, Ako ipagpalagay, 77 00:03:13,320 --> 00:03:15,400 ay tulad ng isang array na tinatawag na numero. 78 00:03:15,400 --> 00:03:18,810 At pagkatapos ay ako sa pag-aakala na numero, isahan, ay magiging isang variable. 79 00:03:18,810 --> 00:03:22,940 >> At kung ano ang PHP ay gagawin para sa akin bilang ako umulit higit na ito loop ay, sa bawat pag-ulit, 80 00:03:22,940 --> 00:03:28,450 ito ay pagpunta update ang variable na numero sa maging ang mga elemento ith sa mga numero, plural. 81 00:03:28,450 --> 00:03:30,060 Kaya humahawak ito lamang ang lahat ng iyon para sa akin. 82 00:03:30,060 --> 00:03:32,750 Walang mga square bracket, walang dollar sign, walang semi-colons. 83 00:03:32,750 --> 00:03:34,117 Ito ay lamang ng isang maliit na mas simple. 84 00:03:34,117 --> 00:03:35,950 Well, kung gusto mo ng array, ito ay lumiliko out ka 85 00:03:35,950 --> 00:03:38,908 maaaring gawin ang isang bagay na medyo kapareho sa C. Ang syntax ay medyo naiiba. 86 00:03:38,908 --> 00:03:41,000 Ngunit dito ay isang array na tinatawag na dollar sign numero. 87 00:03:41,000 --> 00:03:44,261 At ginagamit ko, sa PHP, square bracket, ito ay lumiliko out. 88 00:03:44,261 --> 00:03:47,260 At kami ay pagpunta upang makita muli ang mga ito sa JavaScript-- pa ng isa pang wika. 89 00:03:47,260 --> 00:03:49,968 Ko na lang gamitin square bracket pagtatanda na magkaroon ng isang listahan ng mga comma separated 90 00:03:49,968 --> 00:03:51,530 ng integer, sa kasong ito. 91 00:03:51,530 --> 00:03:53,010 Ngunit iyon ay nagbibigay sa akin ng isang array. 92 00:03:53,010 --> 00:03:56,270 >> Ngunit kahit na mas makapangyarihan sa PHP, Mayroon din namin kung ano ang mga karaniwang 93 00:03:56,270 --> 00:03:57,640 tinatawag na nag-uugnay array. 94 00:03:57,640 --> 00:03:59,540 At ng maraming mga wika Mayroon ang mga ito pati na rin. 95 00:03:59,540 --> 00:04:03,810 Ang mga bagay tungkol C array ay na ang mga ini-index 96 00:04:03,810 --> 00:04:06,940 para sa isang array, ang mga bagay na iyong gamitin sa mga square bracket sa pamamagitan ng na 97 00:04:06,940 --> 00:04:08,600 access mo elemento, dapat na kung ano? 98 00:04:08,600 --> 00:04:10,620 >> Madla: [hindi marinig] 99 00:04:10,620 --> 00:04:14,220 >> Tagapagsalita 1: Mayroon silang maging mga numero o integer, partikular na mula sa zero sa up. 100 00:04:14,220 --> 00:04:17,140 Well, sa PHP, at, ito ay lumiliko out, sa ibang wika, 101 00:04:17,140 --> 00:04:20,820 maari kayong magsimula na may index na hindi numeric. 102 00:04:20,820 --> 00:04:23,880 Ngunit ang mga ito ang tunay na mga salita o parirala, sa gayon ay sa halip na 103 00:04:23,880 --> 00:04:27,070 subukan na tandaan na kung saan ang isang bagay ay, o naka-imbak sa isang variable i, 104 00:04:27,070 --> 00:04:31,720 Maaari mong aktwal na gamitin ang isang salita at sabihin na- maaari mong sabihin ng isang salita tulad nito. 105 00:04:31,720 --> 00:04:34,730 >> Kaya dollar sign quote ay ang pangalan ng isang variable dito. 106 00:04:34,730 --> 00:04:39,360 Ito ay medyo funky syntax iyon ang pag-uugnay ng dalawang susi halaga 107 00:04:39,360 --> 00:04:41,250 pares para sa mga variable na ito. 108 00:04:41,250 --> 00:04:45,490 Partikular, ito ay nagbibigay sa akin isang array na ay ng 2 haba. 109 00:04:45,490 --> 00:04:47,660 Ngunit ang index ay hindi 0 at 1. 110 00:04:47,660 --> 00:04:51,250 Ang index ay quote magpanipi simbolo at presyo magpanipi quote. 111 00:04:51,250 --> 00:04:55,990 At ang mga halaga ng mga ini-index, ayon sa pagkakabanggit, ay FB para sa Facebook 112 00:04:55,990 --> 00:05:00,360 at $ 79.53, kapag huling ko naka-check ang isang presyo para sa mga ito. 113 00:05:00,360 --> 00:05:01,210 >> Ano ang ibig sabihin nito? 114 00:05:01,210 --> 00:05:04,136 Well, ito ay nangangahulugan na sa halip ng pagsulat ng code 115 00:05:04,136 --> 00:05:09,612 tulad nito, kung saan ginamit ko upang gawin ang isang bagay tulad ng dollar sign-- o sa halip, sa C 116 00:05:09,612 --> 00:05:11,070 Hindi ko kahit na magkaroon ng isang dollar sign. 117 00:05:11,070 --> 00:05:13,490 Gusto ko ng isang bagay tulad ng mga quote at pagkatapos ay 118 00:05:13,490 --> 00:05:18,410 Gusto kong gawin bracket i upang makakuha ng sa ilang mga nagkataon ayon sa bilang na-index na halaga. 119 00:05:18,410 --> 00:05:21,430 Simula ngayon sa PHP, kung ikaw nais na makakuha ng sa ilang mga halaga, 120 00:05:21,430 --> 00:05:24,742 uri ng kami ng mas semantic expressiveness. 121 00:05:24,742 --> 00:05:27,450 Lamang ng isang magarbong paraan ng sinasabi ng aming makakaya tumawag lamang sa mga bagay-bagay kung ano sila. 122 00:05:27,450 --> 00:05:29,800 >> At kung gusto mong makakuha ng sa simbolo ng isang bagay, 123 00:05:29,800 --> 00:05:32,180 ngayon mo literal na gawin quote magpanipi symbol 124 00:05:32,180 --> 00:05:34,910 sa square bracket sa halip ng isang lamang number. 125 00:05:34,910 --> 00:05:36,450 Kaya ito ay isang magandang kaginhawaan. 126 00:05:36,450 --> 00:05:38,140 At na uri ng mga ito sa ngayon. 127 00:05:38,140 --> 00:05:40,240 May kumpol na iba pang mga tampok sa PHP. 128 00:05:40,240 --> 00:05:43,180 At sa katunayan, PHP ay may kilalang-kilala panlipunan. 129 00:05:43,180 --> 00:05:48,640 Dose-dosenang, daan-daan ng mga function ay may Kaya maraming PHP-- higit nagmula sa C. 130 00:05:48,640 --> 00:05:51,360 >> At iyan ay hindi inilaan upang matabunan ngunit sa halip ng tulong 131 00:05:51,360 --> 00:05:53,900 nauunawaan mo na kami ay walang na kailangang magsulat ng code 132 00:05:53,900 --> 00:05:55,590 na uri ng down dito conceptually. 133 00:05:55,590 --> 00:05:58,465 Ngayon ay maaari naming lamang simulan ang pagkuha bentahe ng mas advanced na mga tampok 134 00:05:58,465 --> 00:05:59,920 na wika tulad ng PHP mayroon. 135 00:05:59,920 --> 00:06:02,630 Kaya hindi namin kailangang mag-alala tungkol sa paglipat ng mga bagay sa paligid sa memory. 136 00:06:02,630 --> 00:06:05,338 Hindi namin kailangang mag-alala tungkol sa malloc at ang lahat ng mga mas mababang antas, 137 00:06:05,338 --> 00:06:09,390 malakas na mga detalye na ikaw makipagbuno sa, kung hindi na laban sa, pset5, 138 00:06:09,390 --> 00:06:13,380 ngunit maaari kang magsimula sa sa lalong madaling panahon ang mga ibinibigay. 139 00:06:13,380 --> 00:06:17,770 >> Sa katunayan, magsulat ng isang super ipaalam simpleng programa sa PHP, tulad ng sumusunod. 140 00:06:17,770 --> 00:06:21,550 Pupunta ako sa pumunta ulo sa CS50 IDE dito, at kung ano ang ako pagpunta sa gawin 141 00:06:21,550 --> 00:06:29,370 ay lumikha ng isang bagong file, na tunay lamang ay magiging tinatawag na halo dot PHP. 142 00:06:29,370 --> 00:06:31,860 Kaya sa halip na tuldok c, ito ay pagpunta sa ay tinatawag na tuldok PHP. 143 00:06:31,860 --> 00:06:34,260 At pagkatapos ay sa file na ito, Maaari ko bang simulan ang pag-type. 144 00:06:34,260 --> 00:06:36,960 Ngunit ito ay lumiliko out na ang mga isang bagay na kailangan kong malaman 145 00:06:36,960 --> 00:06:41,470 ay na ang anumang PHP file sa pangkalahatan, ang mga pangangailangan upang simulan na may ilang mga espesyal na syntax. 146 00:06:41,470 --> 00:06:44,570 Katulad sa espiritu sa HTML, ngunit muli, PHP ay isang programming language, hindi 147 00:06:44,570 --> 00:06:45,590 isang markup language. 148 00:06:45,590 --> 00:06:48,700 >> Kaya ang bawat file, at ito ay isang uri ng tangang naghahanap Kukunin ko umamin. 149 00:06:48,700 --> 00:06:50,480 Open bracket, tandang pananong, PHP. 150 00:06:50,480 --> 00:06:53,060 At ito lamang ang paraan wika ng sinasabi, 151 00:06:53,060 --> 00:06:58,400 hey, dito ay ilang mga code sa computer nakasulat sa isang wika na tinatawag na PHP. 152 00:06:58,400 --> 00:07:01,900 At pagkatapos ay sa dulo ng iyong mga file, gawin mong uri ng uri ng ang kabaligtaran. 153 00:07:01,900 --> 00:07:04,860 Hindi mo isulat muli PHP, ikaw lamang gawin tandang pananong, angle bracket. 154 00:07:04,860 --> 00:07:08,500 At pagkatapos ay anumang bagay ilagay mo sa loob ng mga ito ng dalawang mga tag, kaya na magsalita, 155 00:07:08,500 --> 00:07:11,490 ay magiging, o dapat ay PHP code,. 156 00:07:11,490 --> 00:07:13,180 >> Kaya sabihin gawin sobrang simple ang isang bagay. 157 00:07:13,180 --> 00:07:19,370 Pupunta ako sa magpatuloy at gawin print def, hello world, backslash n, i-save. 158 00:07:19,370 --> 00:07:27,310 At ngayon sa aking prompt, Pupunta ako sa gawin, gumawa hello-- no, ako pagpunta sa gawin, 159 00:07:27,310 --> 00:07:28,726 dot slash hello. 160 00:07:28,726 --> 00:07:31,250 Hindi, tuldok slash, hm. 161 00:07:31,250 --> 00:07:32,990 Kaya ang isang bagay ay naiiba. 162 00:07:32,990 --> 00:07:36,920 At sa katunayan, ito ay isang mahalagang pagkakaiba pagitan ng PHP at wika tulad C. C 163 00:07:36,920 --> 00:07:38,730 ay isang tinatawag na naipon wika. 164 00:07:38,730 --> 00:07:40,929 Ano ang ibig sabihin para sa C na naipon? 165 00:07:40,929 --> 00:07:41,970 Ano ang implikasyon? 166 00:07:41,970 --> 00:07:42,898 Oo. 167 00:07:42,898 --> 00:07:45,220 >> Madla: Isinulat ito sa machine code kaya ito ay maaaring magpatakbo ng mga computer. 168 00:07:45,220 --> 00:07:46,011 >> Tagapagsalita 1: Eksakto. 169 00:07:46,011 --> 00:07:49,075 Mayroon kaming upang unang-convert ito sa tinatawag machine code, zero at mga, 170 00:07:49,075 --> 00:07:51,950 bago ito ay tunay na maging executable at naiintindihan ng mga computer. 171 00:07:51,950 --> 00:07:52,840 Sa pamamagitan ng Intel sa loob. 172 00:07:52,840 --> 00:07:54,530 Sa pamamagitan ng ang CPU sa loob ng computer. 173 00:07:54,530 --> 00:07:58,170 PHP, sa pamamagitan ng kaibahan, ay kung ano ang tawag dito isang interpreted wika, na kung saan 174 00:07:58,170 --> 00:08:02,230 Nangangahulugan ito na hindi mo na itala ito sa zero at mga, machine code, 175 00:08:02,230 --> 00:08:04,360 sa iyo sa halip iwanan ito bilang source code. 176 00:08:04,360 --> 00:08:08,130 At sa iyo sa halip na pumasa ito sa lalong input sa isang programa, ang isang interpreter 177 00:08:08,130 --> 00:08:11,960 na may ibang tao na sinulat taon na nakalipas na nauunawaan ito 178 00:08:11,960 --> 00:08:14,310 linya sa pamamagitan ng linya, ng character para sa character. 179 00:08:14,310 --> 00:08:16,120 Kaya sa ibang salita, mga tao out there na sinulat 180 00:08:16,120 --> 00:08:19,670 isang programa na ang magiging hitsura sa iyong code linya sa pamamagitan ng linya, 181 00:08:19,670 --> 00:08:21,680 at malaman kung ano dapat gawin ang mga computer, 182 00:08:21,680 --> 00:08:25,960 walang pag-convert ito direkta sa zero at mga. 183 00:08:25,960 --> 00:08:28,370 >> Kaya kung nakikita ito ng isang para sa loop, ito sa tinatawag na interpreter 184 00:08:28,370 --> 00:08:30,630 ay magiging tulad ng, ang lahat ng karapatan, ang dapat kong gawin at muli at muli isang bagay muli. 185 00:08:30,630 --> 00:08:31,150 Anong gagawin ko? 186 00:08:31,150 --> 00:08:32,159 Hayaan akong tumingin sa susunod na linya. 187 00:08:32,159 --> 00:08:33,367 Hayaan akong tumingin sa susunod na linya. 188 00:08:33,367 --> 00:08:35,350 At ito ay tunay na kahulugan ito sa bawat linya. 189 00:08:35,350 --> 00:08:37,220 Kaya upang maisagawa ito, hindi ako gumagamit ng make. 190 00:08:37,220 --> 00:08:39,409 Hindi ako gumagamit ng tuldok slash sa kasong ito. 191 00:08:39,409 --> 00:08:43,530 Sa halip kong gawin PHP, na kung saan ay ang pangalan ng isang programa, a.k.a. 192 00:08:43,530 --> 00:08:46,562 Ang isang interpreter, na ang pre-install sa CS50 IDE, 193 00:08:46,562 --> 00:08:48,770 at ngayon ang kailangan ko upang pumasa sa isang argument ng linya ng command, na 194 00:08:48,770 --> 00:08:52,290 ay lubos na lamang ang pangalan ng maghain na gusto kong bigyan ng kahulugan. 195 00:08:52,290 --> 00:08:54,740 O mas casually, na gusto kong tumakbo. 196 00:08:54,740 --> 00:08:57,000 At kung ako pindutin ang Enter, doon na namin ito. 197 00:08:57,000 --> 00:08:57,825 Kamusta mundo. 198 00:08:57,825 --> 00:08:59,950 Ngayon ito ay lumiliko out na ako ginamit na def print kusa 199 00:08:59,950 --> 00:09:01,600 sa tulay sa amin mula sa C sa PHP. 200 00:09:01,600 --> 00:09:05,150 Karamihan sa mga programmers PHP, tulad ng makikita mo, hindi kahit abala gamit print def. 201 00:09:05,150 --> 00:09:08,290 Ginagamit nila lamang ng isang function na tinatawag na print, na kung saan C walang ginawa. 202 00:09:08,290 --> 00:09:11,390 At kaya kung gawin uli ko ito ngayon, ito ang tunay behaves halos pareho sa pagtakbo. 203 00:09:11,390 --> 00:09:13,730 Hindi ko magamit ang mga porsyento s at porsiyento i at iba pa, 204 00:09:13,730 --> 00:09:16,250 ngunit may mga ibang mga paraan sa PHP ng paggawa na. 205 00:09:16,250 --> 00:09:18,100 Ngunit ito ay lamang sa sabihin na syntactically, 206 00:09:18,100 --> 00:09:21,850 na iba sa ilang mga kakatwang mga bagay-bagay itaas, at ang ilang mga kakatwang mga character pababa 207 00:09:21,850 --> 00:09:25,960 sa ibaba, ang mga konsepto na ngayon ng programming sa iba pang mga wika 208 00:09:25,960 --> 00:09:27,860 ay magiging eksaktong pareho. 209 00:09:27,860 --> 00:09:30,120 >> Sa katunayan, gawin ang isa sa iba pang mga halimbawa. 210 00:09:30,120 --> 00:09:32,520 Kaya ako pagpunta sa sige at isara ang file na ito. 211 00:09:32,520 --> 00:09:37,740 Hayaan akong gumawa ng isa pang isa na Tatawag ako kondisyon 1 dot PHP. 212 00:09:37,740 --> 00:09:40,770 Kaya walang zero, dahil ang aking ginawa ay lumingon ako ng ilang linggo na ang nakakaraan, 213 00:09:40,770 --> 00:09:43,490 nagkaroon kami ng isang file na tinatawag na kondisyon 1 dot C. At kung ano 214 00:09:43,490 --> 00:09:47,590 Ay ko-convert ito sa aking ulo, at sa dito sa papel, 215 00:09:47,590 --> 00:09:51,290 at sa lalong madaling panahon sa kurso ng website, linya sa pamamagitan ng linya sa PHP. 216 00:09:51,290 --> 00:09:55,520 >> Kaya sa bersyon C, ginawa namin ang isang bagay tulad ng string s ay makakakuha makakuha string. 217 00:09:55,520 --> 00:09:58,200 Kaya ito ay isang maliit na naiiba upang gawin iyon sa PHP. 218 00:09:58,200 --> 00:10:01,390 Sa halip, ako lamang ang pagpunta na gawin, o sa halip, ako 219 00:10:01,390 --> 00:10:05,870 makakakuha maaaring gawin int n makakuha ng int, sa ganitong halimbawa nang mas maaga. 220 00:10:05,870 --> 00:10:12,600 Kaya sa halip na iyon, ako pagpunta sa gawin n makakakuha basahin line, Gusto ko ng isang integer, 221 00:10:12,600 --> 00:10:13,670 please. 222 00:10:13,670 --> 00:10:15,110 Kaya ito ay ang aking prompt lamang. 223 00:10:15,110 --> 00:10:17,260 At kaya ito ay lumiliko out, at Gusto kong malaman na ito lamang 224 00:10:17,260 --> 00:10:20,480 mula sa pagkakaroon ng basahin o nakita ang pag-andar bago, basahin ang mga linya ng mga function sa PHP 225 00:10:20,480 --> 00:10:23,810 tumatagal ng isang argument na ay isang prompt para sa mga tao, at ang kanyang mga layunin sa buhay 226 00:10:23,810 --> 00:10:26,220 ay upang basahin ang isang linya ng teksto na siya uri in. 227 00:10:26,220 --> 00:10:29,160 At pagkatapos ay nag-iimbak ng mga ito na text sa variable n. 228 00:10:29,160 --> 00:10:32,200 >> At ngayon baka gusto ko na gawin ang isang bagay tulad ng ginawa ko linggo nakaraan, sa tulad ng linggo 229 00:10:32,200 --> 00:10:33,290 isa sa mga klase. 230 00:10:33,290 --> 00:10:36,600 Kung n ay mas malaki sa zero, at pagkatapos, pupuntahan ko 231 00:10:36,600 --> 00:10:42,930 humiram na syntax lang namin nakita, print def, pumili ka ng isang positibong numero, 232 00:10:42,930 --> 00:10:44,360 backslash n. 233 00:10:44,360 --> 00:10:49,990 Iba Pa kung n ay katumbas ng katumbas ng zero, ako pagpunta sa sige at sabihin, print def, 234 00:10:49,990 --> 00:10:54,090 kayo pumili zero backslash n. 235 00:10:54,090 --> 00:10:56,830 Iba Pa, ang kaso dito ay dapat na ng kurso ay, print def, 236 00:10:56,830 --> 00:10:58,620 kayo pumili ng isang negatibong numero. 237 00:10:58,620 --> 00:11:00,970 >> At maaari naming tiyak na ipatupad ang logic sa bagay na ito 238 00:11:00,970 --> 00:11:03,390 sa isang grupo ng mga iba't-ibang paraan, ngunit ang punto dito 239 00:11:03,390 --> 00:11:07,210 ay na syntactically, bahagya anumang bagay ay bago. 240 00:11:07,210 --> 00:11:09,830 Ito lang ang dollar sign at isang bagong function at basahin linya. 241 00:11:09,830 --> 00:11:12,090 Ngunit sa panimula, kung ano ang bago ngayon ay ako interpret ito. 242 00:11:12,090 --> 00:11:13,910 Ako makapasa ito bilang input sa ibang programa. 243 00:11:13,910 --> 00:11:16,620 Kaya kung nais kong patakbuhin ito, kung Hindi ko gumawa ng anumang mga pagkakamali, 244 00:11:16,620 --> 00:11:20,140 Pupunta ako upang tumakbo PHP, ng kondisyon 1 dot PHP, Ipasok, 245 00:11:20,140 --> 00:11:23,440 Pupunta ako sa type ang numerong 50, at sabihin ipalagay para sa ngayon ito gumagana. 246 00:11:23,440 --> 00:11:25,940 Dahil ang logic ay ang parehong bagay-bagay tulad ng isang linggo. 247 00:11:25,940 --> 00:11:28,020 >> Lahat ng karapatan, kaya na medyo underwhelming, di ba? 248 00:11:28,020 --> 00:11:30,240 Ito namin mai-gawin sa anumang bilang ng mga wika. 249 00:11:30,240 --> 00:11:33,200 Ni gawin na mas malakas ang isang bagay na paraan Hayaan. 250 00:11:33,200 --> 00:11:35,610 Itakda Sabihin problema matapos lima. 251 00:11:35,610 --> 00:11:37,370 Kaya ako pagpunta sa magpatuloy at gawin ito. 252 00:11:37,370 --> 00:11:42,920 Pupunta ako upang lumikha ng isang file tinatawag diksyunaryo dot PHP, 253 00:11:42,920 --> 00:11:45,424 at hilig bilang maaari kang maging mag-agawan pababa maraming ng mga tala, 254 00:11:45,424 --> 00:11:47,340 tulungan ang mga tala lamang sa iyo kung ikaw ay pinahihintulutan 255 00:11:47,340 --> 00:11:48,923 upang ipatupad ang mga problema set limang sa PHP. 256 00:11:48,923 --> 00:11:52,706 Ngunit kami ay makita kung gaano kabilis namin ngayon maaaring ipatupad na parehong hanay ng problema. 257 00:11:52,706 --> 00:11:56,830 >> Kaya sa diksyunaryo dot PHP, ako ay pagpunta na ipalagay na mayroon nang 258 00:11:56,830 --> 00:11:58,514 isang file sa mundo na tinatawag speller. 259 00:11:58,514 --> 00:12:01,430 At sa katunayan, ginawa ko ito nang maaga, at hindi namin maglakad sa pamamagitan ng mga linyang ito 260 00:12:01,430 --> 00:12:03,596 sa pamamagitan ng linya, ngunit kung ikaw ay curious mamaya at talagang gusto 261 00:12:03,596 --> 00:12:06,250 balutin ang inyong isip sa paligid ng pagkakaiba sa pagitan c at PHP, 262 00:12:06,250 --> 00:12:09,030 literal ihambing ang file na ito, speller, mula sa source code ngayong araw 263 00:12:09,030 --> 00:12:11,190 na Magpo-post kami mamaya ngayon, laban p set 264 00:12:11,190 --> 00:12:15,309 limang speller dot c na bigyan ka namin, at ito ay halos katulad na linya sa pamamagitan ng linya. 265 00:12:15,309 --> 00:12:16,600 Mayroong ilang higit pang mga palatandaan dollar. 266 00:12:16,600 --> 00:12:18,330 Ang isang pares ng mga function ay isang maliit na naiiba. 267 00:12:18,330 --> 00:12:20,038 Ngunit ito ay isang magandang paraan ng uri ng pagtingin sa kung paano 268 00:12:20,038 --> 00:12:22,740 isalin mo sa isang wika papunta sa isa pa. 269 00:12:22,740 --> 00:12:24,812 At ito ay halos magkapareho ng linya para sa linya. 270 00:12:24,812 --> 00:12:27,770 Ngunit ako pagpunta sa ipinapalagay na iyon mayroon na, at kung ano ang ako pagpunta sa gawin dito 271 00:12:27,770 --> 00:12:31,310 ay subukan upang pumutok ang iyong bale pamamagitan reimplementing 272 00:12:31,310 --> 00:12:36,210 ang kabuuan ng problema set limang paraan mas mabilis kaysa sa iyong na-paggawa sa gayon ay malayo. 273 00:12:36,210 --> 00:12:39,330 Kaya halimbawa, ako pagpunta sa unang magpahayag ng isang global variable na tinatawag na laki, 274 00:12:39,330 --> 00:12:40,444 at itakda ito katumbas ng zero. 275 00:12:40,444 --> 00:12:41,610 Ngayon na ang hindi gaanong savings. 276 00:12:41,610 --> 00:12:44,170 Logro ikaw ipinatupad laki ng parehong medyo marami, 277 00:12:44,170 --> 00:12:48,440 o hint hint, ay ngayong gabi o bukas, lamang gamit ang isang global variable na tinatawag na 278 00:12:48,440 --> 00:12:49,900 laki, at pag-set ito katumbas ng zero. 279 00:12:49,900 --> 00:12:52,660 Iyan ay hindi isang partikular na amazing spoiler. 280 00:12:52,660 --> 00:12:57,180 >> Kaya kung ano ay istruktura ng iyong data pagpipilian, mga mo na may dived in 281 00:12:57,180 --> 00:13:02,170 at basahin ang spec, kaayusan kung ano ang data may karamihan ng ikaw ay gumagamit? 282 00:13:02,170 --> 00:13:06,840 Ang isang hash table o subukan, siguro ilang variant nito. 283 00:13:06,840 --> 00:13:10,490 Kaya pagpapatupad ng isang hash table ng hindi bababa sa, ay uri ng isang pulutong ng mga linya ng code, 284 00:13:10,490 --> 00:13:10,990 right? 285 00:13:10,990 --> 00:13:13,700 At hindi lahat ng mga ito ay maaaring maging functional sa puntong ito sa linggo, 286 00:13:13,700 --> 00:13:14,366 ngunit na fine. 287 00:13:14,366 --> 00:13:19,300 Dahil sa PHP, kung ako gusto ng isang hash table, tapos na. 288 00:13:19,300 --> 00:13:20,260 Right? 289 00:13:20,260 --> 00:13:22,610 Kaya na variable na ko lamang ipinahayag ay malinaw naman 290 00:13:22,610 --> 00:13:26,180 tinatawag sign talahanayan dollar, per sa pagpapakilala bago. 291 00:13:26,180 --> 00:13:28,902 >> Ngunit ko talagang lamang nais, sa sa katapusan ng araw, ang isang array. 292 00:13:28,902 --> 00:13:31,610 Ngunit hindi isang ayon sa bilang ng index array, dahil na tulad ng linggo dalawang 293 00:13:31,610 --> 00:13:33,440 mga bagay-bagay, kapag pinag-usapan namin tungkol sa array. 294 00:13:33,440 --> 00:13:34,850 Gusto ko ng isang hash table. 295 00:13:34,850 --> 00:13:38,070 Ngunit isang hash table ay talagang lamang ng isang kongkreto paraan ng kasabihan, 296 00:13:38,070 --> 00:13:40,190 nais mo ng isang nag-uugnay array. 297 00:13:40,190 --> 00:13:43,270 Gusto mong ma- associate key na may halaga. 298 00:13:43,270 --> 00:13:44,200 Keys na may halaga. 299 00:13:44,200 --> 00:13:45,640 Ano ang isang diksyunaryo, talaga? 300 00:13:45,640 --> 00:13:47,080 Well ito ay isang buong grupo ng mga key. 301 00:13:47,080 --> 00:13:50,320 Mga salita tulad ng mansanas, peras, at saging, at ang lahat ng mga salitang Ingles 302 00:13:50,320 --> 00:13:51,490 na ibigay namin sa iyo. 303 00:13:51,490 --> 00:13:54,820 >> At ang mga halaga na ikaw ay epektibo pagpasok sa iyong diksyunaryo 304 00:13:54,820 --> 00:13:57,790 ay alinman sa totoo, o ang kawalan, false. 305 00:13:57,790 --> 00:14:00,540 Sa ibang salita ikaw ay pagpasok isang buong grupo ng mga pangunahing mga pares ng halaga, 306 00:14:00,540 --> 00:14:03,720 mansanas, totoo, peras, totoo, banana, totoo. 307 00:14:03,720 --> 00:14:07,446 Kaya na kapag mong makuha o tumingin up na data sa iyong talahanayan ng hash 308 00:14:07,446 --> 00:14:10,070 sa iyong mga pag-andar check, ikaw ay alinman sa pagkuha ng likod ng isang sagot, 309 00:14:10,070 --> 00:14:13,260 yes, natagpuan ko ito sa aking complex hash table, o hindi, ito ay hindi doon, 310 00:14:13,260 --> 00:14:14,540 kaya bumalik ka false. 311 00:14:14,540 --> 00:14:19,440 >> Kaya upang gawin iyon, ang kailangan ko ay ang data structure tulad ko ipinanukalang bago. 312 00:14:19,440 --> 00:14:22,050 Kailangan ko lang ma upang iugnay ang mga salita 313 00:14:22,050 --> 00:14:25,570 tulad ng, quote magpanipi, simbolo, na may halagang gusto mo, totoo. 314 00:14:25,570 --> 00:14:27,090 Kaya doon ang aking hash table. 315 00:14:27,090 --> 00:14:28,180 Ni ang tunay na gamitin natin ito. 316 00:14:28,180 --> 00:14:30,310 Kaya may ilang mga pag-andar Kailangan ko na ipapatupad. 317 00:14:30,310 --> 00:14:33,300 Pupunta ako sa sige at kumagat off ng isang function na tinatawag na laki. 318 00:14:33,300 --> 00:14:34,390 Ito ay tumatagal ng walang argumento. 319 00:14:34,390 --> 00:14:36,660 Hindi ko na kailangang mag-abala sa ang salita, walang bisa, sa PHP. 320 00:14:36,660 --> 00:14:38,770 Lamang ako ng pagpunta upang bumalik size. 321 00:14:38,770 --> 00:14:41,287 >> At bilang isang bukod, PHP ay ito minorly nakakainis na detalye, 322 00:14:41,287 --> 00:14:44,620 kung saan kung ang isang bagay ay global, kailangan mong sabihin ang pag-andar na kung saan ikaw ay gumagamit ng 323 00:14:44,620 --> 00:14:46,220 ito, hey, ito ay isang pandaigdigang variable. 324 00:14:46,220 --> 00:14:49,330 So, minor kahangalan, ngunit ikaw may sa gawin ito gayunman. 325 00:14:49,330 --> 00:14:50,920 >> Kaya kung ano ang tungkol sa pag-load? 326 00:14:50,920 --> 00:14:52,990 Pupunta ako upang ipatupad isang function na tinatawag load 327 00:14:52,990 --> 00:14:56,790 na tumatagal sa pangalan ng isang diksyunaryo, tulad ng sa hanay ng problema limang. 328 00:14:56,790 --> 00:14:59,554 At bago ako magpatuloy, paunawa na mayroon akong hindi 329 00:14:59,554 --> 00:15:00,970 tinanggal type ng lubos ang parehong bagay. 330 00:15:00,970 --> 00:15:06,060 Ano ang malinaw naman naiiba sa PHP tungkol kung paano mo ipahayag ang isang function kumpara C? 331 00:15:06,060 --> 00:15:06,616 Oo. 332 00:15:06,616 --> 00:15:07,490 Madla: [hindi marinig] 333 00:15:07,490 --> 00:15:08,573 Tagapagsalita 1: Hindi type return. 334 00:15:08,573 --> 00:15:12,350 At sa katunayan, iyon ang kaso, PHP sa abot ng maluwag na ito ay nai-type, 335 00:15:12,350 --> 00:15:14,190 ay din ng isang maliit na nanggigitata sa na kahulugan. 336 00:15:14,190 --> 00:15:17,680 Hindi mo tukuyin bilang ang programmer ano ang nagbabalik ang function na ito. 337 00:15:17,680 --> 00:15:20,490 Gusto mong mag-aktwal na hitsura sa code upang malaman na out. 338 00:15:20,490 --> 00:15:22,670 O basahin ang mga komento o mga babasahin. 339 00:15:22,670 --> 00:15:24,870 Kaya plus at minuses ng ang mga uri ng mga desisyon. 340 00:15:24,870 --> 00:15:26,750 Ngunit ko na kailangang sabihin ang susi salita, function. 341 00:15:26,750 --> 00:15:28,360 At kapag malaman namin JavaScript sa loob ng ilang linggo 342 00:15:28,360 --> 00:15:31,026 kami ay pagpunta upang makita ang mga parehong bagay muli, ngunit ito ay ang parehong mga ideya. 343 00:15:31,026 --> 00:15:34,220 Ang pangalan ng function, argument nito o mga argument o kakulangan nito, at ngayon 344 00:15:34,220 --> 00:15:35,630 dito ay ang pagpapatupad. 345 00:15:35,630 --> 00:15:38,860 >> Kaya ako pagpunta upang i-cut ilang mga sulok lamang upang maging dramatic para sa sandali lamang. 346 00:15:38,860 --> 00:15:40,485 Ngunit ako pagpunta sa sige at sabihin ito. 347 00:15:40,485 --> 00:15:44,890 Ito ay kung paano ko ma-load isang file sa isang array. 348 00:15:44,890 --> 00:15:47,580 May isang function sa PHP tinatawag na file. 349 00:15:47,580 --> 00:15:49,300 Ipasa mo ito sa pangalan ng isang file. 350 00:15:49,300 --> 00:15:53,950 Kamay mo ito sa likod ng isang array, sa loob ng kung saan ay ang bawat linya mula sa file. 351 00:15:53,950 --> 00:15:56,480 Mula sa zero, isa, sa hanggang sa n minus 1 linya. 352 00:15:56,480 --> 00:15:57,210 Iyan na ang lahat, di ba? 353 00:15:57,210 --> 00:15:57,990 Walang f read. 354 00:15:57,990 --> 00:15:58,826 Walang f get s. 355 00:15:58,826 --> 00:15:59,700 Walang percent s. 356 00:15:59,700 --> 00:16:00,420 Walang sakit ng ulo. 357 00:16:00,420 --> 00:16:01,220 Walang feof. 358 00:16:01,220 --> 00:16:03,950 Lahat ng mga bagay-bagay na kung saan matagal mo nang pakikipagbuno marahil, 359 00:16:03,950 --> 00:16:06,550 may p set ng apat at limang, umalis. 360 00:16:06,550 --> 00:16:09,450 >> Kaya ko lamang basahin ang mga linya sa ang file, at pagkatapos ay alam mo kung ano? 361 00:16:09,450 --> 00:16:15,510 Kung gusto ko upang umulit sa mga salitang iyon, Ang maaari kong gawin, para sa bawat linya ng linya. 362 00:16:15,510 --> 00:16:19,992 Tandaan na ito ay uri ng isang matalino paraan ng iterating sa ibabaw ng isang array, index 363 00:16:19,992 --> 00:16:25,090 sa pamamagitan ng index, at sa bawat pag-ulit na pagtawag kasalukuyang linya, sign line dollar. 364 00:16:25,090 --> 00:16:31,560 At dito mismo ako pagpunta upang pumunta at sabihin table, bracket, linya, makakakuha totoo. 365 00:16:31,560 --> 00:16:35,880 >> Sa ibang salita, ito ay kung paano ko ipasok sa aking hash table sa PHP. 366 00:16:35,880 --> 00:16:38,740 Sinasabi ko sign talahanayan dollar, na kung saan ay ang aking nag-uugnay array na 367 00:16:38,740 --> 00:16:40,690 Walang laman ang bawat linya ng code up sa itaas. 368 00:16:40,690 --> 00:16:42,790 Pagkatapos ay index ko sa mga ito Hindi, gamit ang isang numero, 369 00:16:42,790 --> 00:16:45,300 ngunit literal gamit ang keyword na ako asikasuhin. 370 00:16:45,300 --> 00:16:47,730 Siguro ay mansanas o peras o saging o kahit ano, 371 00:16:47,730 --> 00:16:51,645 ngunit partikular na ako sa pag-index sa mga ito tulad ng iminungkahi ko kanina. 372 00:16:51,645 --> 00:16:53,770 Kumuha ako sa pangalan ng aking nag-uugnay array, at pagkatapos ay ako 373 00:16:53,770 --> 00:16:56,450 gamitin quote magpanipi sa square bracket na may isang string, 374 00:16:56,450 --> 00:16:58,490 sa halip ng isang aktwal na numero. 375 00:16:58,490 --> 00:17:00,250 >> At kaya na ito. 376 00:17:00,250 --> 00:17:01,720 Ang pag-andar ng pag-load ay tapos na. 377 00:17:01,720 --> 00:17:05,119 Kapag na loop iterates, Naglagay ako lahat ng bagay sa hash table. 378 00:17:05,119 --> 00:17:07,810 Maliit disclaimer Ngayon, may isang ilang mga bagay-bagay ko na kailangan ayusin. 379 00:17:07,810 --> 00:17:10,030 At ang bersyon makikita ko ang post online ay magkakaroon ng lahat ng mga nuances, 380 00:17:10,030 --> 00:17:12,670 ngunit ito ay halos lamang pagpunta sa ilang error checking at ang ilang mga menor de edad pag-aayos. 381 00:17:12,670 --> 00:17:14,044 Ngunit iyon nga ang diwa ng mga ito. 382 00:17:14,044 --> 00:17:16,750 Kung gusto ko ngayon upang ipatupad ang function na tinatawag na 383 00:17:16,750 --> 00:17:19,869 suriin, na inaasahan ng isang salita bilang argument nito, 384 00:17:19,869 --> 00:17:22,099 paano ko maaaring pumunta tungkol sa paggawa na? 385 00:17:22,099 --> 00:17:30,020 Well, kailangan lang ako pagpunta sa sabihin, kung sa loob ng aking mesa, sa salita ng lokasyon, 386 00:17:30,020 --> 00:17:30,652 kung naka-set. 387 00:17:30,652 --> 00:17:32,360 Kaya kung may is-- talaga, alam mo kung ano? 388 00:17:32,360 --> 00:17:34,830 Pupunta ako sa gawin ito sa isang piraso ng pseudocode. 389 00:17:34,830 --> 00:17:36,020 Ngunit ang ideya ay ang parehong. 390 00:17:36,020 --> 00:17:41,640 Kung katumbas ng totoo na, nagbabalik ng tunay. 391 00:17:41,640 --> 00:17:43,890 Lahat tama. 392 00:17:43,890 --> 00:17:46,851 Else-- maaari mong uri ng makita kung saan ito ay going-- upang bumalik false. 393 00:17:46,851 --> 00:17:47,350 Tapos na. 394 00:17:47,350 --> 00:17:49,640 Check ay tapos na. 395 00:17:49,640 --> 00:17:50,940 >> Medyo magaling, di ba? 396 00:17:50,940 --> 00:17:52,560 At kaya kung ano ito ay talagang pagkuha sa? 397 00:17:52,560 --> 00:17:53,680 At ito masyadong, pinutol ko ang ilang sulok. 398 00:17:53,680 --> 00:17:56,020 Hanapin sa bersyon online para sa lahat ng mga bahagyang nuances. 399 00:17:56,020 --> 00:17:57,103 Ngunit iyon ang diwa ng mga ito. 400 00:17:57,103 --> 00:17:59,080 Index sa iyong uugnay array, a.k.a. 401 00:17:59,080 --> 00:18:02,910 Hash table, tingnan kung mayroong isang halaga doon, kung ito ay nakatakda sa true, at kung gayon, 402 00:18:02,910 --> 00:18:03,930 nagbabalik ng tunay. 403 00:18:03,930 --> 00:18:05,819 Kaya mo whittled namin down lahat ng pagiging kumplikado. 404 00:18:05,819 --> 00:18:07,110 Kaya uri ng isip pamumulaklak, di ba? 405 00:18:07,110 --> 00:18:09,680 Hindi ko ay abala pagtatapos ito sa mag-ibis, dahil sa fact-- oh, alam mo kung ano? 406 00:18:09,680 --> 00:18:11,620 Oo, tapusin ang mga ito sa magdiskarga ipaalam. 407 00:18:11,620 --> 00:18:18,940 >> Alisan ng bala sa isang hash table ay maaaring tumingin tulad ng pag-andar magdiskarga, bumalik. 408 00:18:18,940 --> 00:18:19,930 OK kaya na mag-ibis. 409 00:18:19,930 --> 00:18:21,350 Dahil may walang mag-ibis, di ba? 410 00:18:21,350 --> 00:18:22,170 Walang malloc. 411 00:18:22,170 --> 00:18:24,280 Ako ay hindi malinaw na hilingin sa mga operating system para sa anumang. 412 00:18:24,280 --> 00:18:25,571 Ko lamang na nagsimula gamit variable. 413 00:18:25,571 --> 00:18:30,510 At kaya ito masyadong ay isang paghahayag ng mga katangian ng mas mataas na antas ng mga wika. 414 00:18:30,510 --> 00:18:32,940 Kaya muli, karamihan sa mga kataga na ito na na pakikitungo rito 415 00:18:32,940 --> 00:18:34,280 may C. Super mababang antas. 416 00:18:34,280 --> 00:18:35,980 Maaari mong makita ang memory ng computer. 417 00:18:35,980 --> 00:18:38,440 Maaari mong pindutin ang sa iyo kahit ano gusto sa RAM ng iyong computer, 418 00:18:38,440 --> 00:18:39,440 para sa mas mahusay o para sa mas masahol pa. 419 00:18:39,440 --> 00:18:41,760 >> Hanggang dito, kami ay pagpunta na magbigay ng kapangyarihan. 420 00:18:41,760 --> 00:18:44,730 Ngunit ang aking diyos, tumingin sa kung paano higit na mas mababa code na sinulat ko. 421 00:18:44,730 --> 00:18:47,660 Sa katunayan kung hindi ako ay pakikipag-usap at pakikipag-usap sa paglipas ng aking pag-type, 422 00:18:47,660 --> 00:18:50,190 Gusto namin ay tapos na halimbawa na ito ng limang minuto ang nakalipas. 423 00:18:50,190 --> 00:18:52,150 Kaya kung ano ang presyo na binabayaran? 424 00:18:52,150 --> 00:18:54,100 Tumagal ng isang tumingin rin ipaalam. 425 00:18:54,100 --> 00:18:55,340 Tignan natin. 426 00:18:55,340 --> 00:18:59,340 Pupunta ako sa sige at patakbuhin CS50. 427 00:18:59,340 --> 00:19:02,160 Hayaan akong pumunta muna sa mga halimbawa ngayon kung saan 428 00:19:02,160 --> 00:19:03,970 Mayroon akong mga direktoryo teksto tulad ng dati. 429 00:19:03,970 --> 00:19:08,520 Pupunta ako upang patakbuhin ang mga solusyon na ito ay may tinatawag na hanay ng problema limang 430 00:19:08,520 --> 00:19:11,190 speller, na nasa account CS50. 431 00:19:11,190 --> 00:19:14,040 >> At ako pagpunta upang patakbuhin ito sa isang bagay malaki tulad ng King James Bible, 432 00:19:14,040 --> 00:19:16,547 kaya lang na talagang inilalagay namin ang kawani solusyon sa pagsubok. 433 00:19:16,547 --> 00:19:19,130 Ngayon minsan ang internet ay isang maliit na mas mabagal, ang isang maliit na mas mabilis, 434 00:19:19,130 --> 00:19:20,338 maaaring magtagal upang mag-scroll. 435 00:19:20,338 --> 00:19:23,730 Ngunit ito kinuha ng isang kabuuang 0.56 segundo i-spell-check ang King James 436 00:19:23,730 --> 00:19:25,150 Bibliya gamit ang solusyon staff. 437 00:19:25,150 --> 00:19:25,620 Kaya medyo mabuti. 438 00:19:25,620 --> 00:19:27,786 Maaaring Taos ay marami hinaan, at iyon ang ganap fine. 439 00:19:27,786 --> 00:19:30,090 Ngunit ito ay tama dito. 440 00:19:30,090 --> 00:19:32,440 Kaya na ang solusyon staff. 441 00:19:32,440 --> 00:19:34,785 Kung pupunta ako sa at linisin ang mga bersyon ng PHP. 442 00:19:34,785 --> 00:19:36,990 At ako pagpunta sa gawin ang isang maliit tulad ng pagbe-bake ng show na bagay. 443 00:19:36,990 --> 00:19:39,720 Kami ay pagpunta sa gawin ang mga code na sinulat ko mas maaga, sa gayon ito ay ganap na tama. 444 00:19:39,720 --> 00:19:42,678 Dahil ang mga code na sinulat ko ay hindi pagpunta upang maging ganap na tama lamang ngayon. 445 00:19:42,678 --> 00:19:47,310 Ngunit kung nagpatakbo ako ng mga bersyon ng PHP, kung ano ang kailangan kong bigyan up ngayon? 446 00:19:47,310 --> 00:19:49,980 Kinuha sa akin ng limang minuto upang ipatupad p set limang, inaangkin ko. 447 00:19:49,980 --> 00:19:51,770 Ano ang presyo na ako mababayaran? 448 00:19:51,770 --> 00:19:52,270 Oo. 449 00:19:52,270 --> 00:19:52,937 >> Madla: Bilis. 450 00:19:52,937 --> 00:19:53,645 Tagapagsalita 1: Bilis. 451 00:19:53,645 --> 00:19:54,380 Ano ang ibig mong sabihin? 452 00:19:54,380 --> 00:19:55,230 >> Madla: Ito ay pagpunta sa tumagal nang mas matagal. 453 00:19:55,230 --> 00:19:55,660 >> Tagapagsalita 1: Ang lahat ng karapatan. 454 00:19:55,660 --> 00:19:56,160 Tingnan natin. 455 00:19:56,160 --> 00:19:59,590 Ito ay pagpunta sa tumagal ng mas mahaba, hindi na magsulat, ngunit upang patakbuhin ito. 456 00:19:59,590 --> 00:20:00,090 Oo. 457 00:20:00,090 --> 00:20:00,960 Kaya sabihin subukan ito. 458 00:20:00,960 --> 00:20:05,720 Kaya dito ako pagpunta sa magpatuloy at gawin PHP ng speller, at dahil ang mga file 459 00:20:05,720 --> 00:20:06,360 tinatawag speller. 460 00:20:06,360 --> 00:20:07,580 Kaya hindi ako tumatakbo ang diksyunaryo, pagpapabalik, 461 00:20:07,580 --> 00:20:09,204 Nauubusan na ako ng programa na tinatawag na speller. 462 00:20:09,204 --> 00:20:12,450 Pupunta ako upang pumasa sa parehong file, King James ang ikalima. 463 00:20:12,450 --> 00:20:14,377 Ito ay sa pamamagitan ng paglipad. 464 00:20:14,377 --> 00:20:17,210 Ito ay maaaring lamang speed internet, kaya huwag basahin ang masyadong maraming sa na. 465 00:20:17,210 --> 00:20:21,680 Ngunit ito ay hindi pakiramdam na para bang. 466 00:20:21,680 --> 00:20:23,280 1.26 segundo. 467 00:20:23,280 --> 00:20:25,150 >> Ngayon na ang pretty pa rin sumpain mabilis, di ba? 468 00:20:25,150 --> 00:20:28,140 At ang tanging dahilan na nadama tulad ng higit na katulad ng tatlo, o apat, o limang 469 00:20:28,140 --> 00:20:30,515 segundo, na dahil lamang ang internet ay pagiging mabagal. 470 00:20:30,515 --> 00:20:33,980 Ang computer na oras na ginugol ay 1.26 segundo, kumpara sa tingin ko 0.56. 471 00:20:33,980 --> 00:20:35,880 Kaya higit sa dalawang beses bilang mabagal. 472 00:20:35,880 --> 00:20:39,170 Ngayon na ang pretty darn pa rin mabilis, ngunit ito ay isang paghahayag 473 00:20:39,170 --> 00:20:40,860 ng, sa katunayan, na eksaktong presyo. 474 00:20:40,860 --> 00:20:43,460 >> Dahil kami ay pagbibigay-kahulugan sa linya ng code sa pamamagitan ng linya, 475 00:20:43,460 --> 00:20:46,740 at na PHP programa ay pagbabasa ng aking code sa itaas hanggang sa ibaba, kaliwa hanggang kanan, 476 00:20:46,740 --> 00:20:47,940 ito ay upang makagawa ng higit pa-iisip. 477 00:20:47,940 --> 00:20:50,430 Ito ay may na uri ng pag-convert ito sa loob ng kanyang sarili 478 00:20:50,430 --> 00:20:53,464 sa nararapat na machine code sa fly, kaya na magsalita, 479 00:20:53,464 --> 00:20:55,380 kahit na ang mechanics ay medyo naiiba. 480 00:20:55,380 --> 00:20:59,430 Sa halip na lamang ang pagpapakain sa Intel CPU ang raw zero at mga 481 00:20:59,430 --> 00:21:00,930 na ito nauunawaan natively. 482 00:21:00,930 --> 00:21:04,110 >> Kaya walang pasubali, mga kamay down, kami ay may bayad ng isang presyo. 483 00:21:04,110 --> 00:21:09,120 At ang code na nakasulat sa isang wika tulad ng PHP ay may gawi na maging mas mabagal. 484 00:21:09,120 --> 00:21:10,050 Ngunit ang aking diyos. 485 00:21:10,050 --> 00:21:12,740 Kaya ngayon kapag check-spell ko ang aking file, gumastos ako ng dagdag na 0.7 486 00:21:12,740 --> 00:21:17,280 o kaya segundo vs 20 na oras na ipatupad isang mas mabilis na oras ng paggawa checker, di ba? 487 00:21:17,280 --> 00:21:18,397 Ito ay uri ng off ng isang kalakalan. 488 00:21:18,397 --> 00:21:20,980 At kung ikaw ay lamang simula p itakda limang, maaaring hindi 20 oras. 489 00:21:20,980 --> 00:21:22,188 Maaaring maging mas kaunting mga malayo kaysa sa na. 490 00:21:22,188 --> 00:21:23,600 Ngunit ito ay isang kalakalan off, for real. 491 00:21:23,600 --> 00:21:27,820 At kung ikaw ay nagpapatakbo ng code sa talagang malaking set ng data, o sa kahit na mas lumang hardware, 492 00:21:27,820 --> 00:21:32,650 mga uri ng mga pagkakaiba maaaring tiyak na magdagdag ng hanggang. 493 00:21:32,650 --> 00:21:34,880 >> Ang anumang mga katanungan kaya ngayon? 494 00:21:34,880 --> 00:21:35,617 Oo. 495 00:21:35,617 --> 00:21:36,492 >> Madla: [hindi marinig] 496 00:21:36,492 --> 00:21:38,187 497 00:21:38,187 --> 00:21:39,978 Tagapagsalita 1: Sorry, maaari sabihin mo ito nang isa pang beses? 498 00:21:39,978 --> 00:21:40,853 Madla: [hindi marinig] 499 00:21:40,853 --> 00:21:43,326 500 00:21:43,326 --> 00:21:44,700 Tagapagsalita 1: Ikaw ay nagbibigay up ng oras. 501 00:21:44,700 --> 00:21:45,283 Well, kaya oo. 502 00:21:45,283 --> 00:21:47,322 Ikaw ay pag-save ng oras sa pamamagitan ng hindi pagkakaroon upang ipunin ito, 503 00:21:47,322 --> 00:21:48,530 kung na kung ano ang iyong hinihingi. 504 00:21:48,530 --> 00:21:50,710 At sa katunayan, sa CS50, karamihan ng mga programa, 505 00:21:50,710 --> 00:21:53,668 kahit na sila ay maaaring tumagal ng isang habang sa pagsulat, ang mga ito ay medyo maikling. 506 00:21:53,668 --> 00:21:56,860 Ilang dosenang, ilang daang mga linya ng code, at iba compile sila medyo mabilis. 507 00:21:56,860 --> 00:21:58,470 Ngunit kapag nagsimula ka pagsulat ng mas malaking programa, 508 00:21:58,470 --> 00:22:01,511 tulad ng kung ikaw ay Microsoft o ikaw ay Google at pagsusulat talagang malaking programa 509 00:22:01,511 --> 00:22:05,360 sa C, o C ++, o mga kaparehong naipon wika, maaaring tumagal ng ilang segundo, 510 00:22:05,360 --> 00:22:08,577 o kahit minuto o mas matagal na magtala ng milyon-milyong mga linya ng code. 511 00:22:08,577 --> 00:22:10,660 At masyadong doon, na pagkakaiba ay pagpunta sa magdagdag ng hanggang. 512 00:22:10,660 --> 00:22:12,840 >> At sa katunayan, sa sandaling namin transition ngayon, parehong araw 513 00:22:12,840 --> 00:22:15,910 ngayon, sa mga web programming gamit ang PHP, ikaw ay 514 00:22:15,910 --> 00:22:18,460 pagpunta sa mapulot ito lamang kaya magkano mas kaaya-aya na magsulat ng code 515 00:22:18,460 --> 00:22:21,501 kapag hindi mo na kailangang gawin ang mga tangang hakbang tulad ng pagbabago sa iyong terminal 516 00:22:21,501 --> 00:22:24,202 window, i-type ang make hello, re patakbuhin ito, i-reload ang window. 517 00:22:24,202 --> 00:22:25,910 Para lang maraming tangang makina mga hakbang na 518 00:22:25,910 --> 00:22:28,480 makarating lamang sa mga paraan ng paggawa ng ang mga kagiliw-giliw, ang saya ng trabaho. 519 00:22:28,480 --> 00:22:31,450 At sa katunayan magtapon namin na malayo sa PHP. 520 00:22:31,450 --> 00:22:34,960 At maaari kaming makipag-ugnayan sa mga ito ng mas mabilis. 521 00:22:34,960 --> 00:22:35,495 Oo. 522 00:22:35,495 --> 00:22:36,370 Madla: [hindi marinig] 523 00:22:36,370 --> 00:22:40,294 524 00:22:40,294 --> 00:22:40,960 Tagapagsalita 1: Oo naman. 525 00:22:40,960 --> 00:22:42,876 Maaari ko bang linawin kung ano ang mga ito nangangahulugan upang bigyang-kahulugan? 526 00:22:42,876 --> 00:22:45,870 Kapag nag-compile ng isang wika tulad ng C, ito napupunta down 527 00:22:45,870 --> 00:22:48,140 tulad ng sinabi namin sa machine code, zero at mga. 528 00:22:48,140 --> 00:22:51,860 At nagpasya Intel taon na nakalipas na tiyak na mga pattern ng mga zero at mga 529 00:22:51,860 --> 00:22:56,220 kumakatawan karagdagan, o pagbabawas, o i-print, o iba pang mga pangunahing mga operasyon. 530 00:22:56,220 --> 00:23:00,250 Sa mundo ng isang interpreted wika tulad ng PHP, o JavaScript, o Python, 531 00:23:00,250 --> 00:23:03,120 o Ruby, o kumpol na iba, sa halip ng isang tao 532 00:23:03,120 --> 00:23:05,120 ay isinulat ng isang interpreter-- sa kasong ito, 533 00:23:05,120 --> 00:23:09,770 ito ay tinatawag din na PHP, magkapareho sa pangalan ng language-- na mahalagang 534 00:23:09,770 --> 00:23:13,840 may isang malaking loop sa loob nito na iterates sa ibabaw ng lahat ng mga linya ng code 535 00:23:13,840 --> 00:23:18,170 na feed ko ito bilang input, tulad kumusta dot PHP, o tuldok diksyunaryo PHP. 536 00:23:18,170 --> 00:23:21,760 >> At pagkatapos ay maaari mong isipin ang kanilang malaking loop bilang pagkakaroon ng isang pulutong ng mga kondisyon. 537 00:23:21,760 --> 00:23:26,340 At sa mga kondisyon sabihin, kung ang ng tao ay may nakasulat na ang mga keyword para sa, 538 00:23:26,340 --> 00:23:28,470 simulan ang paggawa ng kanyang code muli at muli. 539 00:23:28,470 --> 00:23:31,360 O kung ang tao ay may nakasulat na ang mga linya ng code, 540 00:23:31,360 --> 00:23:34,880 kung, execute lamang ang kanilang susunod na linya pasubali. 541 00:23:34,880 --> 00:23:37,740 Kaya ito ay tunay na tulad ng pagbibigay-kahulugan ito sa isang tao na kahulugan, linya 542 00:23:37,740 --> 00:23:39,660 sa pamamagitan ng linya, at na tumatagal lamang ng panahon. 543 00:23:39,660 --> 00:23:41,340 Ito ay tumatagal ng overhead. 544 00:23:41,340 --> 00:23:44,189 At kaya na ang isang price-- magandang question-- babayaran namin. 545 00:23:44,189 --> 00:23:46,480 Kaya sabihin gawin ang isa pang demo na ang isang maliit na mas dramatic. 546 00:23:46,480 --> 00:23:51,160 May, gusto kong sabihin, isang halos katumbas na ito sa isang 90% na posibilidad ng kabiguan horribly, 547 00:23:51,160 --> 00:23:53,869 ngunit ikaw ay namangha may 10% na posibilidad. 548 00:23:53,869 --> 00:23:55,660 Kaya bawat taon sinusubukan naming upang gawin ito, kung saan tayo 549 00:23:55,660 --> 00:23:59,061 subukan na magsulat ng isang programa na napupunta sa pamamagitan itakda ang problema zero, na kung saan na sa iyo 550 00:23:59,061 --> 00:24:02,060 naisumite ang iyong numero ng telepono at isang maraming iba pang mga demograpikong impormasyon, 551 00:24:02,060 --> 00:24:06,030 at kami ng programming magpadala sa iyo ng isang text message. 552 00:24:06,030 --> 00:24:08,540 At pagkatapos ay telepono ng lahat nagsisimula beeping o vibrating, 553 00:24:08,540 --> 00:24:11,460 at ito lamang ang kahanga-hangang, dahil well, tingnan kung ano ang maaaring gawin ng mga computer. 554 00:24:11,460 --> 00:24:13,840 >> Ito bihira gumagana nang tama tila sa malaking bahagi, 555 00:24:13,840 --> 00:24:16,800 dahil ako ay karaniwang makakuha ng blacklisted sa pamamagitan ng Gmail o iba pang mga serbisyo 556 00:24:16,800 --> 00:24:19,630 para talagang nagsisikap upang gawin ito sa scale. 557 00:24:19,630 --> 00:24:24,940 Ngunit nakakatawa bagay ay masyadong, dahil tayo hindi magkaroon ng lahat ng tao dito ngayon, 558 00:24:24,940 --> 00:24:27,690 masaya katunayan ang huling beses na namin sinubukan na ito dalawang taon na ang nakaraan, 559 00:24:27,690 --> 00:24:30,870 Sa tingin ko na sinulat ko ang isang programa na nakaupo sa isang loop iterating 560 00:24:30,870 --> 00:24:34,040 sa lahat ng mga estudyante sa klase, at bawat isa sa mga ito ng isang text message, 561 00:24:34,040 --> 00:24:37,534 at sinabi ng isang bagay tulad ng, bakit hindi kayo sa panayam? 562 00:24:37,534 --> 00:24:39,170 Pag-ibig, CS50 bot. 563 00:24:39,170 --> 00:24:42,580 >> Wala kang mga ideya kung gaano karaming mga humihingi ng tawad at ang uri ng mga masakit na mga email 564 00:24:42,580 --> 00:24:46,970 Ko na natanggap sa tugon mula sa n minus 100 mga tao na ay hindi dito 565 00:24:46,970 --> 00:24:47,960 Noong araw na iyon. 566 00:24:47,960 --> 00:24:52,116 At kahit na mas nakakatawa, mas kahiya-hiyang story-- alam mo, sabihin ilagay ito out doon ipaalam. 567 00:24:52,116 --> 00:24:53,740 Ito ay mayroon na sa video ng ilang taon likod. 568 00:24:53,740 --> 00:24:56,810 Kaya ikaw ay lalong madaling panahon makita ako magsulat ng isang para sa loop, kung saan ang 569 00:24:56,810 --> 00:25:00,640 ito ay tunay madali upang makapagsulat ng isang bug sa na para sa loop, tulad na ang unang pagkakataon 570 00:25:00,640 --> 00:25:02,800 sa pamamagitan ng loop, ikaw magpadala ng isang text message. 571 00:25:02,800 --> 00:25:06,190 >> Ang ikalawang oras sa pamamagitan ng loop ko dapat ay nagpadala ng isa pang text message, 572 00:25:06,190 --> 00:25:08,250 at pagkatapos ng isa pang text mensahe, at isa pa. 573 00:25:08,250 --> 00:25:11,490 Ngunit ito ay lumiliko out kung gumawa ka ng typo kapag ang mga programa, kung minsan ka 574 00:25:11,490 --> 00:25:14,460 maaaring sumulat ng mga programa na magpadala ng isa text message, pagkatapos ng dalawang text na mensahe, 575 00:25:14,460 --> 00:25:18,742 pagkatapos ng tatlong mga text na mensahe sa lahat ng tao sino ang naka nakatanggap ng isang text message. 576 00:25:18,742 --> 00:25:21,450 At tulad ng alam mo, ang paggawa ng isang bagay, plus isang bagay, kasama ang isang bagay, 577 00:25:21,450 --> 00:25:25,910 plus isang bagay, ay malaking O ng isang pulutong ng mga text na mensahe, o n nakalapat, 578 00:25:25,910 --> 00:25:29,830 o sa halagang $ 0.10 isang text message, $ 20,000. 579 00:25:29,830 --> 00:25:33,700 >> Sa kabutihang palad ako hit Control-C bago na ang nangyari, ngunit ako ay may utang na loob ng hindi bababa sa isa 580 00:25:33,700 --> 00:25:37,550 ng iyong mga predecessors $ 20 para sa 200 ilang mga kakaiba mga text na mensahe na iyon, 581 00:25:37,550 --> 00:25:40,450 hindi lamang napunta sa kanyang telepono, ngunit din ito ay tulad ng isang mas lumang flip phone 582 00:25:40,450 --> 00:25:43,520 kaya gusto ito itinulak sa labas ng kanyang memory bawat iba pang mga personal text 583 00:25:43,520 --> 00:25:45,930 message niya talaga nakuha. 584 00:25:45,930 --> 00:25:49,250 Kaya kami ay may isang layunin ngayon, hindi upang gawin iyon. 585 00:25:49,250 --> 00:25:50,620 Siguro i-on airplane mode. 586 00:25:50,620 --> 00:25:51,120 Lahat tama. 587 00:25:51,120 --> 00:25:56,590 Kaya sabihin pumunta sa isang programa dito callled-- 588 00:25:56,590 --> 00:25:59,060 na aking tatawagin ang text dot PHP. 589 00:25:59,060 --> 00:26:01,074 At nang maaga, Mayroon akong dalawang mga file dito. 590 00:26:01,074 --> 00:26:06,030 Ginawa ko ang isang file para lang staff, na nakuha lahat ng info ng mga tauhan, lahat ng mga pangalan 591 00:26:06,030 --> 00:26:07,260 mula sa website ng kurso. 592 00:26:07,260 --> 00:26:09,756 At pagkatapos ay para sa ngayon ko lang ilagay ilang mga pekeng numero 555-1212. 593 00:26:09,756 --> 00:26:11,380 Kaya ang mga ito ay hindi tunay na pumunta sa kahit saan. 594 00:26:11,380 --> 00:26:15,140 Ngunit mapansin ang loob ng CSV file na ito, na usapan natin ang tungkol sa madaling sabi bago 595 00:26:15,140 --> 00:26:16,540 sa konteksto ng file IO. 596 00:26:16,540 --> 00:26:18,730 >> Ano ang isang CSV file? 597 00:26:18,730 --> 00:26:19,970 Pinaghiwalay ng kuwit variable. 598 00:26:19,970 --> 00:26:24,400 At ito ay uri ng tulad ng isang napaka magaan na database, kung ikaw ay. 599 00:26:24,400 --> 00:26:28,650 Mayroong uri ng mga uri ng mga apat na mga haligi sa file na ito, at may tulis-tulis, 600 00:26:28,650 --> 00:26:32,400 ngunit ang mga kuwit mahalagang kumakatawan haligi sa file. 601 00:26:32,400 --> 00:26:35,400 Ang unang hanay ay ang pangalan CA ni TF o. 602 00:26:35,400 --> 00:26:37,800 Pangalawang haligi ay ang kanilang mga apelyido. 603 00:26:37,800 --> 00:26:39,820 Third column ay ang kanilang mga numero ng telepono. 604 00:26:39,820 --> 00:26:44,760 At ika-apat na haligi tila is-- ika-apat na haligi ay tila kung ano? 605 00:26:44,760 --> 00:26:45,870 OK, kaya ang kanilang carrier. 606 00:26:45,870 --> 00:26:47,180 Kaya Verizon, o Sprint, o kung ano ang hindi. 607 00:26:47,180 --> 00:26:48,620 At kung misspoke ko mas maaga, CSV. 608 00:26:48,620 --> 00:26:51,800 Comma separated values ​​ay CSV dito. 609 00:26:51,800 --> 00:26:54,260 >> Kaya kung ano ang maaari kong gawin sa mga ito? 610 00:26:54,260 --> 00:26:56,940 Well ito ay lamang ng isang malaking text file, at ito ay uri ng mahaba, tama? 611 00:26:56,940 --> 00:26:58,690 Tulad ng ito ay pagpunta sa maging uri ng nakakainis. 612 00:26:58,690 --> 00:27:03,510 At ito ay lumiliko out, bagaman, na kung ako nais na magpadala ng isang text message sa, sabihin 613 00:27:03,510 --> 00:27:05,180 sabihin Alex dito. 614 00:27:05,180 --> 00:27:09,690 Hayaan akong pumunta sa aking browser at lumabas sa full screen mode 615 00:27:09,690 --> 00:27:11,660 kaya ang maaari kong i-toggle lang papunta at pabalik. 616 00:27:11,660 --> 00:27:20,280 Ito ay lumiliko out, tingnan natin, kung pumunta ako sa dito, at mag log in sa Gmail, ang lahat ng karapatan. 617 00:27:20,280 --> 00:27:22,950 Huwag tumingin sa bahagi na ito. 618 00:27:22,950 --> 00:27:23,880 Basta makuha ko na makita. 619 00:27:23,880 --> 00:27:26,551 620 00:27:26,551 --> 00:27:28,800 siyempre ang livestream Maaari makikita pa rin ang ginagawa ko. 621 00:27:28,800 --> 00:27:29,360 Lahat tama. 622 00:27:29,360 --> 00:27:31,850 >> Kaya dito ay lamang ng Gmail sa John Harvard account. 623 00:27:31,850 --> 00:27:34,000 Kaya kung nais kong magpadala ng isang text message sa Alex, 624 00:27:34,000 --> 00:27:35,530 Maaari ko siyempre sumulat ng isang mensahe. 625 00:27:35,530 --> 00:27:38,410 At ito ay lumiliko out, at na ako nasubok ito sa Alex bago dito, 626 00:27:38,410 --> 00:27:42,260 sa gayon maaari mong idagdag ang isang tiyak na domain pangalan sa mga numero ng telepono ng mga tao, 627 00:27:42,260 --> 00:27:45,850 dahil may umiiral na sa mundo mga bagay-bagay na tinatawag na SMS sa email gateway. 628 00:27:45,850 --> 00:27:50,000 Aling ay isang magarbong paraan ng sinasabi ng lahat sa atin na magkaroon ng mobile phone na 629 00:27:50,000 --> 00:27:53,200 may mga numero ng telepono, siyempre, may marahil ay para sa iyong carrier, 630 00:27:53,200 --> 00:27:56,840 isang tiyak na suffix tulad ng sa Vtext.com para sa Verizon text message 631 00:27:56,840 --> 00:28:00,320 dot com, na maaari mong idagdag sa iyong sariling personal na numero ng telepono, at pagkatapos ay 632 00:28:00,320 --> 00:28:03,540 ikaw o mga kaibigan, o sa iyong mga magulang ay maaaring text mo sa partikular na address. 633 00:28:03,540 --> 00:28:07,380 >> At Verizon ay may isang server, isang email server, na sa pagtanggap ng email na ito, 634 00:28:07,380 --> 00:28:11,180 tingin sa mga numeric na bahagi at pagkatapos ay ay gumagamit ng kahit anong espesyal na magic industriya 635 00:28:11,180 --> 00:28:14,540 mayroon sila sa tunay na magpadala ito sa loob ng ang ere sa iyong partikular na cell 636 00:28:14,540 --> 00:28:15,040 phone. 637 00:28:15,040 --> 00:28:18,030 Ngayon na ito ay magaling dahil hindi ko talaga alam kung paano magpadala ng isang text message 638 00:28:18,030 --> 00:28:20,460 o upang isulat ang code pa para sa aking mobile phone, 639 00:28:20,460 --> 00:28:23,580 at maaari mong gawin eksakto na para sa ng isang pangwakas na proyekto, ngunit sa ngayon ang lahat ng 640 00:28:23,580 --> 00:28:24,770 Mayroon akong ang aking laptop dito. 641 00:28:24,770 --> 00:28:29,830 Kaya gusto ko upang umulit sa na CSV file, linya, sa pamamagitan ng linya, sa pamamagitan ng linya, sa pamamagitan ng linya, 642 00:28:29,830 --> 00:28:35,160 grab ang bawat isa sa mga numero ng telepono ng mga tauhan, at ang kanilang mga carrier at programatically, 643 00:28:35,160 --> 00:28:39,770 pagdugtungin, iyon ay, ikonekta ang telepono number sa naaangkop na pangalan ng domain 644 00:28:39,770 --> 00:28:40,820 at pagkatapos ay magpadala ng isang email. 645 00:28:40,820 --> 00:28:41,940 >> Kaya na ang isang pulutong ng mga hakbang. 646 00:28:41,940 --> 00:28:45,530 At good luck sa paggawa na sa C. Ito ay isang bangungot ng isang sitwasyon 647 00:28:45,530 --> 00:28:48,350 upang buksan ang isang file, na basahin ito line, sa pamamagitan ng linya, sa pamamagitan ng linya, tulad ng sa iyo 648 00:28:48,350 --> 00:28:51,100 ay nakakakita, o maaaring madaling makita sa hanay ng problema limang, kung hindi 649 00:28:51,100 --> 00:28:53,560 itakda ang problema apat, at pagkatapos ay upang dynamic pagdugtungin 650 00:28:53,560 --> 00:28:57,020 dalawang string magkasama, dahil sa C, upang kumuha ng dalawang string at pagsamahin ang mga ito, 651 00:28:57,020 --> 00:29:00,900 ano ang ginagawa mo minimally kailangan mong gawin ang mga pinaka-malamang? 652 00:29:00,900 --> 00:29:03,020 Kailangan mong magpahayag ng mas maraming memory, tama? 653 00:29:03,020 --> 00:29:04,710 At tanungin, malloc, maaari ba akong magkaroon ng higit memory? 654 00:29:04,710 --> 00:29:07,060 Kaya ang maaari kong ilagay sa kalahati ng mga ito dito, kalahati ng mga ito dito. 655 00:29:07,060 --> 00:29:08,150 Ito ay lamang kaya maraming mga hakbang. 656 00:29:08,150 --> 00:29:10,310 At sa pamamagitan ng point na nawalan ka interes sa mga hangal kaunti demo 657 00:29:10,310 --> 00:29:11,851 kung saan gumawa ka ng beep phone ng lahat. 658 00:29:11,851 --> 00:29:14,590 Gawin ng ganitong uri ng PHP Ipaalam style, kung saan kami lamang 659 00:29:14,590 --> 00:29:16,210 simulan ang paggamit ng higit pa sa na panlipunan. 660 00:29:16,210 --> 00:29:18,050 >> At ang mga ideya ay sa panimula ang parehong, 661 00:29:18,050 --> 00:29:20,710 ngunit hindi namin kailangang mag-alala masyadong magkano ang tungkol na mas mababang antas. 662 00:29:20,710 --> 00:29:22,950 Kaya sabihin makita kung paano ko maaaring pumunta tungkol sa paggawa nito. 663 00:29:22,950 --> 00:29:26,664 At kaya lang na hindi ko ulitin ang mga nakaraang pagkakamali, 664 00:29:26,664 --> 00:29:28,330 Ako ng nakasulat na ng ilang mga tala para sa sarili ko dito. 665 00:29:28,330 --> 00:29:31,070 At makita kung maaari ko tayo ayon ipaalam sa pamamagitan ng ilan sa mga pangunahing hakbang, 666 00:29:31,070 --> 00:29:33,861 at pagkatapos ay para sa kapakanan ng time ni bibigyan namin ng marahil cut ilang mga sulok sa dulo. 667 00:29:33,861 --> 00:29:38,007 Pupunta ako sa magpatuloy at gawin bukas bracket PHP upang simulan ang file na ito. 668 00:29:38,007 --> 00:29:39,590 At ako pagpunta sa magpatuloy at gawin ito. 669 00:29:39,590 --> 00:29:41,490 Handle File, tulad ng makikita mo madaling makita, talaga 670 00:29:41,490 --> 00:29:44,790 tawag sa isang function na tinatawag na f bukas. 671 00:29:44,790 --> 00:29:46,280 At tandaan na ito ay bubukas sa isang file. 672 00:29:46,280 --> 00:29:48,800 At ang mga quote, magpanipi, r nangangahulugan na kung ano, muli? 673 00:29:48,800 --> 00:29:49,800 Buksan lamang ito para basahin. 674 00:29:49,800 --> 00:29:51,210 Ngayon sa p set para sa, ginawa mo ito. 675 00:29:51,210 --> 00:29:54,500 At mahawakan ang maaring maging kahit ano, Fu, bar, bas, ang anumang pangalan ng variable. 676 00:29:54,500 --> 00:29:57,470 Ngunit sa pangkalahatan sa isang computer siyentipiko ay tumawag ng isang bukas na file, 677 00:29:57,470 --> 00:30:00,962 bibigyan ka ng isang file na hawakan, isang bagay na humawak papunta sa gayon na magsalita. 678 00:30:00,962 --> 00:30:02,670 Lamang ako ng pagpunta sa gawin ilang checking error. 679 00:30:02,670 --> 00:30:07,260 Kaya kung ang hawakan ay hindi totoo, tulad lamang ng sa C, ako pagpunta sa gawin ang isang bagay tulad ng, 680 00:30:07,260 --> 00:30:09,545 Hindi mabuksan ang file, backslash n. 681 00:30:09,545 --> 00:30:11,420 At pagkatapos ay ako lamang ang pagpunta sige at exit. 682 00:30:11,420 --> 00:30:14,340 At ito ay lumiliko out, sa PHP, Hindi ako sa loob ng isang function. 683 00:30:14,340 --> 00:30:16,160 Walang pangunahing pag-andar dito. 684 00:30:16,160 --> 00:30:17,450 Kaya hindi ko ibalik, per se. 685 00:30:17,450 --> 00:30:18,120 Lumabas ako. 686 00:30:18,120 --> 00:30:19,619 Aling ay mahalagang ang parehong bagay. 687 00:30:19,619 --> 00:30:22,510 At ako sa paglabas sa isa y marahil. 688 00:30:22,510 --> 00:30:24,220 Isa lamang ay nangangahulugan ng isang error ng ilang mga uri. 689 00:30:24,220 --> 00:30:25,580 Ito ay non-zero, kaya ito ay isang error. 690 00:30:25,580 --> 00:30:30,220 >> Lahat ng karapatan, kaya kung ako pababa dito ngayon sa aking mga programa binuksan ko ang file. 691 00:30:30,220 --> 00:30:34,250 Pupunta ako sa sige at ipinapahayag isang array na tinatawag na mga address, 692 00:30:34,250 --> 00:30:38,610 at sa C Gusto ko bang malaman ang laki ng array nang maaga, di ba? 693 00:30:38,610 --> 00:30:41,910 O kailangan ko upang ipahayag na ito ay isang pointer, at pagkatapos ay gamitin malloc. 694 00:30:41,910 --> 00:30:44,720 At pagkatapos ay sa bawat oras ako basahin sa pamamagitan ng isa pang hanay sa file, 695 00:30:44,720 --> 00:30:46,620 Pupunta ako sa kailangan sa malloc higit pang memory, malloc higit pa memory. 696 00:30:46,620 --> 00:30:47,703 Iyan ay isang sakit sa ulo. 697 00:30:47,703 --> 00:30:50,950 At thankfully, PHP, at Ruby, at Python, at JavaScript, sila 698 00:30:50,950 --> 00:30:53,880 ay lumago ang iyong mga array para sa iyo awtomatikong. 699 00:30:53,880 --> 00:30:54,830 Wala nang malloc. 700 00:30:54,830 --> 00:30:56,227 Wala nang memory management. 701 00:30:56,227 --> 00:30:57,560 Mga computer ay tumatagal ng pag-aalaga ng na. 702 00:30:57,560 --> 00:31:00,330 Subalit ang presyo na binabayaran mo. 703 00:31:00,330 --> 00:31:01,350 Ito ay isang maliit na mas mabagal. 704 00:31:01,350 --> 00:31:03,190 At para sa isang programa na tulad nito hindi namin pagpunta sa paunawa. 705 00:31:03,190 --> 00:31:04,720 Kami ay pagpunta sa ipadala ang 100 mga text na mensahe. 706 00:31:04,720 --> 00:31:06,136 Halimbawa hindi pagpunta sa pakiramdam ito. 707 00:31:06,136 --> 00:31:08,430 IT talagang lamang ay nagsisimula sa mahalaga ang iyong wika ng mga pagpipilian 708 00:31:08,430 --> 00:31:11,490 kapag ang iyong data o iyong mga programa makakuha ng tunay, tunay na malaki, 709 00:31:11,490 --> 00:31:14,120 bilang ay ang kaso na mas kaya sa aming web based na mga bagay-bagay. 710 00:31:14,120 --> 00:31:15,450 >> Ngunit ni sumulong para sa ngayon. 711 00:31:15,450 --> 00:31:20,120 Habang ito ay lumiliko out mayroong isang function sa C tinatawag f makakuha CSV. 712 00:31:20,120 --> 00:31:24,570 File makakuha CSV, na tumatagal ng isang handle file bilang argument nito, 713 00:31:24,570 --> 00:31:28,810 at pagkatapos ito naaayos, hilera, sa pamamagitan ng hilera, sa pamamagitan ng hilera, na basahin sa isang hilera. 714 00:31:28,810 --> 00:31:30,964 Kaya nagbabasa lang ito ng isang linya ng text mula sa mga file. 715 00:31:30,964 --> 00:31:34,130 Ngunit ano ang maganda tungkol sa function na ito, ito ay hindi lamang ibigay sa akin ang isang linya ng teksto. 716 00:31:34,130 --> 00:31:37,320 Mukhang para sa mga kuwit, at Pina-parse ang linya. 717 00:31:37,320 --> 00:31:41,740 At upang i-parse ang linya ay nangangahulugan na split ito sa ilang mga halaga sa kontekstong ito. 718 00:31:41,740 --> 00:31:45,510 >> Sa ibang salita, dollar sign hilera ay isang variable na 719 00:31:45,510 --> 00:31:47,010 pagpunta sa bigyan ako ng grupo ng mga ini-index. 720 00:31:47,010 --> 00:31:49,635 Ito ay magiging ang unang haligi sa aking CSV. 721 00:31:49,635 --> 00:31:52,510 Ito ay magiging ang pangalawang haligi, ito ay magiging mga third, 722 00:31:52,510 --> 00:31:53,968 at ito ay magiging ikaapat na. 723 00:31:53,968 --> 00:31:57,440 Dahil pagpapabalik, at Excel ang hindi tumulong sa huling panahon na ginawa namin ito, 724 00:31:57,440 --> 00:32:03,350 ngunit kung download ko staff dot CSV. 725 00:32:03,350 --> 00:32:04,940 Oops, hindi palitan ang pangalan. 726 00:32:04,940 --> 00:32:09,120 Kung na-download ko dot staff CSV, at subukang buksan ito, 727 00:32:09,120 --> 00:32:12,510 Na ako na oh registered-- ko ako ay hindi update Excel magmula noong huli. 728 00:32:12,510 --> 00:32:15,880 Makikita mo na ang sa dot staff CSV, mayroon akong apat na haligi. 729 00:32:15,880 --> 00:32:18,720 Kaya kapag nabasa ko sa unang hilera para sa Abby dito, 730 00:32:18,720 --> 00:32:23,582 sign row dollar 0 ay Abby, sign row dollar isa ay Lyons, 731 00:32:23,582 --> 00:32:27,740 sign row dollar dalawang ay ang kanyang number, at pagkatapos carrier kanyang telepono. 732 00:32:27,740 --> 00:32:28,410 >> Kaya na ang lahat. 733 00:32:28,410 --> 00:32:30,740 At iyan ay nice, dahil ako ay hindi na ngayon malaman kung 734 00:32:30,740 --> 00:32:32,800 kung saan ang lahat ng mga kuwit tunay. 735 00:32:32,800 --> 00:32:35,300 Kaya ako pagpunta sa magpatuloy at gawin ito, ibinigay na kahulugan, 736 00:32:35,300 --> 00:32:38,960 Pupunta ako upang sabihin na ang kanyang pangalan ay sa hilera bracket zero, tulad ng ipinangako. 737 00:32:38,960 --> 00:32:41,150 At ako pagpunta sa grab-- at talaga, alam mo kung ano? 738 00:32:41,150 --> 00:32:42,780 Hindi ako pupunta upang mag-alala tungkol sa ang kanyang pangalan, sa kasong ito. 739 00:32:42,780 --> 00:32:43,988 Pupunta ako sa panatilihin ito simple. 740 00:32:43,988 --> 00:32:48,610 Pupunta ako upang gawin ang kanyang mga numero ay sa hilera bracket dalawa, sa tingin ko. 741 00:32:48,610 --> 00:32:50,510 At ang kanyang carrier ay sa kung saan? 742 00:32:50,510 --> 00:32:53,405 Row tatlo, isa sa ibabaw. 743 00:32:53,405 --> 00:32:54,280 Kaya walang bagong doon. 744 00:32:54,280 --> 00:32:56,770 Ito ay pag-index zero lamang sa isang array. 745 00:32:56,770 --> 00:32:58,760 >> At ngayon, ako pagpunta sa gawin ang sumusunod. 746 00:32:58,760 --> 00:33:03,930 Kung katumbas ng carrier ay katumbas ng AT & T-- Lamang ako ng pagpunta sa magkaroon ng isang loop-- 747 00:33:03,930 --> 00:33:06,790 Gusto kong lumikha ng isang email address na ganito ang hitsura. 748 00:33:06,790 --> 00:33:12,320 Ito ay magiging 617-555-1212 sa, kung ano ang mga ito, text.ATT.net, 749 00:33:12,320 --> 00:33:13,490 ay kung ano ang gusto kong gawin. 750 00:33:13,490 --> 00:33:15,260 Kaya kung paano ang gagawin ko ito? 751 00:33:15,260 --> 00:33:16,730 Pupunta ako upang gawin ang mga sumusunod. 752 00:33:16,730 --> 00:33:22,460 Ang kanyang address ay magiging kanyang mga numero, at ngayon, hayaan mo akong magpatuloy at gawin ito. 753 00:33:22,460 --> 00:33:23,760 Ito ang ilang mga funky syntax. 754 00:33:23,760 --> 00:33:27,250 Kaya kong gawin ang mga kakaibang ugali percent s, ngunit ako ay maaari talagang lamang gawin ito. 755 00:33:27,250 --> 00:33:29,900 >> Kaya ito ay isang PHP bagay, ngunit Isaalang-alang natin ang ginagawa ko ipaalam. 756 00:33:29,900 --> 00:33:31,630 Mag-sign address sa Dolyares sa kaliwa, isang variable lang. 757 00:33:31,630 --> 00:33:32,300 Bigyan mo ako ng isang variable. 758 00:33:32,300 --> 00:33:33,390 Hindi ko na kailangang tukuyin ang uri. 759 00:33:33,390 --> 00:33:34,570 PHP ay malaman ito. 760 00:33:34,570 --> 00:33:36,580 Sa kanang bahagi ng kamay, kung ano ang mga uri ng data 761 00:33:36,580 --> 00:33:38,399 ng na buong bagay sa kanang bahagi? 762 00:33:38,399 --> 00:33:40,190 Ganito ang hitsura ng isang string, dahil mayroong double 763 00:33:40,190 --> 00:33:42,280 quotes sa malayong kaliwa at kanang. 764 00:33:42,280 --> 00:33:44,210 Ngayon ay mayroong ilang mga funky bagong syntax dito. 765 00:33:44,210 --> 00:33:47,550 Mayroong ang curly braces, at ang dollar sign number. 766 00:33:47,550 --> 00:33:52,860 Ngunit tumagal ng isang hulaan kung alin ang syntax marahil na nagsasabi sa PHP na gawin para sa akin? 767 00:33:52,860 --> 00:33:53,360 Oo. 768 00:33:53,360 --> 00:33:54,630 Kailangan lang ipasok ang halaga doon. 769 00:33:54,630 --> 00:33:55,530 Kaya walang percent s. 770 00:33:55,530 --> 00:33:58,160 Maaari naming gamitin print f, o s print f o isang bagay na tulad nito, 771 00:33:58,160 --> 00:34:00,070 ngunit PHP at ng maraming mas mataas na antas ng wika, 772 00:34:00,070 --> 00:34:03,070 ikaw ay pagpunta upang makita na maaari mong gawin ang parehong bagay sa pagtakbo, baka 773 00:34:03,070 --> 00:34:04,019 anim na iba't ibang paraan. 774 00:34:04,019 --> 00:34:06,310 At kaya ito ay nagsisimula upang maging isang bagay ng disenyo o estilo. 775 00:34:06,310 --> 00:34:09,902 Kaya ito ay lamang ng isang misteryosong naghahanap ng paraan ng kasabihan, bigyan ako ng isang email address, 776 00:34:09,902 --> 00:34:12,110 ngunit plug-in ang numero sa sa pagitan ng mga kulot tirante. 777 00:34:12,110 --> 00:34:15,440 At ang curly braces ay hindi hanggang sa dulo ng final address. 778 00:34:15,440 --> 00:34:18,010 >> Ngayon ay maaari naming laktawan ang higit sa ilan sa mga mga linya para sa kapakanan ng panahon ni. 779 00:34:18,010 --> 00:34:21,210 Kaya kung katumbas ng isang carrier katumbas verHorizon-- Oops, 780 00:34:21,210 --> 00:34:24,989 Verizon-- gusto kong gawin ang isang bagay halos katulad na, kung saan makakakuha ng mga address, 781 00:34:24,989 --> 00:34:27,569 quote, magpanipi, numero sa text.ATT.net. 782 00:34:27,569 --> 00:34:30,380 783 00:34:30,380 --> 00:34:35,050 At pagkatapos ay maaari kong gawin ang parehong uri ng bagay para sa natitirang bahagi ng carrier. 784 00:34:35,050 --> 00:34:37,090 Ngunit kukunin ko na lang gawin tuldok, tuldok, tuldok para sa ngayon. 785 00:34:37,090 --> 00:34:43,050 At sabihin ipagpalagay na ngayon hayaan Gusto kong magdagdag ng array, itulak. 786 00:34:43,050 --> 00:34:45,969 Gusto kong idagdag sa array, na tinatawag na mga address. 787 00:34:45,969 --> 00:34:50,409 >> Ang address na ito, ito ay kung paano mo magdagdag ng isang bagay sa isang array sa PHP. 788 00:34:50,409 --> 00:34:51,610 Hindi mo na kailangan na gawin malloc. 789 00:34:51,610 --> 00:34:53,068 Hindi mo na kailangang palitan ang laki ng array. 790 00:34:53,068 --> 00:34:54,259 Ikaw lang sabihin array, push. 791 00:34:54,259 --> 00:34:57,300 Ano ang gusto mong push-- ano array ang gusto mong itulak ang isang bagay papunta? 792 00:34:57,300 --> 00:34:58,000 Address. 793 00:34:58,000 --> 00:34:59,550 Ano ang gusto mong itulak papunta address? 794 00:34:59,550 --> 00:35:00,350 Address. 795 00:35:00,350 --> 00:35:02,430 At sa katunayan, kung ikaw talagang gusto mong maging matalino, 796 00:35:02,430 --> 00:35:05,610 ilang sintaktik asukal para sa mga ito, kaya na magsalita, 797 00:35:05,610 --> 00:35:10,230 na kung saan ay nangangahulugan lamang kung paano mo maaaring gawin ito sa ang prettier paraan, ay upang gawin ito. 798 00:35:10,230 --> 00:35:14,060 Na masyadong ay ang epekto ng lumalaking ang mga address array sa pamamagitan ng laki ng isa, 799 00:35:14,060 --> 00:35:17,130 at pagkatapos ay gumawa ng mapa na ang karagdagang mga email address sa ito. 800 00:35:17,130 --> 00:35:17,630 Oo. 801 00:35:17,630 --> 00:35:19,730 >> Madla: [hindi marinig] 802 00:35:19,730 --> 00:35:22,520 >> Tagapagsalita 1: A typo sa ibang tao if-- oh, carrier. 803 00:35:22,520 --> 00:35:23,070 Iyon ang OK. 804 00:35:23,070 --> 00:35:26,971 Ito rin ay hindi gusto ang aking kabiguan na ipatupad bahagi ng programang ito 805 00:35:26,971 --> 00:35:27,470 sa ibang Pagkakataon. 806 00:35:27,470 --> 00:35:28,810 Ngunit salamat sa iyo para sa pansing. 807 00:35:28,810 --> 00:35:30,671 Isa pang bug. 808 00:35:30,671 --> 00:35:31,170 Salamat. 809 00:35:31,170 --> 00:35:33,746 Gusto naming ito upang maging Vtext.com. 810 00:35:33,746 --> 00:35:34,340 Oo. 811 00:35:34,340 --> 00:35:34,839 Lahat tama. 812 00:35:34,839 --> 00:35:36,330 Kaya kung saan ang mag-iwan sa amin? 813 00:35:36,330 --> 00:35:38,224 Nakasulat na namin ang mga code upang buksan ang file. 814 00:35:38,224 --> 00:35:40,390 Kami ay may isang loop upang umulit sa ibabaw ng hilera sa file. 815 00:35:40,390 --> 00:35:43,650 Mayroon kaming code na nagdadagdag sa aking array, isa sa isang panahon, ang tama 816 00:35:43,650 --> 00:35:44,790 format na email address. 817 00:35:44,790 --> 00:35:48,480 Kaya lahat na talagang nananatiling ay upang magpadala ng ng isang email sa bawat isa sa mga taong ito. 818 00:35:48,480 --> 00:35:52,830 >> Kaya ko na wala na magpatuloy at readied ang aking sarili ang mga sumusunod. 819 00:35:52,830 --> 00:35:59,580 Ano ako pagpunta sa gawin dito is-- at sabihin sige at lumaktaw sa ilang mga aktwal na code, 820 00:35:59,580 --> 00:36:00,620 na ganito ang hitsura. 821 00:36:00,620 --> 00:36:02,950 Kaya dito ay ang pre-baked bersyon na sinulat ko ng mas maaga. 822 00:36:02,950 --> 00:36:04,700 At mapansin ako tapos pagpapatupad ng Sprint. 823 00:36:04,700 --> 00:36:06,130 Natapos ko pagpapatupad T-Mobile. 824 00:36:06,130 --> 00:36:08,020 Natapos ko pagpapatupad Virgin Mobile. 825 00:36:08,020 --> 00:36:09,622 At ako ay humihingi ng paumanhin in advance. 826 00:36:09,622 --> 00:36:12,080 May ilang mga carrier na ilang mga mag-aaral sa klase ay may 827 00:36:12,080 --> 00:36:14,640 na hindi ako nag-abala isa-isahin sa kung ang condition dito. 828 00:36:14,640 --> 00:36:16,015 Kaya hindi lahat ng mga teksto ay pumunta out. 829 00:36:16,015 --> 00:36:17,556 Ngunit sabihin makita kung ano pa ang kailangan kong gawin. 830 00:36:17,556 --> 00:36:19,660 Isinara ko ang file, lamang tulad ng sa p set apat. 831 00:36:19,660 --> 00:36:20,835 >> At ito ang mga bagong syntax. 832 00:36:20,835 --> 00:36:22,710 At kami na makita ang isang maliit na bit ng mga ito sa paglipas ng panahon, 833 00:36:22,710 --> 00:36:24,450 lalo na sa mga p set ng pitong at walong. 834 00:36:24,450 --> 00:36:28,140 Ngunit ito ay syntax para sa paglikha ng ng isang espesyal na uri ng istraktura. 835 00:36:28,140 --> 00:36:31,490 Ito ay lumiliko out mayroong isang library na lumapit sa PHP, tinatawag mailer PHP. 836 00:36:31,490 --> 00:36:33,840 Ang layunin nito sa buhay ay ang programming magpadala ng mga email. 837 00:36:33,840 --> 00:36:36,840 Ito ay code sa ibang tao sinulat ni na Ginagawa nitong mas madali para sa amin upang magpadala ng mga email, 838 00:36:36,840 --> 00:36:39,131 kaya hindi namin na kailangang panatilihin balik-balik sa Gmail, 839 00:36:39,131 --> 00:36:41,151 at pag-paste sa mga email address ng mga tao. 840 00:36:41,151 --> 00:36:44,150 May isang buong grupo ng mga linya dito na sa totoo lang, ako lamang ang uri ng kinopya 841 00:36:44,150 --> 00:36:45,660 at ilagay mula sa mga babasahin. 842 00:36:45,660 --> 00:36:47,409 At sa katunayan, kung ikaw ay curious, iniwan ko ang lahat 843 00:36:47,409 --> 00:36:50,550 sa mga URL ng mga babasahin sa code na Magpo-post kami mamaya. 844 00:36:50,550 --> 00:36:52,360 At mapansin na bukod sa ang mga bagay-bagay ako ng paggawa 845 00:36:52,360 --> 00:36:55,710 ay, ako na nagsasabi sa library na ito, gamitin ang server ng Gmail, di ba? 846 00:36:55,710 --> 00:36:59,360 SMTP usapan natin tungkol sa madaling sabi kapag namin ay sa Yale tungkol sa pagiging simple mail 847 00:36:59,360 --> 00:37:00,110 transfer protocol. 848 00:37:00,110 --> 00:37:02,920 Ito ay ang protocol na server na ginamit upang magpadala ng mga email, 849 00:37:02,920 --> 00:37:05,150 at that's-- Gmail ay may isa sa mga iyon. 850 00:37:05,150 --> 00:37:07,290 Ang isang port, ito ay ang TCP port number. 851 00:37:07,290 --> 00:37:09,630 Ito ay multa kung ikaw hindi nakita 587 bago. 852 00:37:09,630 --> 00:37:11,420 Basta alam na mula sa mga babasahin. 853 00:37:11,420 --> 00:37:12,250 Ito ang aking username. 854 00:37:12,250 --> 00:37:13,670 Pupunta ako upang gamitin ang CF50 bot. 855 00:37:13,670 --> 00:37:16,690 At sa isang sandali, ako lamang ang pagpunta sa type sa tunay na mga password ang bot ni. 856 00:37:16,690 --> 00:37:18,690 At pagkatapos ay down na dito, pansinin kung ano ang nananatiling. 857 00:37:18,690 --> 00:37:22,840 >> Inilagay ko ang aking mula sa address na bot sa CS50.net. 858 00:37:22,840 --> 00:37:26,240 Sa tingin ko ay hindi ako Pagsisisihan pagpapadala ng isang text message sa 800 mga tao na 859 00:37:26,240 --> 00:37:30,590 sabi, miss mo, pag-ibig CS50 bot, marahil para sa mga taong hindi maaaring magkaroon ng mga ito ngayon. 860 00:37:30,590 --> 00:37:33,160 At pagkatapos ay sa 76 na linya, ano ang gagawin ko? 861 00:37:33,160 --> 00:37:39,010 Ang uri ng hitsura tulad ng C. Kaya para i ay katumbas ng 0, n equals-- ngayon count ay bago. 862 00:37:39,010 --> 00:37:42,077 Ito ay lumiliko out na kung nais mong makakuha ng ang bilang ng mga bagay-bagay sa isang array, 863 00:37:42,077 --> 00:37:43,660 Hindi mo na kailangang tandaan ang mga ito anymore. 864 00:37:43,660 --> 00:37:45,370 Maaari mo lamang magtanong sa isang function na tinatawag na bilang, 865 00:37:45,370 --> 00:37:48,320 at ito ay magsasabi sa iyo kung gaano karaming addresses sa na array. 866 00:37:48,320 --> 00:37:53,210 >> At pagkatapos ay ako pagpunta sa magdagdag ng address sa email. 867 00:37:53,210 --> 00:37:55,090 At alam ko na ito mula sa gamit ang mga babasahin. 868 00:37:55,090 --> 00:37:56,900 Mayroong isang function na add address. 869 00:37:56,900 --> 00:37:58,980 At ngayon mapansin doon ay isang piraso ng syntax. 870 00:37:58,980 --> 00:38:01,470 Nakita namin ang mga ito sa harap ng sa C. Katulad sa espiritu. 871 00:38:01,470 --> 00:38:04,100 Maaari mong isipin ng dollar sign mail bilang isang variable, na kung saan ito ay. 872 00:38:04,100 --> 00:38:08,100 Ngunit ito ay isang struct sa loob ng na kung saan ay hindi lamang katangian, 873 00:38:08,100 --> 00:38:09,400 variable kung ikaw ay. 874 00:38:09,400 --> 00:38:13,480 Ngunit ito ay lumiliko out na sa PHP, na kung saan ay isang bagay na nakatuon sa programming 875 00:38:13,480 --> 00:38:16,520 wika, tulad ng Java kung kinuha APCS. 876 00:38:16,520 --> 00:38:21,420 >> Sign mail Dollar, kung gusto mong to-- ito rin ay may mga pag-andar sa loob ng mga ito, 877 00:38:21,420 --> 00:38:22,380 o mga pamamaraan. 878 00:38:22,380 --> 00:38:24,720 Kaya ito ay ang sabihin na espesyal mailer PHP 879 00:38:24,720 --> 00:38:29,280 library, kung Mayroon akong isang variable niyaon, kung gusto kong tumawag sa isang function na 880 00:38:29,280 --> 00:38:31,559 ay may na library, para sa mga layunin sa ngayon, 881 00:38:31,559 --> 00:38:33,100 lamang malaman mong gamitin ang mga arrow pagtatanda. 882 00:38:33,100 --> 00:38:34,150 Walang notation tuldok. 883 00:38:34,150 --> 00:38:35,220 Ito lang ang arrow. 884 00:38:35,220 --> 00:38:36,380 Ngunit hindi iyon isang pointer. 885 00:38:36,380 --> 00:38:38,680 Lamang Ito ay hiram mula sa syntax C ni. 886 00:38:38,680 --> 00:38:43,620 Kaya tumawag si address sa loob ng bagay o variable na ito library. 887 00:38:43,620 --> 00:38:44,440 >> Lahat tama. 888 00:38:44,440 --> 00:38:45,570 Ito ang mahiwagang linya. 889 00:38:45,570 --> 00:38:46,740 Iyon ay kung paano ba akong magpadala ng isang email. 890 00:38:46,740 --> 00:38:50,040 Iyon ay katumbas ng pagbubukas up Gmail, type ito, at pagpindot ipadala. 891 00:38:50,040 --> 00:38:54,870 Ngunit ito ay pagpunta sa halip ay magpadala ng isang mag-email sa address na ito, na may ganitong katawan, 892 00:38:54,870 --> 00:38:57,120 mula sa CS50 bot. 893 00:38:57,120 --> 00:38:58,710 At ngayon key linya. 894 00:38:58,710 --> 00:39:03,130 Ang linyang ito ay absent sa tulad ng 2011 kapag sa tingin ko ako huling sinubukan ito. 895 00:39:03,130 --> 00:39:05,640 Iyon linya doon, siyempre, nililimas ang address. 896 00:39:05,640 --> 00:39:07,920 Kaya lohikal na, kung ako huwag i-clear ang address 897 00:39:07,920 --> 00:39:11,740 pagkatapos ng bawat pag-ulit, ang unang mag-email o text message papunta sa Alice, 898 00:39:11,740 --> 00:39:14,320 ikalawang ang papunta sa Alice at Bob, ang ikatlong 899 00:39:14,320 --> 00:39:17,870 papunta sa Alice at Bob at Charlie, kaya ang tunay mahal pagkakamali 900 00:39:17,870 --> 00:39:18,760 Ako na ginawa ng taong iyon. 901 00:39:18,760 --> 00:39:21,080 >> Kaya sabihin makita. 902 00:39:21,080 --> 00:39:24,200 Mayroon bang anumang mga katanungan bago namin magpadala sa iyo ng lahat ng teksto 903 00:39:24,200 --> 00:39:28,210 message na may 10 porsiyento ng probabilidad? 904 00:39:28,210 --> 00:39:28,940 May tanong? 905 00:39:28,940 --> 00:39:30,330 Lahat tama. 906 00:39:30,330 --> 00:39:36,100 Sabihin sa akin pumunta sa dito at pagbabago ang password sa kung ano ang dapat gawain, 907 00:39:36,100 --> 00:39:37,780 malamang ay makakuha ng blacklisted sa pamamagitan ng Gmail. 908 00:39:37,780 --> 00:39:39,821 Kaya maaaring hindi lahat ng mga ito pumunta out, dahil ang mga ito ay malamang na 909 00:39:39,821 --> 00:39:42,960 ang hindi nagkagusto sa amin pagpapadala 800 emails sa isang para sa loop ang lahat nang sabay-sabay. 910 00:39:42,960 --> 00:39:45,140 Dahil hindi iyon pag-uugali lalo na ng tao. 911 00:39:45,140 --> 00:39:47,460 >> Oh, ako pagpunta upang baguhin ang isa sa iba pang mga bagay. 912 00:39:47,460 --> 00:39:50,850 Up sa itaas, ako pagpunta sa sent-- baguhin ang mga file na mag-aaral na tuldok CSV. 913 00:39:50,850 --> 00:39:55,420 At hindi ko bubuksan ito, ngunit ito ay isang magkapareho CSV file na may hindi 100 kawani, 914 00:39:55,420 --> 00:39:58,970 ngunit 800 mga mag-aaral, lamang mula sa Harvard, dahil Yale 915 00:39:58,970 --> 00:40:00,207 Wala sa linggong recess Oktubre. 916 00:40:00,207 --> 00:40:03,290 At tila ang uri ng isang haltak bagay na gawin sa text lahat ng mga ito na kung bakit 917 00:40:03,290 --> 00:40:04,750 ang mga ito ay wala sa klase sa holiday. 918 00:40:04,750 --> 00:40:05,250 Iyon ang OK. 919 00:40:05,250 --> 00:40:08,310 Harvard mag-aaral lamang ngayon sa loob ng file na iyon. 920 00:40:08,310 --> 00:40:12,320 At ngayon sabihin bumalik sa aking terminal na window. 921 00:40:12,320 --> 00:40:13,710 Ako uri ng nerbiyos. 922 00:40:13,710 --> 00:40:22,000 >> OK kaya ngayon ako pagpunta sa pumunta sa direktoryo, at text PHP dot PHP. 923 00:40:22,000 --> 00:40:24,950 Paano ang tungkol sa isang matapang volunteer? 924 00:40:24,950 --> 00:40:26,690 Kaya hindi ko gusto na ito sa akin. 925 00:40:26,690 --> 00:40:28,410 OK, dumating sa up. 926 00:40:28,410 --> 00:40:29,162 Ano ang pangalan mo? 927 00:40:29,162 --> 00:40:29,662 MAYA: Maya. 928 00:40:29,662 --> 00:40:30,328 Tagapagsalita 1: Maya. 929 00:40:30,328 --> 00:40:31,610 Lumapit sa up, Maya. 930 00:40:31,610 --> 00:40:34,120 Lahat tama. 931 00:40:34,120 --> 00:40:35,389 Tingnan natin kung ito gumagana. 932 00:40:35,389 --> 00:40:38,430 Ilalagay ko ang aking sariling email address sa file-- aking sariling numero ng telepono sa file, 933 00:40:38,430 --> 00:40:40,110 kaya inaasahan namin na magagawa ko na isa rin. 934 00:40:40,110 --> 00:40:40,819 Masaya akong makilala kayo. 935 00:40:40,819 --> 00:40:41,443 MAYA: Gayon din naman. 936 00:40:41,443 --> 00:40:44,510 Tagapagsalita 1: Kaya lahat ng kailangan mong gawin ay ang pindutin ang Enter upang magpadala ng 800 mga text na mensahe, 937 00:40:44,510 --> 00:40:45,466 kung hindi ko magtaas. 938 00:40:45,466 --> 00:40:51,106 939 00:40:51,106 --> 00:40:51,606 Nice. 940 00:40:51,606 --> 00:40:55,556 941 00:40:55,556 --> 00:40:58,430 Puwede magtagal, istatistika, hanggang sa makuha namin sa isang email address-- 942 00:40:58,430 --> 00:41:00,573 isang text message na sa kuwarto ngayon. 943 00:41:00,573 --> 00:41:03,880 944 00:41:03,880 --> 00:41:05,390 Ni magtagal at Tingnan natin. 945 00:41:05,390 --> 00:41:06,940 >> Madla: [Pagsipol] 946 00:41:06,940 --> 00:41:08,270 >> Tagapagsalita 1: Oh, yes. 947 00:41:08,270 --> 00:41:09,230 >> Madla: Oh, gotcha. 948 00:41:09,230 --> 00:41:16,720 949 00:41:16,720 --> 00:41:19,180 >> Tagapagsalita 1: Para sa mga loop are-- ito ay hindi mabagal dahil sa PHP. 950 00:41:19,180 --> 00:41:21,810 Ito ay mabagal dahil Gmail ay Throttling amin at hindi 951 00:41:21,810 --> 00:41:25,170 pagpapaalam sa amin magpadala ng higit sa tulad ng isang email sa bawat segundo. 952 00:41:25,170 --> 00:41:26,300 Kahit ano? 953 00:41:26,300 --> 00:41:29,990 Ito ay isang mahirap na bagay para sa akin upang subukan sa bahay sa akin lang at aking isang telepono, kaya. 954 00:41:29,990 --> 00:41:37,630 955 00:41:37,630 --> 00:41:41,111 Ay na sana mula sa bot? 956 00:41:41,111 --> 00:41:41,610 Oo? 957 00:41:41,610 --> 00:41:42,110 Hindi? 958 00:41:42,110 --> 00:41:44,760 959 00:41:44,760 --> 00:41:46,620 Sabihin ninyo ang oo. 960 00:41:46,620 --> 00:41:47,479 Hindi? 961 00:41:47,479 --> 00:41:49,374 Ito ay mula sa isang kaibigan? 962 00:41:49,374 --> 00:41:49,874 Awkward. 963 00:41:49,874 --> 00:41:50,374 SIGE. 964 00:41:50,374 --> 00:41:56,580 965 00:41:56,580 --> 00:42:00,090 Medyo na ito ay gumagana kahit na. 966 00:42:00,090 --> 00:42:00,910 Uh oh. 967 00:42:00,910 --> 00:42:03,190 Sila black-- oh, maghintay ng isang minuto. 968 00:42:03,190 --> 00:42:04,280 Oh, alam mo kung ano? 969 00:42:04,280 --> 00:42:06,100 Sandali lamang. 970 00:42:06,100 --> 00:42:07,802 Tanging Maya at I-- Mia, ay ito? 971 00:42:07,802 --> 00:42:08,301 MAYA: Maya. 972 00:42:08,301 --> 00:42:12,110 Tagapagsalita 1: Maya, ay pagpunta sa malaman kung ano ang ginawa kong mali dito. 973 00:42:12,110 --> 00:42:14,890 Oh, maghintay ng isang minuto. 974 00:42:14,890 --> 00:42:23,320 Sa tingin ko lang ako ay nagpadala ng 100 text na mensahe sa 555-1212. 975 00:42:23,320 --> 00:42:24,346 Tumayo ka sa tabi. 976 00:42:24,346 --> 00:42:28,080 977 00:42:28,080 --> 00:42:29,270 Hindi ko maaaring manalo ng anumang taon. 978 00:42:29,270 --> 00:42:30,180 SIGE. 979 00:42:30,180 --> 00:42:30,680 Maya? 980 00:42:30,680 --> 00:42:33,530 981 00:42:33,530 --> 00:42:36,219 Ayusin na sa post production. 982 00:42:36,219 --> 00:42:36,718 Dammit! 983 00:42:36,718 --> 00:42:39,430 984 00:42:39,430 --> 00:42:40,390 Sinusundan mula address. 985 00:42:40,390 --> 00:42:41,301 OK, sa pamamagitan ng stand. 986 00:42:41,301 --> 00:42:41,800 Sorry. 987 00:42:41,800 --> 00:42:44,550 988 00:42:44,550 --> 00:42:47,080 Ito ay masakit sa bawat taon. 989 00:42:47,080 --> 00:42:48,640 OK, isa sandali. 990 00:42:48,640 --> 00:42:50,530 Mabuti ito. 991 00:42:50,530 --> 00:42:54,010 Sa halip ako pagpunta sa gawin ito. 992 00:42:54,010 --> 00:42:55,470 Print address. 993 00:42:55,470 --> 00:42:56,030 OK, sa pamamagitan ng stand. 994 00:42:56,030 --> 00:43:01,340 Print address, bracket i. 995 00:43:01,340 --> 00:43:02,710 Oo, gusto ko na. 996 00:43:02,710 --> 00:43:10,220 Dollar sign-- OK Ipapaliwanag ko kung ano ako ginagawa sa isang sandali, pagkatapos patakbuhin ko na ito. 997 00:43:10,220 --> 00:43:11,670 Taon taon. 998 00:43:11,670 --> 00:43:13,125 OK, ayan na naman. 999 00:43:13,125 --> 00:43:15,750 Mayroon akong just-- at hindi ko gusto upang ipakita ang numero ng telepono ng lahat, 1000 00:43:15,750 --> 00:43:17,740 ngunit Maya makumpirma may isang tango ng ulo, 1001 00:43:17,740 --> 00:43:20,800 na nakikita niya sa lahat ng tao ay numero ng telepono sa klase 1002 00:43:20,800 --> 00:43:26,750 na ako pagpunta sa kopya sa isang programa na tinatawag Gmail. 1003 00:43:26,750 --> 00:43:30,860 At kung sa Gmail, kung ano ang gusto naming sabihin? 1004 00:43:30,860 --> 00:43:32,137 Miss mo. 1005 00:43:32,137 --> 00:43:33,220 Love-- iyan ay hindi mula sa akin. 1006 00:43:33,220 --> 00:43:35,230 Hindi ko pa kahit na hit pa ipadala. 1007 00:43:35,230 --> 00:43:39,450 Kaya sabihin magpatuloy at gawin na ito, kung maaari kong i-zoom in. 1008 00:43:39,450 --> 00:43:40,300 SIGE. 1009 00:43:40,300 --> 00:43:42,480 Kaya gumagamit ako ng isang programa na tinatawag na Gmail ngayon. 1010 00:43:42,480 --> 00:43:44,490 Kung Maya, gusto mo na i-click ang Ipadala na pindutan, 1011 00:43:44,490 --> 00:43:46,970 ay gayahin namin kung ano na ang dapat nagawa code. 1012 00:43:46,970 --> 00:43:54,630 1013 00:43:54,630 --> 00:43:55,254 >> Kahit ano? 1014 00:43:55,254 --> 00:43:56,062 >> [Mga beep] 1015 00:43:56,062 --> 00:43:56,870 >> Madla: Yep. 1016 00:43:56,870 --> 00:43:58,030 >> Tagapagsalita 1: Oo? 1017 00:43:58,030 --> 00:43:59,210 Kaligtasan? 1018 00:43:59,210 --> 00:44:00,427 >> Madla: Yep. 1019 00:44:00,427 --> 00:44:01,260 Tagapagsalita 1: Miss mo. 1020 00:44:01,260 --> 00:44:02,718 At ako pagpunta upang magpadala ng out ang natitira. 1021 00:44:02,718 --> 00:44:06,060 Ipinadala ko ang kalahati dahil hindi ko naisip Gmail ay ipaalam sa mga pumunta sa pamamagitan ng. 1022 00:44:06,060 --> 00:44:12,410 Kaya tandaan lamang, ngayon ay ang araw na iyong natutunan na maaari kong gamitin sa Gmail. 1023 00:44:12,410 --> 00:44:14,977 1024 00:44:14,977 --> 00:44:15,810 Iyon ay horrifying. 1025 00:44:15,810 --> 00:44:17,140 Isang malaking palakpakan na Maya. 1026 00:44:17,140 --> 00:44:18,980 Salamat. 1027 00:44:18,980 --> 00:44:21,280 Lahat ng karapatan, kaya. 1028 00:44:21,280 --> 00:44:22,210 Ano 1029 00:44:22,210 --> 00:44:23,140 >> [Mga beep] 1030 00:44:23,140 --> 00:44:25,010 1031 00:44:25,010 --> 00:44:26,580 >> Nakakuha kami ng ilang mga beep, yes? 1032 00:44:26,580 --> 00:44:27,080 Lahat tama. 1033 00:44:27,080 --> 00:44:30,590 Ngayon ako pagpunta upang makakuha ng 700 tunay malungkot emails mula sa likod mga kaklase. 1034 00:44:30,590 --> 00:44:32,400 Kaya hindi bababa sa kami makita kung na katumbas ng halaga. 1035 00:44:32,400 --> 00:44:33,300 Kaya kung ano ang nangyaring mali? 1036 00:44:33,300 --> 00:44:35,300 Kukunin ko malaman kung ano ang nangyaring mali pagkatapos ng katotohanan, 1037 00:44:35,300 --> 00:44:38,340 ngunit tumingin lamang kung gaano kadali ito ay upang gawin na sa PHP. 1038 00:44:38,340 --> 00:44:44,598 Kaya kung ano ang maaari naming aktwal na gawin ngayon na taglay namin ang expressiveness ng PHP. 1039 00:44:44,598 --> 00:44:45,970 Iyon was-- na kakila-kilabot. 1040 00:44:45,970 --> 00:44:46,480 Lahat tama. 1041 00:44:46,480 --> 00:44:48,430 Kaya na ay kung ano ang dapat lumabas. 1042 00:44:48,430 --> 00:44:52,770 Ito ay akin pagsubok na ito umaga sa aking telepono, aktwal na screenshot ng aking phone. 1043 00:44:52,770 --> 00:44:56,180 >> Subalit isaalang-alang ang dahilan kung bakit ngayon hayaan aktwal na kami ay pagpapasok 1044 00:44:56,180 --> 00:44:57,840 ang lahat ng ito bagay-bagay sa unang lugar. 1045 00:44:57,840 --> 00:45:01,625 Kaya ang layunin ay hindi upang isulat ang mga programa na 1046 00:45:01,625 --> 00:45:03,250 ay nakasulat sa command line, di ba? 1047 00:45:03,250 --> 00:45:05,000 Kaya isinulat ko ang isang simpleng kumusta program, isinulat ko 1048 00:45:05,000 --> 00:45:09,155 isang maliit na programa na ginagawa conditionals, at ginamit ang isang read line at iba pa. 1049 00:45:09,155 --> 00:45:11,530 At sa teorya, lamang na sinulat ko isang programa na ipinadala out 1050 00:45:11,530 --> 00:45:14,290 800 mga text na mensahe, bigyan o kumuha ng 800. 1051 00:45:14,290 --> 00:45:16,830 At program na lahat pa rin tumakbo sa command line. 1052 00:45:16,830 --> 00:45:18,538 At na siyempre ay hindi sa web, i-right? 1053 00:45:18,538 --> 00:45:22,160 Ang layunin ngayon ay upang simulan ang paggamit ng kung ano ang claim ko ay isang mas madaling gamitin 1054 00:45:22,160 --> 00:45:24,720 wika, sa palagay ng isang mas malakas na wika sa mga tuntunin 1055 00:45:24,720 --> 00:45:27,104 sa mga katangian na nanggaling sa mga ito, upang magsimula 1056 00:45:27,104 --> 00:45:29,850 pagsulat ng code na bumubuo ng mga pahina ng web. 1057 00:45:29,850 --> 00:45:33,248 >> Kaya huling oras at noong nakaraang linggo, usapan natin ang tungkol HTTP at HTML. 1058 00:45:33,248 --> 00:45:36,350 At kung ano ang magaling tungkol sa HTML ay na ito lamang ay purong teksto. 1059 00:45:36,350 --> 00:45:38,220 At text ay tiyak isang bagay na maaari mong 1060 00:45:38,220 --> 00:45:42,040 i-print sa pamamagitan ng literal pagtawag sa print f function, o ang function print. 1061 00:45:42,040 --> 00:45:46,160 At sa katunayan, iyon ang PHP ay ngayon pagpunta sa-daan sa amin upang gawin. 1062 00:45:46,160 --> 00:45:48,610 Kaya kabilang sa mga halimbawa namin magkaroon sa source code ngayong araw, 1063 00:45:48,610 --> 00:45:51,610 bilang karagdagan sa ilan sa mga code na ko bang ilagay up doon ng ilang sandali ang nakalipas, 1064 00:45:51,610 --> 00:45:55,440 kami ay may mga programa na tulad nito para sa mga halimbawa. 1065 00:45:55,440 --> 00:45:58,760 Froshims, o Freshman Nasa loob ng lunsod sports, ay tunay na 1066 00:45:58,760 --> 00:46:01,500 isa sa mga unang extracurriculars Nakatanggap ako kasangkot sa taon na nakalipas. 1067 00:46:01,500 --> 00:46:03,750 At ang aking mga kasama sa kuwarto at ako, na may sa ilang ibang mga bata sa kampus, 1068 00:46:03,750 --> 00:46:05,280 ginagamit upang patakbuhin ang programa froshims. 1069 00:46:05,280 --> 00:46:07,420 Nakakakuha ako ng aking mga text message ngayon. 1070 00:46:07,420 --> 00:46:14,030 >> Ngayon kaya namin, bumalik sa araw, kaya ito ay 1996 o kaya, nagkaroon ng internet, 1071 00:46:14,030 --> 00:46:17,395 ngunit walang process-- doon Walang website para froshims. 1072 00:46:17,395 --> 00:46:20,270 At kaya kung nais mo upang mag-sign up para sa soccer o volleyball o kahit ano, 1073 00:46:20,270 --> 00:46:22,240 Gusto mong punan ang bagay na ito tinatawag na isang piraso ng papel, 1074 00:46:22,240 --> 00:46:25,060 at gusto mong maglakad sa kabuuan ng Harvard bakuran, at nais mong i-slide ito 1075 00:46:25,060 --> 00:46:29,230 papunta sa mail slot ng proctor, na ay sa Wigglesworth, isa sa mga dorms. 1076 00:46:29,230 --> 00:46:31,270 At ito ay sa iyo registered. 1077 00:46:31,270 --> 00:46:33,570 At pagkatapos siya ay gagawin gumawa ng sulat ng isang email sa inyo 1078 00:46:33,570 --> 00:46:36,514 mano-mano, magkano ang gusto ko ginawa lamang dito sa Maya, 1079 00:46:36,514 --> 00:46:38,930 at pagkatapos ay ikaw ay nakumpirma bilang pagiging nakarehistro. 1080 00:46:38,930 --> 00:46:40,840 >> Kaya ito ay tulad ng mababang kuning, kaya na magsalita. 1081 00:46:40,840 --> 00:46:42,930 Ito ay uri ng tangang na kami ay gumagamit ng papel para sa mga ito. 1082 00:46:42,930 --> 00:46:45,024 Nais kong sa amin upang ma pumunta lamang sa isang website, 1083 00:46:45,024 --> 00:46:47,440 o may mga freshmen pumunta sa isang website, magrehistro para sa sports, 1084 00:46:47,440 --> 00:46:50,398 at automate lamang ng maraming mga bagay-bagay na ito sa pamamagitan ng paglagay ng kanilang mga pangalan at email 1085 00:46:50,398 --> 00:46:51,850 at iba pa sa isang database. 1086 00:46:51,850 --> 00:46:56,510 At sa katunayan, ang pinakaunang bersyon ng website, gamit ang sobrang pangit HTML, 1087 00:46:56,510 --> 00:46:58,195 maaaring tumingin ng isang bagay tulad nito. 1088 00:46:58,195 --> 00:47:01,070 Ito ay talagang, balintuna, higit pa nakakahiya na naghahanap kaysa ito pabalik 1089 00:47:01,070 --> 00:47:01,460 pagkatapos. 1090 00:47:01,460 --> 00:47:02,890 Ngunit ginamit ko ang isang programming language. 1091 00:47:02,890 --> 00:47:06,060 Hindi PHP, ngunit sa halip na tinatawag Perl, na kung saan ay isang mas lumang wika, 1092 00:47:06,060 --> 00:47:07,251 ngunit halos kapareho sa espiritu. 1093 00:47:07,251 --> 00:47:09,000 At ako lamang ang ganap na itinuro ito sa aking sarili. 1094 00:47:09,000 --> 00:47:12,208 At ito kinuha sa akin ng isang habang upang malaman ito, humihingi ng maraming mga katanungan ng mga kaibigan. 1095 00:47:12,208 --> 00:47:14,080 Ngunit ang mga ideya doon ay eksaktong kapareho. 1096 00:47:14,080 --> 00:47:18,050 Dahil kung ano ang PHP ay tunay na dinisenyo para sa ay hindi ang mga bagay-bagay command line 1097 00:47:18,050 --> 00:47:20,450 nilalaro lang namin sa, ngunit para sa web programming. 1098 00:47:20,450 --> 00:47:24,960 >> Talaga Ito ay nakatali sa kanyang katangian nakatakda sa web, tulad ng sumusunod. 1099 00:47:24,960 --> 00:47:26,370 Ito ang froshims. 1100 00:47:26,370 --> 00:47:28,720 At kung nais kong magparehistro sa form na ito, 1101 00:47:28,720 --> 00:47:30,930 ito ay lubos na pangit, tiyak, ngunit hayaan mo akong magpatuloy 1102 00:47:30,930 --> 00:47:34,440 at maging isang mas kumportable na estudyante, at kahit anong sport para sa Matthews, 1103 00:47:34,440 --> 00:47:35,630 i-click ang Register. 1104 00:47:35,630 --> 00:47:39,780 Ano ang gusto kong magawa ay isumite ang impormasyon mula sa isang form, 1105 00:47:39,780 --> 00:47:42,400 hindi server ng Google tulad ng ginawa namin huling oras, ganap 1106 00:47:42,400 --> 00:47:47,100 Pandaraya sa pamamagitan ng paggamit ng kanilang backend, ako nais na ipatupad ang aking sariling backend code. 1107 00:47:47,100 --> 00:47:51,410 Na nangangahulugan write PHP code na nakatira sa isang URL 1108 00:47:51,410 --> 00:47:54,180 maaaring isumite sa na data ng form. 1109 00:47:54,180 --> 00:47:57,510 >> At pagkatapos ang iyong code, nakasulat sa PHP sa isang server, 1110 00:47:57,510 --> 00:47:59,400 Maaari pagkatapos ay tumugon sa na input ng user. 1111 00:47:59,400 --> 00:48:03,287 Tulad ng kanyang pangalan, o antas ng kaginhawaan, o dorm, at pagkatapos ay gawin ang isang bagay sa mga ito. 1112 00:48:03,287 --> 00:48:05,120 Sa kasong ito, ako lamang stupidly nakalimbag ito 1113 00:48:05,120 --> 00:48:06,750 bilang teksto, na kung saan ay hindi lahat na pretty. 1114 00:48:06,750 --> 00:48:09,590 Ngunit maaari mong tiyak isipin, kung alam mo na HTML, 1115 00:48:09,590 --> 00:48:13,010 at makikita mo sa lalong madaling panahon malaman kung paano bumuo ng HTML na may print f, at i-print, 1116 00:48:13,010 --> 00:48:16,500 at mga katulad na pag-andar, maaari mong tiyak bumuo ng isang prettier web page na nagsasabing, 1117 00:48:16,500 --> 00:48:17,929 hey David, ikaw ay nakarehistro sa ngayon. 1118 00:48:17,929 --> 00:48:20,220 Ikaw ay isang mas kumportable mag-aaral mula Matthews, di ba? 1119 00:48:20,220 --> 00:48:23,880 >> Maaari mo lamang gamitin ang maramihang mga% Moises, o ang curly braces at dollar sign 1120 00:48:23,880 --> 00:48:27,750 notation ginamit ko ng ilang sandali ang nakalipas, upang bumuo ng text na mas user friendly 1121 00:48:27,750 --> 00:48:28,567 kaysa dito. 1122 00:48:28,567 --> 00:48:30,150 Kaya sabihin kumuha ng isang pagtingin sa ito sa isang file. 1123 00:48:30,150 --> 00:48:34,666 Mukhang Froshim zero dot PHP tulad nito. 1124 00:48:34,666 --> 00:48:37,860 1125 00:48:37,860 --> 00:48:43,500 Kapag i-reload ko CS50 IDE, froshim zero ganito ang hitsura nito. 1126 00:48:43,500 --> 00:48:45,700 Ito ang froshim zero dot PHP. 1127 00:48:45,700 --> 00:48:47,730 At kung ano ang napansin mo ang file na ito? 1128 00:48:47,730 --> 00:48:49,506 >> Madla: [hindi marinig] 1129 00:48:49,506 --> 00:48:50,922 Tagapagsalita 1: Paumanhin, ang isang maliit na louder? 1130 00:48:50,922 --> 00:48:53,250 Madla: [hindi marinig] Ang lahat ng ito sa HTML. 1131 00:48:53,250 --> 00:48:57,130 At sa katunayan, ito ay, dahil kung ano ang kawili-wiling tungkol sa PHP 1132 00:48:57,130 --> 00:48:58,880 ay na ito ay dinisenyo upang maging, para sa mas mahusay 1133 00:48:58,880 --> 00:49:02,110 o para sa mas masahol pa, intermingled sa HTML code. 1134 00:49:02,110 --> 00:49:05,850 At sa katunayan, kahit na ito file, froshim zero dot PHP, 1135 00:49:05,850 --> 00:49:11,470 may isang puna PHP sa tuktok ng mga ito, ang lahat lamang HTML. 1136 00:49:11,470 --> 00:49:17,655 Ngunit sa pamamagitan ng kaibahan, kung buksan ko up, sabihin sabihin nating, magparehistro zero dot PHP, na kung saan 1137 00:49:17,655 --> 00:49:19,550 may isang malaking puna sa tuktok lang. 1138 00:49:19,550 --> 00:49:26,500 Ito masyadong mukhang halos buong tulad ng HTML, maliban para sa kung ano? 1139 00:49:26,500 --> 00:49:29,350 Line, ano, 21 hitsura ng isang maliit na kakaiba. 1140 00:49:29,350 --> 00:49:32,739 >> Ngunit mapansin ako ng pagpasok mode PHP may bukas bracket tandang pananong PHP. 1141 00:49:32,739 --> 00:49:33,780 Pagkatapos Mayroon akong ilang mga bagay-bagay. 1142 00:49:33,780 --> 00:49:36,724 At pagkatapos ay sa dulo ng linya halos ako, tanong mark PHP. 1143 00:49:36,724 --> 00:49:38,390 At ito ay kung ano ang ibig sabihin ko sa pamamagitan ng intermingled. 1144 00:49:38,390 --> 00:49:41,910 Maaari kang magsulat ng HTML na ikaw lamang gusto ang server upang sabihin ang lahat. 1145 00:49:41,910 --> 00:49:45,090 Ngunit kung nais mong gawin ang isang bagay dynamic partway sa pamamagitan ng pahina, 1146 00:49:45,090 --> 00:49:47,699 tulad ng ipasok ang aking pangalan o dorm o antas ng kaginhawaan, 1147 00:49:47,699 --> 00:49:49,490 Maaari ko bang gamitin ang isang pagpapaandar tulad print r, na kung saan ay 1148 00:49:49,490 --> 00:49:52,492 i-print recursive, na kung saan ay nangangahulugan lamang i-print out ito variable, ang format na ito 1149 00:49:52,492 --> 00:49:53,200 gayunpaman gusto mo. 1150 00:49:53,200 --> 00:49:55,880 Ito ay talagang hindi para sa mga layunin ng tao, ito lang 1151 00:49:55,880 --> 00:49:58,290 para sa pag-debug o diagnostic layunin. 1152 00:49:58,290 --> 00:49:59,460 Kaya na kung paano ginawa ko na. 1153 00:49:59,460 --> 00:50:06,100 >> Kung sa halip ay pumunta ako froshims dalawang tuldok PHP, mapapansin na ang pagkilos ng form na ito 1154 00:50:06,100 --> 00:50:09,680 ay hindi nakarehistro zero dot PHP bilang ang old-- sa nakaraang isa ay talagang. 1155 00:50:09,680 --> 00:50:11,222 Ngunit ito ay nakarehistro dalawang tuldok PHP. 1156 00:50:11,222 --> 00:50:13,680 Kaya tingnan natin kung paano ang isang ito ipaalam kumikilos ng kaunti naiiba. 1157 00:50:13,680 --> 00:50:15,140 Kung pumunta ako sa bersyon dalawa. 1158 00:50:15,140 --> 00:50:20,430 Kung dito, kung magrehistro bilang David, mas mababa kumportable, mula sa dorm ng Mathews, 1159 00:50:20,430 --> 00:50:21,480 register. 1160 00:50:21,480 --> 00:50:23,770 Kaya oras na ito ang nagsabi na ito, ikaw ay nakarehistro, hindi talaga. 1161 00:50:23,770 --> 00:50:25,370 Tingnan natin kung ano ang ginawa ko dito. 1162 00:50:25,370 --> 00:50:29,760 Kung ako ay tumingin sa rehistro ng dalawang tuldok PHP, ito ay may ilang karagdagang code na PHP. 1163 00:50:29,760 --> 00:50:35,410 Ito ay isang maliit na cleaner, kahit na ito bumabalot pa rin ng isang maliit na mahaba sa linyang ito. 1164 00:50:35,410 --> 00:50:36,260 Pansinin dito. 1165 00:50:36,260 --> 00:50:40,300 Print ko ang aking HTML tag, aking ulo tag, pamagat ng aking tag, ang ulo, ang katawan. 1166 00:50:40,300 --> 00:50:45,410 >> At pagkatapos ay ako magsisimula sabihin mga bagay tulad ng pasok mode PHP. 1167 00:50:45,410 --> 00:50:48,540 At upang ang mga tag, bukas bracket PHP-- tandang pananong sabi PHP, 1168 00:50:48,540 --> 00:50:53,460 hey, server, execute-- bigyang-kahulugan ang mga sumusunod na mga bagay-bagay tulad ng PHP 1169 00:50:53,460 --> 00:50:55,030 hanggang sa makita mo ang katapusan ng tag. 1170 00:50:55,030 --> 00:50:58,590 At kahit na maaaring hindi mo alam ang anumang iba pang PHP kaysa kailanman na iyong nakita kaya sa ngayon, 1171 00:50:58,590 --> 00:51:01,290 maaari mong uri ng basahin ito pretty intuitively. 1172 00:51:01,290 --> 00:51:10,670 Kung ang pangalan ay walang laman, o kaginhawaan ay walang laman, o dorm ay walang laman, ano ang gagawin ko? 1173 00:51:10,670 --> 00:51:12,830 Ano ang sasabihin ko sa mga gumagamit? 1174 00:51:12,830 --> 00:51:15,330 Dapat mong ibigay ang iyong pangalan, kaginhawaan, at dorm, at iba pa. 1175 00:51:15,330 --> 00:51:17,750 Iba Pa, sinasabi ko sa inyo ay nakarehistro, well not really. 1176 00:51:17,750 --> 00:51:19,190 >> At hindi sasabihin ko talaga dahil walang database. 1177 00:51:19,190 --> 00:51:20,200 Hindi ako gumagawa ng anumang bagay na may data. 1178 00:51:20,200 --> 00:51:22,408 Lamang ako ng ibinabato ito ang layo para sa mga layunin ng pagpapakita. 1179 00:51:22,408 --> 00:51:24,320 Ngayon ako uri ng skimped higit sa 22 linya. 1180 00:51:24,320 --> 00:51:26,400 Mayroong higit pa syntax doon, ngunit dollar sign 1181 00:51:26,400 --> 00:51:28,320 salungguhit post ay uri ng kawili-wiling. 1182 00:51:28,320 --> 00:51:30,300 At ito ay kung ano ang magaling tungkol sa PHP. 1183 00:51:30,300 --> 00:51:35,610 Sa PHP, may kung ano ay tinatawag na ng ilang sobrang pangkalahatang variable. 1184 00:51:35,610 --> 00:51:38,430 Ang mga ito ay mga uri ng kahit na higit pa mahalaga kaysa sa mga pangkalahatang variable. 1185 00:51:38,430 --> 00:51:41,370 At ang mga ito, ang lahat ng capitalized dahil dito, sumama sa PHP. 1186 00:51:41,370 --> 00:51:44,550 Kaya kung mayroon kang isang server na may isang naka-install na web server, tulad ng Apache, 1187 00:51:44,550 --> 00:51:49,390 at i-install mo ang wika suporta para sa PHP, ang lahat ng isang biglaang mo 1188 00:51:49,390 --> 00:51:52,250 maaaring simulang gamitin ang mga sobrang mga pangkalahatang variable sa iyong code. 1189 00:51:52,250 --> 00:51:54,330 >> At kung ano ang magaling tungkol sa PHP ay na kung ikaw lamang 1190 00:51:54,330 --> 00:51:57,540 magsulat ng isang file na nagtatapos sa tuldok PHP, ilagay ito sa isang web server, 1191 00:51:57,540 --> 00:52:01,260 at pagkatapos mong magsumite ng isang form na ito sa pamamagitan ng pagkilos na iyon tag at isang form tag, 1192 00:52:01,260 --> 00:52:05,110 na pagkilos attribute sa form tag, PHP at ang web 1193 00:52:05,110 --> 00:52:09,360 ganap na numero kung paano i-grab lahat ng mga pangunahing mga pares ng halaga sa labas 1194 00:52:09,360 --> 00:52:11,633 ng URL tulad ng tanong mark q katumbas pusa, 1195 00:52:11,633 --> 00:52:14,782 ito ay malaman kung paano q at pusa. 1196 00:52:14,782 --> 00:52:17,710 Kung nagsumite ka ng isang larawan, o isang username, o ng isang password upang gustuhin Facebook, 1197 00:52:17,710 --> 00:52:21,360 PHP ay malaman kung para sa iyo kung saan ang lahat ng mga data na iyon ay. 1198 00:52:21,360 --> 00:52:23,821 At ito ay lamang ng kamay ikaw ay isang nag-uugnay array 1199 00:52:23,821 --> 00:52:27,560 sign underscore post na tinatawag na dollar, o dollar sign salungguhit makakuha ng, 1200 00:52:27,560 --> 00:52:30,590 depende sa kung ikaw ay gamit get o mag-post ng mga pagsusumite. 1201 00:52:30,590 --> 00:52:32,950 At ito lang kamay mo isang super global variable, 1202 00:52:32,950 --> 00:52:37,254 upang kung nais mong makakuha ng sa pangalan na isinumite user sa pamamagitan ng na web 1203 00:52:37,254 --> 00:52:41,894 form, literal mo lamang sabihin ang pangalan ng super global variable, quote, 1204 00:52:41,894 --> 00:52:43,380 magpanipi, pangalan. 1205 00:52:43,380 --> 00:52:46,144 At quote, magpanipi kaginhawaan, at quote, magpanipi dorm. 1206 00:52:46,144 --> 00:52:48,810 At kami ay pagpunta sa magagawang upang gawin ito at marami pang iba na may PHP. 1207 00:52:48,810 --> 00:52:50,540 At kahit na ito ay isang ipuipo sulyapan ito, 1208 00:52:50,540 --> 00:52:51,980 makikita namin sumisid sa mas susunod na linggo. 1209 00:52:51,980 --> 00:52:54,247 Susubukan naming ipakilala ang isang database sa gayon ay ikaw ay tunay na 1210 00:52:54,247 --> 00:52:56,816 pagpunta sa simulan ang pagpapatupad ng iyong sariling mga e-trade based-- 1211 00:52:56,816 --> 00:52:59,150 tulad ng website sa oras lamang ng isang linggo. 1212 00:52:59,150 --> 00:53:02,750 Kaya kami na nakikita mo sa susunod na pagkakataon, at Umaasa mo nakuha ang text message. 1213 00:53:02,750 --> 00:53:05,450 Paalam. 1214 00:53:05,450 --> 00:53:06,950 >> [MUSIC nagpe-play] 1215 00:53:06,950 --> 00:53:11,450 1216 00:53:11,450 --> 00:53:12,950 >> [DOOR Pagbubukas] 1217 00:53:12,950 --> 00:53:14,475 >> Tagapagsalita 2: Hey. 1218 00:53:14,475 --> 00:53:15,350 Tagapagsalita 3: Ano ba ang balita? 1219 00:53:15,350 --> 00:53:17,750 Tagapagsalita 2: Ano ang ginagawa mo? 1220 00:53:17,750 --> 00:53:19,850 Tagapagsalita 3: Paggawa sa isang hanay ng problema. 1221 00:53:19,850 --> 00:53:21,050 Tagapagsalita 2: Nice. 1222 00:53:21,050 --> 00:53:22,550 Apir. 1223 00:53:22,550 --> 00:53:23,150 >> [APIR] 1224 00:53:23,150 --> 00:53:25,584 >> Ano are-- uh, ano ang ginagawa mo dito? 1225 00:53:25,584 --> 00:53:26,750 Tagapagsalita 3: hang-out lang. 1226 00:53:26,750 --> 00:53:28,134 Nalaman lamang mula sa likod ng gym. 1227 00:53:28,134 --> 00:53:30,050 Hindi ko maaaring makatulong ngunit paunawa kapag kami high-Fived, 1228 00:53:30,050 --> 00:53:32,450 na mayroon kang medyo magaspang kamay. 1229 00:53:32,450 --> 00:53:33,950 Huwag kang pumunta sa gym? 1230 00:53:33,950 --> 00:53:35,150 >> Tagapagsalita 2: No. 1231 00:53:35,150 --> 00:53:36,650 Hindi. 1232 00:53:36,650 --> 00:53:38,450 >> Tagapagsalita 3: Dude, tumingin ka na medyo malaki. 1233 00:53:38,450 --> 00:53:45,950 Alin ang masama, dahil alam ng lahat 8-ball ay ang malaking tao sa campus. 1234 00:53:45,950 --> 00:53:48,050 Apir. 1235 00:53:48,050 --> 00:53:49,550 >> Tagapagsalita 2: Uh, no. 1236 00:53:49,550 --> 00:53:50,450 Hindi, tingin ko ako ay mabuti. 1237 00:53:50,450 --> 00:53:52,300 Sa tingin ko ako ay mabuti. 1238 00:53:52,300 --> 00:53:54,097