1 00:00:00,000 --> 00:00:05,040 2 00:00:05,040 --> 00:00:08,440 >> Sam LEVATICH: Maligayang pagdating sa na seksyon para sa linggong ito. 3 00:00:08,440 --> 00:00:10,040 Hindi ako Andi. 4 00:00:10,040 --> 00:00:14,590 Andi ay nagkasakit sa araw na ito, at ako ay isang uri ng tinatawag na sa huling minuto 5 00:00:14,590 --> 00:00:15,700 upang kumuha ng higit. 6 00:00:15,700 --> 00:00:20,920 Ito ay panahon ng trangkaso, kaya siguraduhin na ikaw naglalagi ay malinis, paghuhugas ng mga kamay, 7 00:00:20,920 --> 00:00:24,800 at malusog na pagkain sa gayon ay kayo, masyadong, ay hindi nakaratay. 8 00:00:24,800 --> 00:00:26,870 >> Ngunit nang walang karagdagang ado, sabihin makapagsimula. 9 00:00:26,870 --> 00:00:29,970 Ngayon, kami ay pagpunta sa makipag-usap tungkol sa PHP isang maliit bit-- paano 10 00:00:29,970 --> 00:00:33,900 Kaugnayan PHP sa HTML, kung paano ito may kinalaman sa CSS, at ang ilan sa mga web 11 00:00:33,900 --> 00:00:36,100 mga bagay-bagay ang iyong ginawa sa huling assignment. 12 00:00:36,100 --> 00:00:37,930 Kami ay pagpunta sa makipag-usap sa isang nang kaunti tungkol sa SQL 13 00:00:37,930 --> 00:00:41,360 at kung paano mo maaaring gumana sa mga database, kung saan ay isang pretty mahalagang bahagi ng P 14 00:00:41,360 --> 00:00:43,650 itakda 8-- P set 7. 15 00:00:43,650 --> 00:00:44,480 P-set 7. 16 00:00:44,480 --> 00:00:48,400 >> At pagkatapos kami ay pagpunta sa makipag-usap sa isang maliit na kaunti tungkol sa kung paano gumagana ang view ng controllers 17 00:00:48,400 --> 00:00:54,640 at bakit iyon ang isang pilosopiya sa likod ng ilang modernong mga pahina ng web at iba't ibang disenyo. 18 00:00:54,640 --> 00:00:58,760 Medyo magkano ang isang pulutong ng mga uri ng mga apps at mga aplikasyon na maaari mong ipadala 19 00:00:58,760 --> 00:01:01,120 ay gumagamit ng modelong ito, view ng controller framework, 20 00:01:01,120 --> 00:01:02,890 na ikaw ay gumagamit ng sa P set 7, kaya kukunin ko na 21 00:01:02,890 --> 00:01:05,220 makipag-usap nang kaunti tungkol sa kung bakit na naging 22 00:01:05,220 --> 00:01:07,970 popular, kung bakit ito mahalaga at nice. 23 00:01:07,970 --> 00:01:12,052 At pagkatapos ay kukunin ko na sa wakas ay lumipat sa sa ilang mga tip tungkol sa tackling P set 7. 24 00:01:12,052 --> 00:01:13,760 At kung kami ay may oras natira sa dulo, 25 00:01:13,760 --> 00:01:17,320 maaari naming talagang gawin ang ilang gumana sa na sama-sama. 26 00:01:17,320 --> 00:01:20,380 >> Kaya, PHP. 27 00:01:20,380 --> 00:01:23,790 Sa katunayan, maaaring napansin this-- hindi mo talaga kung sumisid sa it-- 28 00:01:23,790 --> 00:01:27,880 ngunit P set 6 ay may ilang PHP code na nangyayari. 29 00:01:27,880 --> 00:01:34,710 At dahil PHP ay isang C-like wika, PHP, hindi tulad ng HTML at CSS, 30 00:01:34,710 --> 00:01:39,030 ay isang programming language, samantalang HTML at CSS ay static. 31 00:01:39,030 --> 00:01:44,050 Ang mga ito ay mga markup language pakikitungo may estilo at visual na layout. 32 00:01:44,050 --> 00:01:46,230 PHP ay ang tunay na pakikitungo. 33 00:01:46,230 --> 00:01:51,590 >> May loops PHP, ito ay may conditions-- lahat na mga bagay-bagay na masaya tungkol C. 34 00:01:51,590 --> 00:01:56,190 Ito ay may ilang mga bagay na ay isang maliit na bit mas mahusay kaysa sa C, na kung saan kami ay makita, 35 00:01:56,190 --> 00:01:59,760 ngunit sa palagay ko ang pinakamadaling paraan upang makipag-usap tungkol sa PHP ay upang lamang sumisid in. 36 00:01:59,760 --> 00:02:04,087 Kaya ako pagpunta sa pumunta sa kanan sa IDE sa puntong ito. 37 00:02:04,087 --> 00:02:06,170 Ang unang bagay na kami ay pagpunta gawin ay ang tunay na hitsura 38 00:02:06,170 --> 00:02:10,169 isang maliit na piraso sa ilan sa mga PHP code na nasa P set 6. 39 00:02:10,169 --> 00:02:13,600 Kaya ang paraan na ginagawa namin na- dati, ang mga paraan na kami ay tumatakbo 40 00:02:13,600 --> 00:02:18,550 ang server para sa mga appliance ay na kami ay may sa type-- 41 00:02:18,550 --> 00:02:21,750 gamitin ang alinman sa iyong pagpapatupad o pagpapatupad ng mga tauhan 42 00:02:21,750 --> 00:02:27,059 ng server.c pamamagitan ng pagpunta sa direktoryo at tumatakbo server.c sa alinman sa walang 43 00:02:27,059 --> 00:02:30,100 arguments-- tumawag lang kaya ito sa lokal na host, na kung saan ay kung ano ang ikaw ay malamang na 44 00:02:30,100 --> 00:02:31,849 ang karamihan ng mga time-- at pagkatapos ay pagpapakain ito 45 00:02:31,849 --> 00:02:35,380 isang directory-- sa na gamitin bilang root nito 46 00:02:35,380 --> 00:02:38,310 kung saan ang mga website ng gagawin maging tumakbo, talaga. 47 00:02:38,310 --> 00:02:42,180 >> Sa linggong ito para sa P-set 7, tulad ng mahusay na bilang aming code para server.c 48 00:02:42,180 --> 00:02:47,580 ay, may mga tao na nag sinusulat ang mga masasarap na bagay sa ibabaw sa CS50 49 00:02:47,580 --> 00:02:49,630 na magkaroon ng isang maliit na piraso higit pang pag-andar, 50 00:02:49,630 --> 00:02:52,920 isang server na programa na may kakayahang ng pagharap sa isang kaunti pa 51 00:02:52,920 --> 00:02:56,350 ang intricacies na bibigyan namin ng makita sa parehong P set 7 at P set 8. 52 00:02:56,350 --> 00:03:01,410 At ang paraan na simulan mo ang server ay sa pamamagitan ng pag-type lamang, "apache50." 53 00:03:01,410 --> 00:03:03,960 >> At bago mo gawin, nais mong tiyakin 54 00:03:03,960 --> 00:03:06,070 na Apache 50 ay hindi tumatakbo na bilang na ito ay 55 00:03:06,070 --> 00:03:08,130 sa aking mga makina, na ginawa ko na subukan ito. 56 00:03:08,130 --> 00:03:10,320 At gawin mo na sa pamamagitan ng pagtawag apache50. 57 00:03:10,320 --> 00:03:14,070 Itigil, at makikita mo na ito ang paghinto ang web server, kung maaari mong tingnan doon 58 00:03:14,070 --> 00:03:16,340 sa ibaba ng window ng terminal. 59 00:03:16,340 --> 00:03:21,090 At pagkatapos lamang sa simula, hindi namin pagpunta sa tawag, "apache50 magsimula." 60 00:03:21,090 --> 00:03:23,150 At pagkatapos kami ay pagpunta sa feed na ito ng isang direktoryo. 61 00:03:23,150 --> 00:03:26,950 >> Ngayon, dahil nais naming tingnan ang ilan sa mga P-set 6 code 62 00:03:26,950 --> 00:03:32,850 na kami ay ipinatupad, ako talaga kinopya ang isang maliit na piraso ng mga P 63 00:03:32,850 --> 00:03:37,090 itakda 6 code sa aking sariling mga folder, kung saan maaari mong makita sa kaliwa doon. 64 00:03:37,090 --> 00:03:40,170 Ito ay tinatawag na "SECTION8" sa lahat ng mga malalaking titik 65 00:03:40,170 --> 00:03:44,510 dahil ako ay lamang kaya nasasabik upang maging live-stream ngayon. 66 00:03:44,510 --> 00:03:47,330 >> Kaya kung nagpapatakbo namin ito, ito ay dapat na lahat ng trabaho medyo epektibo. 67 00:03:47,330 --> 00:03:52,350 Sinasabi nito, OK, ang aming site ay ngayon Available sa address ng IDE, 68 00:03:52,350 --> 00:03:57,710 talaga, na kung saan ay kung ano ang ikaw ay gumagamit ng nang eksakto tulad ng ito ay sa P set 7-- P set 6. 69 00:03:57,710 --> 00:04:00,899 Lahat ng mga ini-index ng aking isa index ngayon. 70 00:04:00,899 --> 00:04:02,940 Kaya maaari naming pumunta sa na address, kung makikita mo matandaan, 71 00:04:02,940 --> 00:04:05,710 sa pamamagitan ng pag-click lamang ng isang maliit na ito button sa kanang itaas. 72 00:04:05,710 --> 00:04:14,200 >> At makikita mo maalala muli ang code, na nangyari kapag nagpunta ka sa hello.php. 73 00:04:14,200 --> 00:04:18,000 At kung ano ang code ay dinisenyo upang gawin ay kapag nag-type ka sa isang pangalan 74 00:04:18,000 --> 00:04:20,550 here-- kung sabihin mo Sam dahil iyon ang aking name-- 75 00:04:20,550 --> 00:04:23,620 at i-click ko Say Hello, kapag nagpunta kami sa mga susunod na pahina, 76 00:04:23,620 --> 00:04:25,270 na ang pangalan ay dapat na maipakita. 77 00:04:25,270 --> 00:04:28,550 Mas sabihin, "Hello, Sam" o "Hello," kahit anong pangalan mo 78 00:04:28,550 --> 00:04:32,470 ilagay sa mga ito kahit kami ay nagpunta sa isang ganap na bagong web page. 79 00:04:32,470 --> 00:04:36,610 >> At ito ay ang uri ng mga bagay na maaaring gawin ng PHP para sa iyo. 80 00:04:36,610 --> 00:04:42,840 PHP ay may kakayahan upang pumasa data pagitan ng dalawang mga pahina ng web. 81 00:04:42,840 --> 00:04:44,390 Ito ay isang ganap na iba't ibang mga pahina. 82 00:04:44,390 --> 00:04:46,990 Makikita mo ang mga pamagat ay "hello" dito. 83 00:04:46,990 --> 00:04:49,080 Sa totoo lang, sila ay may parehong pamagat, ngunit ako 84 00:04:49,080 --> 00:04:52,560 Nangangako ang mga ito ng iba't ibang web mga pahina kung tinitingnan namin ang pinagmulan. 85 00:04:52,560 --> 00:04:55,890 At maaari mong ipasa ang mga data na ipinasok sa patlang ng teksto na ito, 86 00:04:55,890 --> 00:04:59,830 isinumite mo ito sa mga susunod na page na ini tinatawag up, 87 00:04:59,830 --> 00:05:02,490 at pagkatapos ay ang data na iyon ay may kakayahan upang riyan sa kanyang kasalukuyang form. 88 00:05:02,490 --> 00:05:04,810 >> Ngayon hindi pa namin na-ipinatupad ito ang ating mga sarili, na kung saan 89 00:05:04,810 --> 00:05:08,710 ay kung ano ang kami ay pagpunta sa gawin sa ngayon upang sort makakuha ng isang lasa para sa kung paano gumagana ang PHP, 90 00:05:08,710 --> 00:05:15,070 ngunit ang pangunahing ideya ay na PHP-- maaari mong uri ng tingin ng mga ito tulad ng isang function. 91 00:05:15,070 --> 00:05:18,570 Isang bagay na maaaring ipaalam sa iyo ng PHP huwag ay maaari itong tumagal ng mga parameter 92 00:05:18,570 --> 00:05:24,710 na iyong input sa isang HTML na pahina pamamagitan ng paggamit ng PHP at mga form, 93 00:05:24,710 --> 00:05:29,960 at ito ay maaaring ipasa ang mga bilang ng mga parameter sa susunod na pahina na ito ay naglo-load up. 94 00:05:29,960 --> 00:05:35,110 >> Sa kasong ito, ay loading namin up na ito pahinang may button na "Say hello". 95 00:05:35,110 --> 00:05:38,960 Ngunit sa ngayon, ako ay tunay na tinanggal na ang ilan sa na code 96 00:05:38,960 --> 00:05:44,850 sa hello.php na na tumakbo noon ay talagang pagpapakita ng "hello, 97 00:05:44,850 --> 00:05:49,680 world "o" hello, Sam "o "hello," ang anumang ay input lamang. 98 00:05:49,680 --> 00:05:53,620 Kaya para sa ngayon, hindi namin pagpunta sa gawin iyon, talaga. 99 00:05:53,620 --> 00:05:56,570 Kami ay pagpunta sa muling likhain na at din magdagdag ng ilang higit pang mga pag-andar, 100 00:05:56,570 --> 00:06:00,210 gawin ang isang maliit na piraso ng higit sa mga ito, tingnan ang kung ano ang PHP ay talagang may kakayahang. 101 00:06:00,210 --> 00:06:04,870 >> Kaya una, ni makipag-usap tungkol ipaalam ang file na ito, hello.php. 102 00:06:04,870 --> 00:06:07,440 Kaya kung mag-zoom kami sa isang maliit bit-- at ngayon Ako 103 00:06:07,440 --> 00:06:10,520 uri ng sinusubukan upang mag-scroll ang lahat ng ang paraan around-- doon kami pumunta. 104 00:06:10,520 --> 00:06:14,220 Makikita mo ang ito ay tinatawag na hello.php, ngunit ang syntax ng mga ito 105 00:06:14,220 --> 00:06:16,880 ganito ang hitsura ng isang file na HTML. 106 00:06:16,880 --> 00:06:20,380 Ito ay dahil ang aktwal na PHP sa file na ito 107 00:06:20,380 --> 00:06:25,220 ay ang lahat ng makaalis sa pagitan ng mga question mark-caret bloke. 108 00:06:25,220 --> 00:06:28,610 Lahat ng bagay dito mismo ay itinuturing na code na PHP. 109 00:06:28,610 --> 00:06:32,040 >> At mapapansin mo na kapag ako ng komento, 110 00:06:32,040 --> 00:06:35,320 makikita mo ang mga pamilyar dalawang forward slashes. 111 00:06:35,320 --> 00:06:38,440 At kung kayo pagpapabalik, sa HTML, kung nagta-type ako ng komento, 112 00:06:38,440 --> 00:06:42,540 Mukhang ito ay isang bagay na mas malapit sa na ito, na kung saan ay isang puna sa HTML. 113 00:06:42,540 --> 00:06:46,570 Kaya talagang lahat ng bagay sa pagitan ng ang dalawang mga anggulo bracket 114 00:06:46,570 --> 00:06:50,060 ngayon ay PHP code, na ay makikita sa ang katunayan 115 00:06:50,060 --> 00:06:53,270 na simbolo na ito maliit na komento ay nakabukas sa isang komento. 116 00:06:53,270 --> 00:06:58,420 >> Kaya sa tuwing ikaw ay sumulat ng PHP code, kahit na kung walang HTML code sa labas ng mga ito, 117 00:06:58,420 --> 00:07:02,720 palaging ito ay magiging kalakip sa mga anggulo bracket 118 00:07:02,720 --> 00:07:04,080 may mga tandang pananong. 119 00:07:04,080 --> 00:07:08,260 Maaari mong uri ng isip tungkol sa it-- kung paano ang lahat ng code na tumakbo sa iyong C programa 120 00:07:08,260 --> 00:07:13,950 ay nakapaloob sa isang int pangunahing, walang bisa, kulot suhay, end kulot suhay statement. 121 00:07:13,950 --> 00:07:17,100 At makikita mo ang curly braces in PHP, masyadong, ngunit ito ay isang uri ng 122 00:07:17,100 --> 00:07:20,490 tulad ng mga pangunahing paraan ng PHP. 123 00:07:20,490 --> 00:07:25,630 >> Kaya ngayon, kung paano ang gagawin namin ang anumang bagay sa PHP? 124 00:07:25,630 --> 00:07:29,190 Ngayon, PHP ay isang programming wika na napaka-C-like, 125 00:07:29,190 --> 00:07:30,970 ngunit ito ay nagpapatakbo sa web. 126 00:07:30,970 --> 00:07:33,270 Kaya isang bagay na makikita mo immediately-- isa 127 00:07:33,270 --> 00:07:38,130 sa mga unang bagay na tunay na ginawa sa C ay na-print mo bagay-bagay out, di ba? 128 00:07:38,130 --> 00:07:42,290 Kaya sa C ginawa namin na may printf function. 129 00:07:42,290 --> 00:07:46,430 Kami ay nagbigay ito ng isang string, marahil na may isang bagong linya, 130 00:07:46,430 --> 00:07:49,850 at pagkatapos namin tinapos ito sa isang tuldok-kuwit. 131 00:07:49,850 --> 00:07:53,790 >> Kaya ang paraan na kami ay pagpunta upang gawin iyon sa PHP-- dahil ito ay hindi lubos printf. 132 00:07:53,790 --> 00:07:55,940 Ito ay isang maliit na piraso ng iba't ibang mga syntax. 133 00:07:55,940 --> 00:08:02,580 Ang paraan na i-print namin ang mga bagay out sa PHP ay sinasabi namin, "echo hello" 134 00:08:02,580 --> 00:08:04,180 o "echo" sa anumang salita. 135 00:08:04,180 --> 00:08:09,830 At iyon ay ang epekto ng paggawa printf may isang string, "hello." 136 00:08:09,830 --> 00:08:11,990 At ito ay nagdadagdag ng mga bagong linya dito. 137 00:08:11,990 --> 00:08:16,000 >> Kaya sabihin gawin ngayon hayaan sure-- Kukunin ko mag-zoom out muli ng isang maliit na bit-- 138 00:08:16,000 --> 00:08:18,250 tiyakin nating pabayaan na code ay gumagana 139 00:08:18,250 --> 00:08:21,030 dahil may maaaring masyadong maayos ay isang bug sa code na ito 140 00:08:21,030 --> 00:08:22,880 na magkakaroon kami harapin. 141 00:08:22,880 --> 00:08:25,860 Kaya ang server ay tumatakbo na. 142 00:08:25,860 --> 00:08:30,630 Kaya kung mag-scroll namin pabalik pababa sa ilalim, yup, ang server ay tumatakbo pa rin. 143 00:08:30,630 --> 00:08:34,510 Kaya kung i-tap lamang namin sa mga ito Medyo right here-- 144 00:08:34,510 --> 00:08:37,620 welcome-- dapat naming get-- malaki. 145 00:08:37,620 --> 00:08:39,930 >> Pa rin namin ang pagkakaroon ng pamilyar na "Say hello" dialogue, 146 00:08:39,930 --> 00:08:45,750 ngunit kapag nag-type sa ko "hi," makikita natin na ang text "hello" ay sa katunayan 147 00:08:45,750 --> 00:08:50,080 naka-print out, na kung saan ay eksakto tulad ng inaasahan namin dahil echo sa PHP 148 00:08:50,080 --> 00:08:53,190 ay tulad ng isang printf pahayag. 149 00:08:53,190 --> 00:09:01,410 Kaya bumalik sa code, kung paano sa P set 6 ginawa distribution code ang ikaw ay ibinigay 150 00:09:01,410 --> 00:09:05,920 gawin ito upang gagawin PHP output ang bagay na ikaw ay 151 00:09:05,920 --> 00:09:07,920 nai-type sa sa nakaraang screen? 152 00:09:07,920 --> 00:09:10,350 >> At upang ang uri ng suriin kung bakit nangyari iyon, hindi namin 153 00:09:10,350 --> 00:09:15,510 pagpunta sa pumunta sa index.html, na ay ang orihinal na file, ang mga file na 154 00:09:15,510 --> 00:09:18,710 nagpapakita up sa screen na ito may button na "Say hello". 155 00:09:18,710 --> 00:09:20,950 Mapapansin mo na mayroong lahat ng mga klasikong mga bagay-bagay 156 00:09:20,950 --> 00:09:26,910 kami ay dumating sa inaasahan mula sa HTML tulad bilang mga bagay na ito, kalakip ang mga tag 157 00:09:26,910 --> 00:09:31,080 sa anggulo bracket, tulad ng PHP ngunit wala ang mga tandang pananong, 158 00:09:31,080 --> 00:09:34,650 na nagpapahiwatig ng isang espesyal na bagay sa HTML. 159 00:09:34,650 --> 00:09:36,895 Mayroon kaming pamagat, na kung saan ay "hello." 160 00:09:36,895 --> 00:09:41,010 At mapapansin mo na tulad ng nakita natin, ang pamagat ay "hello" sa parehong kaso. 161 00:09:41,010 --> 00:09:43,260 Baguhin ang isang ito Hayaan sa "sabihin" kaya lang kami 162 00:09:43,260 --> 00:09:48,170 maaaring makita ang kaibhan sa ating sarili kung saan kami. 163 00:09:48,170 --> 00:09:49,600 >> Ngunit namin nakuha ng isang katawan. 164 00:09:49,600 --> 00:09:52,690 At pagkatapos ay ang mga kagiliw-giliw na piraso, ang bit na nagpapakita up sa HTML, 165 00:09:52,690 --> 00:09:54,530 ay ito ng elemento ng form. 166 00:09:54,530 --> 00:09:56,370 At kaya namin nakuha ng isang form. 167 00:09:56,370 --> 00:09:58,330 At ito ay ang susi. 168 00:09:58,330 --> 00:10:00,530 Ito ay kung paano kami ay nagtatrabaho sa PHP. 169 00:10:00,530 --> 00:10:05,790 Ang parameter na pagkilos ng sabi form na hello.php 170 00:10:05,790 --> 00:10:09,310 ay kung ano ang kami ay pagpunta upang magpadala ng ang mga halaga sa form na ito sa. 171 00:10:09,310 --> 00:10:13,830 Ito ay kung saan kami ay pagpasa ang mga parameter, kaya na magsalita. 172 00:10:13,830 --> 00:10:18,680 >> Mapapansin mo ang isa pang bagay dito ay na ang mga pamamaraan ay "kumuha." 173 00:10:18,680 --> 00:10:24,450 Mayroong dalawang pangunahing mga paraan kung saan ay 174 00:10:24,450 --> 00:10:28,750 ay gumagamit ng PHP upang pumasa data pagitan websites-- mga web page, 175 00:10:28,750 --> 00:10:30,500 rather-- sa ganitong assignment. 176 00:10:30,500 --> 00:10:34,070 At ang mga pamamaraan ay "makakuha ng" at "post." 177 00:10:34,070 --> 00:10:37,010 May mga ilang mga dalubhasa pagkakaiba sa pagitan ng get at post 178 00:10:37,010 --> 00:10:40,520 na kami ay makakuha into-- namin ay "makakuha ng" sa, kung ikaw ay. 179 00:10:40,520 --> 00:10:44,030 >> Ngunit para sa lahat ng mga layunin at mga layunin, at makakuha ng post 180 00:10:44,030 --> 00:10:47,120 ay parehong lamang ang mga paraan na pumasa ka ng mga parameter 181 00:10:47,120 --> 00:10:49,500 may bahagyang naiiba executions. 182 00:10:49,500 --> 00:10:53,500 Para sa ngayon, kami ay pagpunta sa gamitin ang makuha dahil makakuha ay kung ano ang ginagamit orihinal 183 00:10:53,500 --> 00:10:57,340 sa PHP file ng P set 6. 184 00:10:57,340 --> 00:11:00,850 At talagang, kung pumunta kami sa at tumingin bago na-edit na namin ang anumang bagay, 185 00:11:00,850 --> 00:11:03,090 Pupunta ako sa sabihin hi to-- ano ang pangalan mo? 186 00:11:03,090 --> 00:11:03,812 >> Madla: Elliot. 187 00:11:03,812 --> 00:11:04,770 Sam LEVATICH: Oh, gosh. 188 00:11:04,770 --> 00:11:05,600 Hindi ko alam kung paano i-spell na iyon. 189 00:11:05,600 --> 00:11:06,766 Puwede bang spell na para sa akin? 190 00:11:06,766 --> 00:11:08,710 Madla: E-L-L-I-O-T. 191 00:11:08,710 --> 00:11:09,720 >> Sam LEVATICH: I-O-T? 192 00:11:09,720 --> 00:11:10,440 >> Madla: Oo. 193 00:11:10,440 --> 00:11:10,960 >> Sam LEVATICH: Perfect. 194 00:11:10,960 --> 00:11:11,210 SIGE. 195 00:11:11,210 --> 00:11:12,751 Hulaan ko ko alam kung paano iyon ini-ispel. 196 00:11:12,751 --> 00:11:13,510 Pasensya na. 197 00:11:13,510 --> 00:11:16,560 Datapuwa't kung sabihin natin "Say hello," ito ay hindi hindi ito ay pagpunta sa magpapakita sa screen 198 00:11:16,560 --> 00:11:18,476 Gayon man, sapagka't kami ay binago ang code nang kaunti. 199 00:11:18,476 --> 00:11:21,290 Ngunit kung namin "Say hello" - OK, kaya "hello" ay dito. 200 00:11:21,290 --> 00:11:24,137 Ngunit kung namin ng isang malapit tingnan ang URL mismo, 201 00:11:24,137 --> 00:11:26,220 kami ay makikita na ito ay nagtatapos may hello.php? name = Elliot. 202 00:11:26,220 --> 00:11:30,980 203 00:11:30,980 --> 00:11:37,180 >> Kaya, ito ay isang paraan ng pakikipag-usap sa mga susunod na pahina ng web 204 00:11:37,180 --> 00:11:39,240 ang mga parameter na iyong ipinasa namin. 205 00:11:39,240 --> 00:11:40,870 Sabi namin name = Elliot. 206 00:11:40,870 --> 00:11:46,290 At iyon ang huli kung paano P set 6 access ang variable na ipinasa namin sa in 207 00:11:46,290 --> 00:11:47,520 sa pamamagitan ng mga form. 208 00:11:47,520 --> 00:11:51,470 At ito ay isang bagay na ay kaiba sa isang kahilingan get. 209 00:11:51,470 --> 00:11:57,480 Gumagawa ng mga parameter Ang isang kahilingan get kilala sa URL ng website. 210 00:11:57,480 --> 00:12:01,190 >> At makikita mo pagpapabalik, masyadong, sa P set 6 na kayo 211 00:12:01,190 --> 00:12:04,450 ay sumulat ng isang function tumalakay sa katunayan 212 00:12:04,450 --> 00:12:09,700 na ito sa query string maaaring umiiral pagkatapos ng isang file. 213 00:12:09,700 --> 00:12:14,684 May ay maaaring isang tandang pananong sinusundan sa pamamagitan ng karaniwang anumang bilang ng mga character. 214 00:12:14,684 --> 00:12:16,350 At na eksakto kung ano ang nangyayari sa dito. 215 00:12:16,350 --> 00:12:21,280 At ang dahilan na kayo ay nagkaroon upang i-parse na sa iyong pagpapatupad ng server.c sa P 216 00:12:21,280 --> 00:12:27,570 itakda 6 ay sa gayon ay maaari mong sabihin PHP code na pangalan = Elliot. 217 00:12:27,570 --> 00:12:30,460 Kailangan mo upang ma- i-parse na sa labas ng URL 218 00:12:30,460 --> 00:12:35,900 upang ang PHP file na pinag-uusapan alam kung ano ito ay may pakikisama. 219 00:12:35,900 --> 00:12:39,350 >> Kaya sana ito ay nagbibigay sa ang pagganyak upang server.c 220 00:12:39,350 --> 00:12:43,900 ngayon na kami ay lumipat sa sa labas ng C sa PHP. 221 00:12:43,900 --> 00:12:48,240 Kaya sabihin aktwal na tumutok sa pag-access sa bagay na lumipas sa pamamagitan ng isang kahilingan get ngayon 222 00:12:48,240 --> 00:12:48,880 sa puntong ito. 223 00:12:48,880 --> 00:12:50,157 Pupunta ako upang i-save ito. 224 00:12:50,157 --> 00:12:51,240 Hindi namin baguhin ang anumang bagay. 225 00:12:51,240 --> 00:12:56,080 Mukhang nakuha namin ang isang input field. 226 00:12:56,080 --> 00:12:58,550 >> Kami ay pagtatakda ng ilang mga ari-arian, tulad ng maaari naming gawin ang isang HTML. 227 00:12:58,550 --> 00:12:59,550 Ito ang mga simpleng bagay. 228 00:12:59,550 --> 00:13:00,580 Hindi natin kailangan ang mga ito. 229 00:13:00,580 --> 00:13:03,750 Ngunit namin nakuha autocomplete off, kung saan talaga says-- alam mo, 230 00:13:03,750 --> 00:13:05,710 kapag nag-type ka ng mga bagay sa web, minsan 231 00:13:05,710 --> 00:13:07,355 ito sumusubok upang punan na sa para sa iyo. 232 00:13:07,355 --> 00:13:08,230 Kaya ito ay isang magandang bagay. 233 00:13:08,230 --> 00:13:11,700 Gusto naming i-off ito para sa hangaring ito. 234 00:13:11,700 --> 00:13:13,970 Iyon ay isang desisyon CS50. 235 00:13:13,970 --> 00:13:15,640 Kaya maaari naming tanggalin na kung gusto namin. 236 00:13:15,640 --> 00:13:19,510 >> Sticks lang Autofocus ang cursor sa anyo karapatan sa simula. 237 00:13:19,510 --> 00:13:21,060 Muli, hindi masyadong mahalaga. 238 00:13:21,060 --> 00:13:26,220 >> Ngunit name = "pangalan" - ito ay isang maliit na nakakalito dahil ito ay pangalan at pangalan. 239 00:13:26,220 --> 00:13:28,730 Subalit hindi namin pinalitan mo ang ito sa ibang bagay. 240 00:13:28,730 --> 00:13:30,563 At sa katunayan, iyon ang ano ang gagawin namin ngayon. 241 00:13:30,563 --> 00:13:34,830 Susubukan naming sabihin ang "tao," kung saan ay uri ng tulad ng pangalan 242 00:13:34,830 --> 00:13:36,790 kung ang isang tao ay tinukoy sa pamamagitan ng kanilang pangalan. 243 00:13:36,790 --> 00:13:41,480 >> Kaya ng malapit na ito ipaalam, muling buksan up ng aming website 244 00:13:41,480 --> 00:13:46,110 dahil ang aming server ay tumatakbo pa rin Apache 50, at hindi na namin makikita ang sinasabi, hello, narito ang 245 00:13:46,110 --> 00:13:47,200 Elliot muli. 246 00:13:47,200 --> 00:13:48,460 Bakit hindi? 247 00:13:48,460 --> 00:13:49,220 Kamusta. 248 00:13:49,220 --> 00:13:52,880 At kung pumunta kami dito, kami makita pagkatapos ay sa halip ng pangalan = Elliot, 249 00:13:52,880 --> 00:13:55,200 sinasabi nito na tao = Elliot. 250 00:13:55,200 --> 00:14:00,060 At iyon ay isang direktang resulta ng ang katunayan na nagbago lang namin name = "tao." 251 00:14:00,060 --> 00:14:06,840 >> Kaya sa isang elemento ng input isang HTML form, ang field na Pangalan 252 00:14:06,840 --> 00:14:10,590 ay ang identifier para sa parameter na ini lumipas. 253 00:14:10,590 --> 00:14:14,250 Ito ay tulad ng kung ikaw ay lumilikha ng isang function "magdagdag ng" na kinuha sa loob ng dalawang integer 254 00:14:14,250 --> 00:14:16,670 at sinabi mong int isang at int b. 255 00:14:16,670 --> 00:14:22,680 Iyon ay magiging ang pangalan ng isang, at kung Nais mo ng isa pang form, na 256 00:14:22,680 --> 00:14:27,800 maaari naming gawin sa pamamagitan lamang ng pagkopya at pag-paste, pagkatapos kami ay may pangalan b. 257 00:14:27,800 --> 00:14:31,030 >> Kaya ngayon makikita kami ay may dalawang mga parameter na ay dumaan sa pamamagitan ng 258 00:14:31,030 --> 00:14:36,970 kumuha sa susunod website-- mga susunod na pahina ng web, hello.php. 259 00:14:36,970 --> 00:14:39,770 At maaari naming makita ang tunay na na muli kung gusto namin. 260 00:14:39,770 --> 00:14:44,830 Ito ay ang pinakamadaling paraan upang harapin ang ang web code sa IDE, talaga. 261 00:14:44,830 --> 00:14:47,940 Simulan mo ang server, kumuha ng mga ito pagtakbo, at pagkatapos ay sa bawat panahon na kayo 262 00:14:47,940 --> 00:14:50,649 gumawa ng ilang mga pagbabago, malapit lang file na iyon upang maging ligtas. 263 00:14:50,649 --> 00:14:52,440 Ang pagpindot ng back button ay isang maliit na manlilinlang 264 00:14:52,440 --> 00:14:55,800 dahil maaaring i-load ito sa isang mas maaga bersyon, hindi ang pinaka-update na isa. 265 00:14:55,800 --> 00:14:59,200 >> At pagkatapos ay i-click mo lamang ang iyong button muli, pop karapatan up-- oh, 266 00:14:59,200 --> 00:15:00,510 at ngayon ay may dalawang anyo. 267 00:15:00,510 --> 00:15:10,440 At kaya kung type namin ang isang bagay sa bawat isa one-- "jason Hirshhorn," para instance-- 268 00:15:10,440 --> 00:15:11,590 sinasabi namin hello. 269 00:15:11,590 --> 00:15:12,840 Maghanap kami sa aming mga parameter. 270 00:15:12,840 --> 00:15:18,910 Mukhang mayroon ka namin, tulad ng inaasahan, a = jason at b = Hirshhorn, 271 00:15:18,910 --> 00:15:23,760 na kumakatawan sa dalawang mga parameter na ipinasa namin sa function na ito. 272 00:15:23,760 --> 00:15:27,900 >> Kaya ngayon sabihin aktwal na makakuha ng sa pagpapatupad na pag-andar na tayo 273 00:15:27,900 --> 00:15:30,840 nagkaroon sa P set 6. 274 00:15:30,840 --> 00:15:32,490 Kaya ngayon kami ay lamang echoing hello. 275 00:15:32,490 --> 00:15:34,310 At iyon ay hindi gaanong kapaki-pakinabang. 276 00:15:34,310 --> 00:15:38,530 Gusto naming echo ilang variable na dumaan sa amin. 277 00:15:38,530 --> 00:15:40,320 At alam namin ang pangalan ng variable na ito. 278 00:15:40,320 --> 00:15:41,770 Kami ay may isang at kami ay b. 279 00:15:41,770 --> 00:15:43,500 Kaya maaari naming piliin na echo alinman sa isa. 280 00:15:43,500 --> 00:15:45,470 >> Ngunit paano namin ma-access ang mga ito? 281 00:15:45,470 --> 00:15:48,820 Well, may mga ilang mga global variable sa PHP. 282 00:15:48,820 --> 00:15:51,240 At ako pagpunta sa sumulat ang mga ito sa mga komento dito. 283 00:15:51,240 --> 00:15:59,910 Ang dalawang pinaka-mahalaga sa buhay ay get at i-post para sa aming mga layunin ngayon. 284 00:15:59,910 --> 00:16:05,350 Ito ang mga array o, technically, ang mga diksyunaryo 285 00:16:05,350 --> 00:16:10,540 kung saan ang aming mga variable na hindi namin pagpasa sa susunod na live web page. 286 00:16:10,540 --> 00:16:14,520 At tayo sa lalong madaling panahon makita kung paano gamitin ang mga ito. 287 00:16:14,520 --> 00:16:19,720 >> Isa pang maikling tala tungkol sa code na PHP at ilang mga pagtutukoy ng it-- sa C, 288 00:16:19,720 --> 00:16:23,260 idedeklara isang variable o upang gamitin ang mga variable, 289 00:16:23,260 --> 00:16:24,570 una mong nagkaroon na idedeklara ang mga ito. 290 00:16:24,570 --> 00:16:30,860 At kung ano ang mayroon kang gawin kapag ikaw ipinahayag sa kanila ay sabihin int isa o char b. 291 00:16:30,860 --> 00:16:35,630 Ikaw ay nagkaroon na idedeklara ang mga uri ng mga variable bago mo nilikha ang mga ito. 292 00:16:35,630 --> 00:16:38,800 PHP-- hindi mo na kailangan na gawin ang alinman sa mga iyon. 293 00:16:38,800 --> 00:16:42,522 PHP ay hindi humingi ng ang uri ng variable. 294 00:16:42,522 --> 00:16:44,480 At ang paraan na iyong lumikha ng isang variable-- halip 295 00:16:44,480 --> 00:16:49,930 kaysa sa sinasabi int, pansamantalang trabaho, string na kung saan ay talagang char *, tulad know-- namin 296 00:16:49,930 --> 00:16:52,180 sa halip ng paggawa ng lahat ng mga na, dahil ang lahat ng bagay 297 00:16:52,180 --> 00:16:54,620 ay ng parehong uri, typeless, maaari naming lamang 298 00:16:54,620 --> 00:16:59,210 gamitin ang isang karakter, na kung saan ay ang dollar sign. 299 00:16:59,210 --> 00:17:03,700 At makikita mo na ito ay pop up, maliit na bagay autocomplete. 300 00:17:03,700 --> 00:17:11,380 At ito ay sinasabi na _GET at _POST dalawang mga opsyon na mayroon akong magagamit 301 00:17:11,380 --> 00:17:11,900 sa akin. 302 00:17:11,900 --> 00:17:16,430 Ang ilan sa mga iba pang mga bagay ay iba pang mga pangkalahatang variable sa PHP 303 00:17:16,430 --> 00:17:18,430 na ikaw ay gumagamit ng higit sa ang mga kurso ng P set 7. 304 00:17:18,430 --> 00:17:20,569 Para sa ngayon kami ay pagpunta sa focus sa get at post. 305 00:17:20,569 --> 00:17:22,910 Ngunit ito ay isang kapaki-pakinabang bagay na ang mga IDE ginagawa 306 00:17:22,910 --> 00:17:24,980 kung saan sa oras na iyong nai-type sa na dollar sign, 307 00:17:24,980 --> 00:17:28,760 ito ay simulan ang pagpuno sa mga pangkalahatang variable o mga variable na ako na tinukoy mo. 308 00:17:28,760 --> 00:17:34,360 >> Kaya kung nais mong tukuyin ang isang variable na tinatawag na "string," 309 00:17:34,360 --> 00:17:38,290 maaari mong i-set lamang ito katumbas ng "hi." 310 00:17:38,290 --> 00:17:40,100 At ito ay karaniwang bilang simpleng bilang na. 311 00:17:40,100 --> 00:17:44,720 At pagkatapos ay maaari naming gawin isang bagay tulad ng "echo $ string." 312 00:17:44,720 --> 00:17:48,524 IDE ay dapat na ibinabato ilang error kung ako paggawa ng anumang bagay na mali, 313 00:17:48,524 --> 00:17:50,190 kaya sana ako ng paggawa ng lahat ng karapatan. 314 00:17:50,190 --> 00:17:52,060 Ngunit bugs palaging huwag lumabas. 315 00:17:52,060 --> 00:17:56,670 >> Ang isa pang nakakalito bagay tungkol sa PHP ay na ito ay hindi naipon. 316 00:17:56,670 --> 00:18:00,640 Kaya sa C programa, ang gusto mong gawin ang araw-araw na gawain of-- talaga, 317 00:18:00,640 --> 00:18:02,710 Gusto mong gumawa ng mga pag-edit sa ang iyong code, na iyong i-save ito, 318 00:18:02,710 --> 00:18:04,460 at pagkatapos ay gagawin mo gumawa ng mga ito, kung saan ang make ay 319 00:18:04,460 --> 00:18:08,830 ang mga hakbang na tinatawag na tagatala, kalatungin, upang gumawa ng iyong code, ang text na ito 320 00:18:08,830 --> 00:18:10,570 file, sa isang executable. 321 00:18:10,570 --> 00:18:15,550 PHP ay C-tulad ng, ngunit ito ay pinaandar sa mabilisang sa pamamagitan ng iyong web browser. 322 00:18:15,550 --> 00:18:17,640 Kaya walang paraan upang malaman. 323 00:18:17,640 --> 00:18:19,790 >> Gumawa nais itapon sa mga helpful mga error, i-right? 324 00:18:19,790 --> 00:18:22,190 Ito ay magiging katulad, mo hindi idineklara ang variable na ito 325 00:18:22,190 --> 00:18:23,320 bago mo sinubukang gamitin ito. 326 00:18:23,320 --> 00:18:29,120 Ginawa mo lahat ng ito masamang stuff-- segfault, segfault, lahat na uri ng masaya beses 327 00:18:29,120 --> 00:18:31,000 na nagmula sa make. 328 00:18:31,000 --> 00:18:33,920 PHP ay isang may dalawang talim tabak dahil hindi ka makakakuha ng mga error, 329 00:18:33,920 --> 00:18:37,770 ngunit na rin ay nangangahulugan na ikaw ay hindi malaman talaga kung ano ang mali sa iyong programa 330 00:18:37,770 --> 00:18:39,840 kung nagpapatakbo ka lamang ito at hindi ito gumagana. 331 00:18:39,840 --> 00:18:45,130 Ngunit ang debugger ay dapat ituro ilang sana helpful maliit na bagay 332 00:18:45,130 --> 00:18:47,950 syntactically na maaari mong ayusin. 333 00:18:47,950 --> 00:18:52,850 >> Kaya ngayon kung kami ay dumaan to-- sabihin, ni isara na ipaalam. 334 00:18:52,850 --> 00:18:54,522 Muling buksan. 335 00:18:54,522 --> 00:18:55,480 At kami ay bumalik sa dito. 336 00:18:55,480 --> 00:18:57,210 Kaya Mayroon kami ng variable at isang variable b. 337 00:18:57,210 --> 00:18:58,626 At ang mga ito ay hindi ganap na mahalaga. 338 00:18:58,626 --> 00:19:01,850 Kami ay tumawag sa kanila h at g para sa walang partikular na dahilan. 339 00:19:01,850 --> 00:19:03,120 >> At sinasabi namin hello. 340 00:19:03,120 --> 00:19:07,480 Ngayon mukhang aming string "hi" ay sa katunayan ng pag-print. 341 00:19:07,480 --> 00:19:10,460 Lumikha kami ng isang variable na tinatawag na "string," itakda ito katumbas ng "hi." 342 00:19:10,460 --> 00:19:15,520 Pansinin na hindi namin ay may sa gawin malloc o gumawa ng isang character array. 343 00:19:15,520 --> 00:19:19,110 >> Sa PHP, dahil variable mga typeless, ang isang string 344 00:19:19,110 --> 00:19:22,230 ay katulad ng isang pansamantalang trabaho para sa lahat ng mga layunin at mga layunin. 345 00:19:22,230 --> 00:19:23,570 Maaaring ito ay "hi." 346 00:19:23,570 --> 00:19:26,340 Ito ay maaaring lamang ang character k. 347 00:19:26,340 --> 00:19:29,290 Maaari itong maging isang numero 1. 348 00:19:29,290 --> 00:19:30,300 At ito ay hindi pag-aalaga. 349 00:19:30,300 --> 00:19:33,560 Walang pakialam sa PHP ang uri ng iyong variable. 350 00:19:33,560 --> 00:19:34,390 O, ito ang pag-aalaga. 351 00:19:34,390 --> 00:19:36,240 Nagmamalasakit ito kapag sinubukan mong at gawin ang mga bagay-bagay sa mga ito, 352 00:19:36,240 --> 00:19:38,790 ngunit ito ay hindi sa pag-aalaga sa ang step deklarasyon. 353 00:19:38,790 --> 00:19:46,960 >> At tulad ng maaari mo sa C, maaari mong Ipinahahayag ng mga string sa stack na tulad nito 354 00:19:46,960 --> 00:19:51,130 kahit na sinasabi "stack" ay isang maliit na bit ng isang potensyal na maling tawag kapag 355 00:19:51,130 --> 00:19:52,230 pinag-uusapan natin ang tungkol sa PHP. 356 00:19:52,230 --> 00:19:54,020 Ngunit hindi namin kailangang mag-alala tungkol sa na. 357 00:19:54,020 --> 00:19:55,936 Kaya namin nakuha ang aming mga string "hi," at echo namin string. 358 00:19:55,936 --> 00:19:58,880 Kaya ngayon kami ay tinalakay variable. 359 00:19:58,880 --> 00:20:06,060 Kaya ngayon ay kailangan naming makipag-usap tungkol get at mag-post at isagawa ang huling bagay na 360 00:20:06,060 --> 00:20:12,660 na kailangan upang makakuha ng tunay na ito back up na ang pag-andar ng P set 6. 361 00:20:12,660 --> 00:20:14,990 Kaya ngayon hindi namin uulit ng string, ngunit hindi namin 362 00:20:14,990 --> 00:20:17,080 kailangang mga variable na ito at makakuha ng post. 363 00:20:17,080 --> 00:20:19,430 At dahil kami ay gumagamit ng ang paraan makakuha ng, ito 364 00:20:19,430 --> 00:20:24,810 parang natural na ang aming mga variable na hindi namin ay interesado sa, parehong isang at b, 365 00:20:24,810 --> 00:20:29,870 ay matatagpuan sa array o diksyunaryo, technically makuha. 366 00:20:29,870 --> 00:20:33,510 >> Kaya kung namin-set up makakuha ng tulad nito sa iyong groups-- ko pinindot pasok 367 00:20:33,510 --> 00:20:36,770 at hindi ito ang gusto it-- ngunit dito kami kumuha. 368 00:20:36,770 --> 00:20:38,000 At gayon makuha ay mayroon na. 369 00:20:38,000 --> 00:20:41,380 Kaya maaari naming simulan upang access ilan sa mga elemento ng get. 370 00:20:41,380 --> 00:20:45,000 Kung namin makuha, ang syntax na ito para sa array sa PHP ay tunay C-like. 371 00:20:45,000 --> 00:20:47,900 Mayroon kaming aming dalawang mga square bracket. 372 00:20:47,900 --> 00:20:53,440 >> Kaya kung sinasabi namin makuha sa isang normal array, maaari naming ma-access ang 373 00:20:53,440 --> 00:20:55,600 ang index zeroth, ang unang index. 374 00:20:55,600 --> 00:20:56,840 PHP ay zero index. 375 00:20:56,840 --> 00:21:00,550 Maaari naming sabihin zero, isa, two-- bagay-bagay tulad na ito. 376 00:21:00,550 --> 00:21:03,420 At ako na nagsasabi na makakuha ng ay technically isang diksiyunaryo. 377 00:21:03,420 --> 00:21:08,290 Kaya kung ano ang PHP ay ginagawa sa ilalim ng hood, kung saan ay isang maliit na bit nicer kaysa sa C, 378 00:21:08,290 --> 00:21:12,760 ay ito na ibinibigay sa iyo ng ilang mga functionality diksyunaryo, na 379 00:21:12,760 --> 00:21:16,240 ay talagang hash talahanayan, o sumusubok na, parang. 380 00:21:16,240 --> 00:21:19,360 O kaya, technically ito ay maaaring isang subukan pati na rin. 381 00:21:19,360 --> 00:21:25,500 Ngunit PHP ay pagpapatupad ng isang hash table, na bumubuo ng isang epektibong dictionary. 382 00:21:25,500 --> 00:21:28,400 >> At upang malaman namin ang mga pangalan ng aming mga variable, di ba? 383 00:21:28,400 --> 00:21:32,440 Ito ay ang pagiging lumipas sa ang query string sa pamamagitan ng PHP. 384 00:21:32,440 --> 00:21:37,290 Kami ay may isang = h at b = g saan at b ang mga pangalan ng mga variable. 385 00:21:37,290 --> 00:21:41,580 Kaya ang paraan na maaari naming ma-access ang halaga na tumutugon sa key 386 00:21:41,580 --> 00:21:45,055 Sa aming diksiyunaryo ay lamang sa pamamagitan ng pagsasabi _GET_GET ["ng"]. 387 00:21:45,055 --> 00:21:48,170 388 00:21:48,170 --> 00:21:51,365 >> Kaya ngayon kami ay _GET ["ng"]. 389 00:21:51,365 --> 00:21:56,930 At kung palitan lang kami sa loob aming echo, kung echo namin _GET_GET ["ng"] - 390 00:21:56,930 --> 00:22:02,410 at kami na makita kung ang debugger itinapon sa anumang mga error tungkol this-- 391 00:22:02,410 --> 00:22:05,620 Kukunin namin i-save na at isara ito out. 392 00:22:05,620 --> 00:22:07,130 Buksan up ito. 393 00:22:07,130 --> 00:22:10,390 Kaya kami ay lamang ang paggawa ng isang karapatan ngayon, para b ay hindi dapat bagay. 394 00:22:10,390 --> 00:22:12,980 "kanya" at "siya" - "ugong." "ang kanyang" at "ugong." 395 00:22:12,980 --> 00:22:14,810 Magaling. 396 00:22:14,810 --> 00:22:18,040 >> At ito na naka-print out "kanya," kung saan ay sira. 397 00:22:18,040 --> 00:22:21,920 Ngunit iyon mismo ang ay nangyayari sa P set 6. 398 00:22:21,920 --> 00:22:27,240 Talaga, kung ano P set 6 ay doing-- echo hello, 399 00:22:27,240 --> 00:22:31,580 name-- kung saan ito ay nagkaroon ng isang pangalan ng variable at ito lamang 400 00:22:31,580 --> 00:22:35,520 humihiling sa iyo na mag-type sa na piraso ng teksto. 401 00:22:35,520 --> 00:22:37,380 Nagkaroon din ng ilang karagdagang code na kung saan 402 00:22:37,380 --> 00:22:40,550 ito kasama kung pahayag, kung saan maaari naming gawin sa ngayon. 403 00:22:40,550 --> 00:22:50,120 >> Maaari naming sabihin kung mayroon, na kung saan ay isang pag-andar sa loob ng PHP, 404 00:22:50,120 --> 00:22:55,110 _GET May underscore, "pangalan" - na kung saan ay karaniwang kasabihan, 405 00:22:55,110 --> 00:22:58,760 "kung pangalan ay napunan" dahil maaaring kami ay nag-click lamang ang pindutan ng 406 00:22:58,760 --> 00:23:02,580 upang isumite ang form na walang pag-type ng kahit ano sa patlang na iyon. 407 00:23:02,580 --> 00:23:07,760 At wrap namin na sa aming friendly na curly braces. 408 00:23:07,760 --> 00:23:09,175 Maaari naming magkaroon ng isang tao statement. 409 00:23:09,175 --> 00:23:13,300 410 00:23:13,300 --> 00:23:18,820 At iyan ay sa loob ng mga anggulo PHP lahat bracket, tandang pananong, angle bracket, 411 00:23:18,820 --> 00:23:20,040 kung gagawin mo. 412 00:23:20,040 --> 00:23:21,750 >> At ngayon kami ay makita kung ito ay gumagana. 413 00:23:21,750 --> 00:23:26,300 Panatiliing ko na hintayin itong debug at crap out sa akin, talaga, 414 00:23:26,300 --> 00:23:28,410 ngunit ito ay hindi pa. 415 00:23:28,410 --> 00:23:30,830 Marahil ito ay ngayon dahil nakipag-usap tungkol sa. 416 00:23:30,830 --> 00:23:31,330 Oo. 417 00:23:31,330 --> 00:23:32,510 Ito ay, sa katunayan. 418 00:23:32,510 --> 00:23:34,610 Kaya, walang ay nagpapakita up. 419 00:23:34,610 --> 00:23:38,750 Iyon ay dahil sa isang bagay na mali na sinulat ko sa code na PHP. 420 00:23:38,750 --> 00:23:42,844 At nabanggit ko ang pag-debug ay nakakalito dahil sa PHP, namin 421 00:23:42,844 --> 00:23:45,260 hindi itala ito sa simula pa at ang tagatala ay hindi gusto, 422 00:23:45,260 --> 00:23:46,710 narito ang kung saan ang iyong mga error ay. 423 00:23:46,710 --> 00:23:49,690 >> Ngunit ano ang magagawa natin is-- gawin mga tao tandaan 424 00:23:49,690 --> 00:23:57,010 kung paano tingnan ang mga iba't ibang network kahilingan na PHP-- o na mga website 425 00:23:57,010 --> 00:23:57,620 magpadala? 426 00:23:57,620 --> 00:24:00,290 [? Malin ginawa?] Na ito sa magbigay ng panayam o dalawang beses. 427 00:24:00,290 --> 00:24:05,830 Tandaan mo kung saan pumunta kami upang maghanap ang iba't-ibang mga utang at 200 OKs, 428 00:24:05,830 --> 00:24:09,780 ang lahat ng mga code na ipinapadala sa pamamagitan ng HTTP mula sa pahina ng web sa web page? 429 00:24:09,780 --> 00:24:12,514 Sinuman tandaan kung saan pumunta kami upang gawin iyon? 430 00:24:12,514 --> 00:24:13,787 >> Madla: Pinagmulan ng Pahina. 431 00:24:13,787 --> 00:24:14,870 Sam LEVATICH: source Page. 432 00:24:14,870 --> 00:24:15,890 Mismong. 433 00:24:15,890 --> 00:24:19,230 Kung pupunta ka sa Page Source-- perpekto. 434 00:24:19,230 --> 00:24:21,630 Kaya ang Pinagmulan ng Pahina kinukuha up ang inspector. 435 00:24:21,630 --> 00:24:23,140 >> At gumagamit ako ng Safari. 436 00:24:23,140 --> 00:24:25,790 Ang isang pulutong ng sa iyo ay marahil ay gumagamit ng Chrome o Firefox. 437 00:24:25,790 --> 00:24:27,750 Subalit hangga't hindi ka sa anumang modernong browser-- 438 00:24:27,750 --> 00:24:29,500 at mag-atubili na sundin kasama kung gusto mo. 439 00:24:29,500 --> 00:24:32,560 Maaari ninyong ilagay up ang code na ito o tumingin lang sa loob ng P set 6 440 00:24:32,560 --> 00:24:35,820 direktoryo para sa ilang mga katulad na mga bagay-bagay. 441 00:24:35,820 --> 00:24:41,020 hello.php ay kung ano ang hindi namin kasalukuyang nagtatrabaho sa emulating. 442 00:24:41,020 --> 00:24:42,476 >> Kaya may mga iba't-ibang mga tab. 443 00:24:42,476 --> 00:24:43,850 Maaari naming tumingin sa lahat ng mga resources. 444 00:24:43,850 --> 00:24:45,810 Maaari naming makita ang source code. 445 00:24:45,810 --> 00:24:49,900 Kaya ganito ang hitsura ito ay hindi makakuha ng mga nakalipas na katawan sa katapusan. 446 00:24:49,900 --> 00:24:54,890 Napag-alaman na isang error sa PHP at ito tumigil sa paglo-load ang buong web page. 447 00:24:54,890 --> 00:24:58,320 Hindi namin kahit na magkaroon ng isang dulo tag para sa HTML o anumang bagay. 448 00:24:58,320 --> 00:25:07,189 >> At kung tinitingnan namin ang mga network, maaari naming makita na kami ay ipinapadala ng isang kahilingan. 449 00:25:07,189 --> 00:25:07,980 Ito ay ang domain. 450 00:25:07,980 --> 00:25:09,270 Ito ang address. 451 00:25:09,270 --> 00:25:10,070 Ito ay isang dokumento. 452 00:25:10,070 --> 00:25:14,310 Ginagamit namin ang paraan get. 453 00:25:14,310 --> 00:25:15,760 >> At ito ay pula. 454 00:25:15,760 --> 00:25:19,030 O, ito ay pula kapag ako ay hindi pagpili nito. 455 00:25:19,030 --> 00:25:22,680 Paano ko tanggalin ang pagkapili ito? 456 00:25:22,680 --> 00:25:23,980 Well, ito ay pula. 457 00:25:23,980 --> 00:25:25,201 Hayaan akong i-refresh. 458 00:25:25,201 --> 00:25:25,700 Ayun. 459 00:25:25,700 --> 00:25:26,640 Ngayon ay pula. 460 00:25:26,640 --> 00:25:30,530 >> Kaya ito ay pula, na nangangahulugan Nabigo ang mga ito, na kung saan ay masama. 461 00:25:30,530 --> 00:25:32,280 Kaya sabihin suriin kung bakit ito ay mabibigo ipaalam. 462 00:25:32,280 --> 00:25:37,070 Kaya lahat na ang Pinagmulan ng Pahina Maaari talaga sabihin sa iyo ay ang iyong bagay 463 00:25:37,070 --> 00:25:38,720 ay hindi gumagana, kung saan maaari naming makita na. 464 00:25:38,720 --> 00:25:42,100 Kaya sa isip ng gagawin doon maging isang mas kapaki-pakinabang na tool. 465 00:25:42,100 --> 00:25:45,710 At may ilang mga extension ng browser na nagbibigay-daan sa iyo upang i-debug ang PHP, 466 00:25:45,710 --> 00:25:50,490 ngunit hindi namin ang pagpunta sa ay pagsulat ng isang tonelada ng PHP, 467 00:25:50,490 --> 00:25:53,190 kaya ito ay marahil lamang ng pinakamahusay na upang tumingin sa pamamagitan ng iyong code 468 00:25:53,190 --> 00:25:56,760 nang mabuti at tiyakin na lamang hindi ito ay gawin ang anumang bagay. 469 00:25:56,760 --> 00:26:03,876 >> Kaya sabihin makita kung ang format ng mga ito kung ang pahayag ay kung saan ang problema ay. 470 00:26:03,876 --> 00:26:07,420 Gusto kong mag-load na back up dito. 471 00:26:07,420 --> 00:26:09,830 Hello, hi. 472 00:26:09,830 --> 00:26:11,350 Kaya mayroong isang problema doon. 473 00:26:11,350 --> 00:26:15,130 >> Kaya para sa tamang syntax ng PHP, PHP ay pagpunta 474 00:26:15,130 --> 00:26:17,369 upang maging C-tulad ng sa na makikita mo ang mga loop. 475 00:26:17,369 --> 00:26:18,410 Makikita mo ang kung ang mga pahayag. 476 00:26:18,410 --> 00:26:20,920 Makikita mo ang lahat ng mga kaibigan na ikaw ay maging pamilyar 477 00:26:20,920 --> 00:26:24,820 sa loob ng mga kurso ng CS50 semester. 478 00:26:24,820 --> 00:26:29,960 Ngunit ang pinakamahusay na paraan upang malaman kung paano gawin ang isang bagay sa PHP ay upang Google ito 479 00:26:29,960 --> 00:26:33,170 o upang tingnan ang ilang mga halimbawa ng code na PHP dahil alam mo ang pag-andar. 480 00:26:33,170 --> 00:26:35,080 >> Alam mo ano ang maaari mong gawin sa programa. 481 00:26:35,080 --> 00:26:35,976 Maaari kang loop. 482 00:26:35,976 --> 00:26:37,600 Maaari kang loop nang maraming beses hangga't gusto mo. 483 00:26:37,600 --> 00:26:39,433 Maaari kang loop sa lahat uri ng iba't ibang mga paraan. 484 00:26:39,433 --> 00:26:40,700 Maaari kang lumikha ng mga pag-andar. 485 00:26:40,700 --> 00:26:43,241 Maaari kang lumikha ng mga pag-andar na tumawag sa iba pang mga pag-andar, at mga function 486 00:26:43,241 --> 00:26:44,150 na tumawag sa kanilang sarili. 487 00:26:44,150 --> 00:26:45,733 At mayroon kang mga pangalan para sa mga konsepto. 488 00:26:45,733 --> 00:26:49,860 Nakuha mo na ang recursion, loop, kung, sa iba pang mga control daloy. 489 00:26:49,860 --> 00:26:51,300 At kaya Google ay ang iyong matalik na kaibigan. 490 00:26:51,300 --> 00:26:53,540 Kahit sabihin, "PHP kung statement "at doon kukunin 491 00:26:53,540 --> 00:26:57,740 maging tonelada ng mga post na may mga sagot sa iba pang mga tao 492 00:26:57,740 --> 00:27:02,090 na na may katulad na mga katanungan sa iyo, na lamang nagsisimula out na may PHP 493 00:27:02,090 --> 00:27:03,820 at ikaw ay kakaiba tungkol sa isang syntax bagay. 494 00:27:03,820 --> 00:27:08,480 >> Dahil kami ay ang kasiyahan ng pagiging magagawang tingnan ang code sa P set 6, 495 00:27:08,480 --> 00:27:14,980 aktwal na namin hilahin ito up at makita na OK, narito ang isang bagay na interesante. 496 00:27:14,980 --> 00:27:18,070 Kaya ito ay kung ano ang aktwal na ito mukhang sa P set 6. 497 00:27:18,070 --> 00:27:20,340 Kaya kung pumunta kami sa pamamagitan na ito, maaari naming makita na hindi namin 498 00:27:20,340 --> 00:27:27,150 Nakatanggap ang ilang sa mga maliit na PHP-like bits tandang pananong. 499 00:27:27,150 --> 00:27:29,050 >> At may mga hindi curly braces. 500 00:27:29,050 --> 00:27:30,250 May mga tutuldok. 501 00:27:30,250 --> 00:27:32,340 At may mga kulot braces sa PHP, ngunit ito 502 00:27:32,340 --> 00:27:38,700 ay isang format at isang paraan ng paggawa ng PHP na gumagana nang maayos sa HTML 503 00:27:38,700 --> 00:27:43,830 dahil tulad ng makikita mo, kami ay pagsasara off ang mga PHP bits-- ang address ng iba 504 00:27:43,830 --> 00:27:49,770 at ang mga ifs at ang lahat ng mga na- at pagkatapos ay kami ay interspersing HTML loob ng mga ito 505 00:27:49,770 --> 00:27:54,640 habang sumusunod pa rin ang itakda ang kontrol ng daloy ng PHP. 506 00:27:54,640 --> 00:27:58,480 >> Kaya ako lamang ang pagpunta sa mabilis na paglalakad sa pamamagitan na ito 507 00:27:58,480 --> 00:28:01,740 dahil ito ay isang pulutong ng parehong konsepto na aming ginagawa bago. 508 00:28:01,740 --> 00:28:07,280 Mayroon kami ng kung hindi walang laman, panaklong, _GET_GET ["pangalan"]. 509 00:28:07,280 --> 00:28:08,500 Ito ang lahat ng mga parehong bagay-bagay. 510 00:28:08,500 --> 00:28:15,430 Ginagamit namin ang mga diksyunaryo _GET na PHP nagpapadala sa kahilingan ng mga form, 511 00:28:15,430 --> 00:28:20,720 dahil ito ay ang mga parameter ng action, at ang paraan na ito ay makuha. 512 00:28:20,720 --> 00:28:22,110 At pagkatapos na nagtatapos iyon. 513 00:28:22,110 --> 00:28:27,420 Tutuldok ay isang signifier na gawin ito lamang kung ang pahayag kung sinusuri sa totoo. 514 00:28:27,420 --> 00:28:29,490 Ito ay tulad ng isang kulot suhay. 515 00:28:29,490 --> 00:28:33,320 At sa katunayan, ito ay isang kulot suhay sa ibang mga wika tulad ng Python, 516 00:28:33,320 --> 00:28:37,070 kung saan maari ninyong matagpuan kung ikaw lang gawin na para sa iyong huling proyekto. 517 00:28:37,070 --> 00:28:40,170 >> At pagkatapos ay ang linyang ito, hello. 518 00:28:40,170 --> 00:28:41,510 Pagkatapos ay nakuha na namin ang mga kakaibang bagay. 519 00:28:41,510 --> 00:28:43,190 Mayroon kami ng mas maraming mga bracket. 520 00:28:43,190 --> 00:28:46,140 Walang HTTP there-- o PHP, paumanhin. 521 00:28:46,140 --> 00:28:47,250 Subalit mayroong isang katumbas sign. 522 00:28:47,250 --> 00:28:50,625 At pagkatapos kami ay may isang function, htmlspecialchars (_GEThtmlspecialchars (_GET ["pangalan"]). 523 00:28:50,625 --> 00:28:54,440 524 00:28:54,440 --> 00:28:58,040 Ito ay uri ng tulad ng isang mas advanced na bersyon ng echo. 525 00:28:58,040 --> 00:29:01,450 Tulad namin ay echo bilang isang paraan upang i-print ang mga bagay out sa PHP. 526 00:29:01,450 --> 00:29:03,890 Ito ay isang function na nilinaw sa PHP na 527 00:29:03,890 --> 00:29:08,160 ay humarap sa ilang mga mas pangit character at mga halaga ng byte 528 00:29:08,160 --> 00:29:09,540 na maaari mong ipasa ang mga ito. 529 00:29:09,540 --> 00:29:11,070 Ito ay palaging pinakaligtas na gamitin ito. 530 00:29:11,070 --> 00:29:14,930 Ngunit echo ay gawin ang trabaho masarap lamang kung kami ay hindi 531 00:29:14,930 --> 00:29:17,620 pagharap sa anumang bagay na masyadong bastos. 532 00:29:17,620 --> 00:29:20,340 >> At kaya ito ay may parehong epekto ng karaniwang, 533 00:29:20,340 --> 00:29:26,360 ito bagay-bagay sa pagitan ng mga tanong marks ay sinusuri sa pamamagitan ng PHP. 534 00:29:26,360 --> 00:29:34,490 nagbabalik htmlspecialchars a nice HTML naka-print na halaga ng _GET_GET ["pangalan"], ibig sabihin, 535 00:29:34,490 --> 00:29:36,010 kami kahit anong type sa form. 536 00:29:36,010 --> 00:29:40,025 At pagkatapos ay makikita ito kamustahin, comma na espasyo, at pagkatapos na. 537 00:29:40,025 --> 00:29:42,910 Na buong bagay sa pagitan ng ang mga anggulo bracket 538 00:29:42,910 --> 00:29:47,390 ay papalitan sa pamamagitan ng anuman htmlspecialchars naglalagay out. 539 00:29:47,390 --> 00:29:49,390 Kaya na talaga katulad sa kung anong ginagawa namin. 540 00:29:49,390 --> 00:29:54,760 At kami ay may isang ibang pahayag na kumusta mundo, kung saan may katuturan. 541 00:29:54,760 --> 00:29:58,070 Kaya ngayon sabihin bumalik sa aming code at tingnan exactly-- oh. 542 00:29:58,070 --> 00:30:02,200 Sabi ko mayroon na, na kung saan ay hindi ang isang bagay na gusto naming gawin. 543 00:30:02,200 --> 00:30:05,370 Nais naming sabihin na walang dala. 544 00:30:05,370 --> 00:30:10,020 >> At kaya ito ay dapat na gumana sa isang maliit na bit mas mahusay, hindi walang laman _GET_GET ["pangalan"]. 545 00:30:10,020 --> 00:30:12,710 At na kulot suhay matches na kulot suhay. 546 00:30:12,710 --> 00:30:15,210 Mayroon kami ng aming curly braces dito. 547 00:30:15,210 --> 00:30:17,790 echo kumusta _GET ["pangalan"]. 548 00:30:17,790 --> 00:30:19,912 Tayo'y makita kung ito ay gumagana sa isang maliit na mas mahusay Hayaan. 549 00:30:19,912 --> 00:30:21,350 Kami ay tumatakbo pa rin ang aming server. 550 00:30:21,350 --> 00:30:23,910 Kamusta Jason. 551 00:30:23,910 --> 00:30:24,780 Kamusta Jason. 552 00:30:24,780 --> 00:30:25,810 At ito ay nagtrabaho oras na ito. 553 00:30:25,810 --> 00:30:29,860 At kaya na isang patunay na maaari mong katunayan 554 00:30:29,860 --> 00:30:35,180 gamitin ang kulot tirante na kayo alam at pag-ibig sa PHP code sa HTML. 555 00:30:35,180 --> 00:30:41,100 Ang code na PHP ibinigay upang mo sa pset 6-- pset 6-- 556 00:30:41,100 --> 00:30:44,760 nagbibigay ng isa pang paraan ng paggawa na parehong bagay. 557 00:30:44,760 --> 00:30:49,220 >> Kaya ngayon kami ay may mga kapangyarihan. 558 00:30:49,220 --> 00:30:55,740 Mayroon kaming mga pag-andar na ipatupad PHP code na nakita natin sa pset 6 559 00:30:55,740 --> 00:30:57,390 pamamagitan ng ating sarili, talaga. 560 00:30:57,390 --> 00:31:01,350 Bago ako magpatuloy, kung ano ang ilan sa mga mga katanungan na mayroon ka sa puntong ito? 561 00:31:01,350 --> 00:31:02,066 Oo [hindi marinig]. 562 00:31:02,066 --> 00:31:06,512 >> Madla: Kaya sa bersyon sa pset6, kapag tumakbo mo ito, may isang space. 563 00:31:06,512 --> 00:31:09,330 At maaari ko bang makita kung saan ang space ay matapos ang kuwit. [Hindi marinig] start 564 00:31:09,330 --> 00:31:10,700 mga bukas na bracket. 565 00:31:10,700 --> 00:31:15,420 Paano mo isama ang mga puwang sa ang paraan na iyong isinulat iyong sariling mga code? 566 00:31:15,420 --> 00:31:17,910 >> Tagapagsalita: Iyon ay isang mahusay na tanong. 567 00:31:17,910 --> 00:31:21,650 At ni malaman na out upang ipaalam sa. 568 00:31:21,650 --> 00:31:24,450 Kaya na ang isang tunay na magandang katanungan at isa na hindi ko isaalang-alang. 569 00:31:24,450 --> 00:31:25,950 Subalit hindi natin ito sama-sama. 570 00:31:25,950 --> 00:31:30,280 >> Kaya una sa lahat, kung ano Ako ginagawa sa echo 571 00:31:30,280 --> 00:31:33,690 ay kapag kami echo lamang hello, ito outputs hello. 572 00:31:33,690 --> 00:31:41,310 Kung echo namin ngayon na ito makakuha ng sa isang hiwalay na line, suriin kung ano ang mangyayari. 573 00:31:41,310 --> 00:31:43,740 Kaya mag-click namin ito. 574 00:31:43,740 --> 00:31:45,220 Panatilihin namin sinasabi, hi Jason. 575 00:31:45,220 --> 00:31:48,690 Kaya muli, hindi namin ay may puwang na ito. 576 00:31:48,690 --> 00:31:53,090 >> At iyon ay dahil, sa PHP, kapag kami ay may echo, 577 00:31:53,090 --> 00:31:55,820 kahit gaano karaming spaces-- nope, hindi ang V-- 578 00:31:55,820 --> 00:32:01,770 hindi mahalaga kung gaano karaming mga puwang inilalagay namin sa here-- kung ngayon load namin na up muli, 579 00:32:01,770 --> 00:32:03,010 hi Jason. 580 00:32:03,010 --> 00:32:05,770 Oo, nakikita, ang lahat ng mga puwang Kaka kinakain up. 581 00:32:05,770 --> 00:32:08,020 At iyon ay isang bagay na ang function echo ang ginagawa. 582 00:32:08,020 --> 00:32:11,110 >> Kaya mag-ingat ng puwang na iyon, at ito ay 583 00:32:11,110 --> 00:32:14,960 isa sa mga dahilan kung bakit hindi mo gamitin echo 584 00:32:14,960 --> 00:32:18,200 at gumamit ka ng htmlspecialchars halip. 585 00:32:18,200 --> 00:32:22,140 Ako mausisa kung ano ang gagawin mangyayari kung ginawa namin ito 586 00:32:22,140 --> 00:32:26,700 kung saan kami kalakip ng isang puwang sa isang string. 587 00:32:26,700 --> 00:32:29,720 Ako matapat hindi sigurado kung ano ang ang mangyayari kapag ginawa ko ito. 588 00:32:29,720 --> 00:32:30,790 >> Kaya na ang isang paraan. 589 00:32:30,790 --> 00:32:32,210 Iyan ay isang paraan upang mag-ingat ng mga ito. 590 00:32:32,210 --> 00:32:34,840 Kung balutin mo ang mga puwang sa isang string, at pagkatapos ay ang space 591 00:32:34,840 --> 00:32:36,920 ay magiging output mabuti sa pamamagitan ng echo. 592 00:32:36,920 --> 00:32:41,930 Ang pinakaligtas na gawin ay gawin htmlspecialchars. 593 00:32:41,930 --> 00:32:43,800 Iyan ay palaging ang ligtas na mapagpipilian. 594 00:32:43,800 --> 00:32:47,050 Ngunit ngayon kami ay may isang paraan upang gawin ito na may echo kung kinakailangan. 595 00:32:47,050 --> 00:32:50,700 At sa parehong paraan, maaari naming echo bagong linya, ang lahat ng mga uri 596 00:32:50,700 --> 00:32:53,550 ng mga bagay-bagay na pamilyar ka ginagawa sa PHP. 597 00:32:53,550 --> 00:32:57,460 >> Kahit sino pa ang, ano ang anumang higit pa mga katanungan na ang ibang tao ay may 598 00:32:57,460 --> 00:33:01,090 sa puntong ito ang tungkol sa PHP? 599 00:33:01,090 --> 00:33:04,620 Kung nagpakita up tao ng isang maliit na huli, Ikinagagalak kong manatili pagkatapos ng isang maliit na piraso ko 600 00:33:04,620 --> 00:33:06,420 at makipag-usap tungkol sa ilan sa simula. 601 00:33:06,420 --> 00:33:10,380 At ito ay din livestreamed lahat, at naka-archive, na kung saan ay sira. 602 00:33:10,380 --> 00:33:13,960 >> Gayon pa man, ni gawin ang ilang mga kaya ngayon hayaan higit pang advanced na mga bagay-bagay na may PHP. 603 00:33:13,960 --> 00:33:18,790 At isa sa pinakamaagang mga bagay-bagay sa iyo ay ipinakilala sa sa C ay para sa mga loop. 604 00:33:18,790 --> 00:33:24,060 At PHP ay may isang mas malakas na para sa loop na tinatawag na ang foreach loop. 605 00:33:24,060 --> 00:33:37,940 At mukhang this-- para sa bawat blangko bilang blangko, kulot bracket, gawin ang mga bagay. 606 00:33:37,940 --> 00:33:41,500 Kaya ito ay talaga ng isang shorthand. 607 00:33:41,500 --> 00:33:45,380 >> Tingnan, para sa loop bilang syntactical construction 608 00:33:45,380 --> 00:33:50,590 ay gagawin sa C at sa pagpupulong wika at mga bagay na gusto. 609 00:33:50,590 --> 00:33:56,300 Gagawin sa C, tiyak, bilang shorthand para sa isang pulutong ng mga uri ng mga loop 610 00:33:56,300 --> 00:33:57,750 na ang mga tao na nais makita. 611 00:33:57,750 --> 00:34:01,230 Tulad nang isulat sa iyo ng isang loop, may ay madalas na isang hakbang Pinasimulan 612 00:34:01,230 --> 00:34:04,700 pinaandar karapatan sa simula, ang isang kalagayan kung saan ang mga loop ay stop-- 613 00:34:04,700 --> 00:34:07,030 at na ang tampok na ito na lamang sa isang habang loop, 614 00:34:07,030 --> 00:34:10,040 o na ang isang habang ay may eksaktong lamang na feature-- at pagkatapos ay 615 00:34:10,040 --> 00:34:12,320 isang incrementation hakbang sa dulo. 616 00:34:12,320 --> 00:34:16,489 At kaya gusto mo madalas na mahanap ang iyong sarili pagsulat ng code tulad ng mga sumusunod. 617 00:34:16,489 --> 00:34:19,780 Pupunta ako upang burahin ang ilan sa mga ito. 618 00:34:19,780 --> 00:34:23,850 >> Ngunit kung kami ay iterating sa pamamagitan ng character sa isang array, 619 00:34:23,850 --> 00:34:26,960 halimbawa, tulad na namin Nakatanggap ng isang hanay ng mga character. 620 00:34:26,960 --> 00:34:29,400 Paumanhin upang isauli C. Alam ko, sa iyong isipan na kayo ay tapos na. 621 00:34:29,400 --> 00:34:31,900 Ngunit ito ay para lamang sa layunin ng pag-aaral ng PHP, pangako ko. 622 00:34:31,900 --> 00:34:38,880 Kaya kung mayroon kang isang char str ng haba 8, at sabihin 623 00:34:38,880 --> 00:34:46,760 sabihin ang sinasabi nito Hellooo may isang trailing null. 624 00:34:46,760 --> 00:34:48,270 Mahusay, kaya na ang aming mga string. 625 00:34:48,270 --> 00:34:51,469 >> At pagkatapos ay nagkaroon kami ng isang para sa loop. 626 00:34:51,469 --> 00:34:53,730 Mayroon kaming int i katumbas ng 0. 627 00:34:53,730 --> 00:34:57,960 628 00:34:57,960 --> 00:35:09,110 At gusto namin na lumabas kapag str ng i katumbas hindi katumbas ng null, 629 00:35:09,110 --> 00:35:11,590 dahil lumabas kami kapag ito ay katumbas ng null. 630 00:35:11,590 --> 00:35:19,170 At pagkatapos ay gawin namin i ++ sa bawat punto sa para sa loop. 631 00:35:19,170 --> 00:35:30,480 Ang paggawa ng isang bagay na may str ng i. 632 00:35:30,480 --> 00:35:34,950 >> Kaya ang pangunahing formula ay, kami ay nagkaroon ng array na ito na kami 633 00:35:34,950 --> 00:35:37,910 Nais na ituturing bilang hiwalay na mga elemento. 634 00:35:37,910 --> 00:35:45,170 Ngunit ano ang namin ay upang gawin ay nagkaroon kami upang talaga lumikha ng isang hiwalay na integer 635 00:35:45,170 --> 00:35:50,530 variable na pagbibilang, ang bawa't oras namin nagpunta sa pamamagitan ng loop. 636 00:35:50,530 --> 00:35:55,240 At pagkatapos kami ay may sa pagkatapos ay tumawag strstr [i] kapag ang gusto talaga naming gawin 637 00:35:55,240 --> 00:35:57,280 ay pumunta lamang ng character sa pamamagitan ng character, di ba? 638 00:35:57,280 --> 00:36:00,185 Hindi namin nais upang dagdagan ang isang integer at pagkatapos ay gamitin na integer 639 00:36:00,185 --> 00:36:02,780 upang ma-access ang bawat character paisa-isa. 640 00:36:02,780 --> 00:36:04,410 Kami ay talagang nais na karakter sa pamamagitan ng character. 641 00:36:04,410 --> 00:36:08,600 >> At kaya para sa bawat Matalinong Kinakalkula na para sa amin. 642 00:36:08,600 --> 00:36:11,875 Kung kami ay may isang array, na kung saan maaari naming ipahayag sa PHP 643 00:36:11,875 --> 00:36:15,900 bilang just-- kung kami ay may isang variable tinatawag, tawag ito array ipaalam. 644 00:36:15,900 --> 00:36:19,840 Ang mga himala ng walang pagta-type, ito ay tulad ng anumang iba pang mga variable. 645 00:36:19,840 --> 00:36:20,730 Ito lamang ay isang array. 646 00:36:20,730 --> 00:36:26,890 At kami ay may isang maliit na [hindi marinig] tulad ng 1, 2, 3, lamang ng isang uri ng initialize array. 647 00:36:26,890 --> 00:36:29,680 OK lang, hindi ito tulad ng aking foreach. 648 00:36:29,680 --> 00:36:33,120 >> Subalit kung gagawin foreach-- namin talagang I-type sa na ang isang maliit na mali. 649 00:36:33,120 --> 00:36:34,840 Mayroong dalawang mga paraan upang gawin ang isang foreach loop. 650 00:36:34,840 --> 00:36:37,400 Mayroong ang sa syntax at ang bilang syntax. 651 00:36:37,400 --> 00:36:40,580 At kami ay pagpunta sa gawin sa unang syntax, hindi bilang. 652 00:36:40,580 --> 00:36:41,780 Iyon ang aking mga pagkakamali. 653 00:36:41,780 --> 00:36:53,785 >> Kaya foreach num sa array, echo num. 654 00:36:53,785 --> 00:36:56,970 655 00:36:56,970 --> 00:36:59,500 At PHP ay sumisigaw sa sa akin para sa ilang kadahilanan. 656 00:36:59,500 --> 00:37:03,520 Ito ay sa paghahanap ng isang hindi inaasahang in sa isang bagay, 657 00:37:03,520 --> 00:37:05,820 kung saan ay isang maliit na piraso ng isang abala. 658 00:37:05,820 --> 00:37:09,105 Ngunit kami ay malaman kung bakit na sa ilang sandali. 659 00:37:09,105 --> 00:37:11,960 660 00:37:11,960 --> 00:37:13,610 Kaya hindi na tulad ng. 661 00:37:13,610 --> 00:37:15,040 Subukan gamit ang bilang Hayaan. 662 00:37:15,040 --> 00:37:17,310 Ito Mas pinipili ang bilang syntax ay tila. 663 00:37:17,310 --> 00:37:22,550 Kaya sabihin gawin foreach array bilang num. 664 00:37:22,550 --> 00:37:24,520 >> Kaya ang isang maliit na paliwanag ng kung ano lamang ang nangyari 665 00:37:24,520 --> 00:37:30,670 ay ang bilang syntax ay saying-- well una, Tingnan natin kung ano ang mga print out ipaalam. 666 00:37:30,670 --> 00:37:32,260 Kaya buksan up ng aming IDE. 667 00:37:32,260 --> 00:37:33,110 Pumunta kami dito. 668 00:37:33,110 --> 00:37:35,845 Sabihin namin, Hello Jason. 669 00:37:35,845 --> 00:37:41,390 At ito ay 123, na kung saan ay ang mga nilalaman ng array na nilikha namin up top. 670 00:37:41,390 --> 00:37:45,500 >> Kaya diving sa ito foreach loop, kami ay may variable na tinatawag na array ng 671 00:37:45,500 --> 00:37:47,470 na kung saan ay isang hanay ng mga tatlong numero. 672 00:37:47,470 --> 00:37:52,120 At pagkatapos ay ang aming ginagawa foreach array bilang num, echo num. 673 00:37:52,120 --> 00:37:54,990 At iyon ang mas magaling kaysa sa isang para putulan. 674 00:37:54,990 --> 00:38:02,380 Ang sinasabi namin, pagpapagamot ng bawat isa sa ang mga bagay-bagay sa array bilang num, 675 00:38:02,380 --> 00:38:05,180 Gusto ko sa iyo na bigyan ako ng num. 676 00:38:05,180 --> 00:38:06,640 At na eksakto kung ano ang ginagawa nito. 677 00:38:06,640 --> 00:38:12,000 >> PHP ay pagkalkula na kapag sinabi mong foreach array, 678 00:38:12,000 --> 00:38:16,080 at ikaw ay pagharap sa isang array, kung ano ikaw ay pagpunta sa gusto mong umulit sa 679 00:38:16,080 --> 00:38:19,950 ay ang mga character sa array na, ay ang ints sa na array, 680 00:38:19,950 --> 00:38:21,920 ay ang mga elemento sa array. 681 00:38:21,920 --> 00:38:26,110 At ito ay pagpapaalam tindahan mo mga variable tulad ng num, 682 00:38:26,110 --> 00:38:29,360 at pagkatapos lamang output num kaagad sa halip na sinasabi, 683 00:38:29,360 --> 00:38:34,090 Mayroon akong isang variable na tinatawag na i, at pagkatapos ay gusto kong output strstr [i]. 684 00:38:34,090 --> 00:38:39,130 >> At kaya na nagbibigay-daan sa amin upang gawin ang mga cool na bagay. 685 00:38:39,130 --> 00:38:43,330 Tulad ng karaniwang wala kaming upang lumikha ng ang mga variable tulad ng i at gawin ang lahat ng 686 00:38:43,330 --> 00:38:45,090 ito incrementation stuff sa dulo. 687 00:38:45,090 --> 00:38:48,290 PHP ay tumatagal ng pag-aalaga ng lahat ng iyon para sa iyo. 688 00:38:48,290 --> 00:38:54,470 >> Kaya ngayon sabihin makipag-usap tungkol sa foreach bilang ipaalam ito ay sumasaklaw sa aming diksyunaryo _GET. 689 00:38:54,470 --> 00:38:57,170 Kaya makikita magkomento namin ito out mabilis. 690 00:38:57,170 --> 00:39:02,030 Kaya na namin ang aming _GET array. 691 00:39:02,030 --> 00:39:04,361 Mayroon kaming na ito variable. 692 00:39:04,361 --> 00:39:05,610 At ito ay nakuha ang ilang mga bagay-bagay sa loob nito. 693 00:39:05,610 --> 00:39:10,275 >> Sa ngayon, mayroon lamang namin ang isang variable na dumaan sa mga ito, na siyang pangalan. 694 00:39:10,275 --> 00:39:13,420 Ngunit kung kami ay pindutin ang Enter, ngayon maaari kaming magkaroon ng dalawang variable. 695 00:39:13,420 --> 00:39:17,910 Maaari naming magkaroon ng pangalan at edad, halimbawa, kung gusto naming makuha ang edad at din 696 00:39:17,910 --> 00:39:20,960 ang pangalan ng isang tao, nakakatawa sapat. 697 00:39:20,960 --> 00:39:25,690 >> Kaya ngayon _GET ay magiging isang diksyunaryo na may dalawang mga sangkap, 698 00:39:25,690 --> 00:39:27,980 may dalawang pangunahing mga pares ng halaga. 699 00:39:27,980 --> 00:39:33,490 At ang unang key-- Pupunta ako sa isulat ang isang ito up sa board masyadong. 700 00:39:33,490 --> 00:39:37,136 Mayroon kaming aming diksyunaryo ay _GET. 701 00:39:37,136 --> 00:39:39,520 Paumanhin, ito ay isang maliit na mahirap makita. 702 00:39:39,520 --> 00:39:46,690 Ngunit sa loob ng aming diksyunaryo kami pangalan, na kung saan ay pagpunta sa isang bagay 703 00:39:46,690 --> 00:39:47,680 na aming ibinigay. 704 00:39:47,680 --> 00:39:53,040 At kami ay may edad na, na rin pagpunta sa isang bagay na aming ibinigay. 705 00:39:53,040 --> 00:39:56,020 At ito ay ang kabuuan ng aming diksyunaryo. 706 00:39:56,020 --> 00:39:57,730 >> Kaya ito ay nakuha ng dalawang mga elemento sa loob nito. 707 00:39:57,730 --> 00:40:01,310 At kaya dahil foreach loops ay matalino, kami ay 708 00:40:01,310 --> 00:40:04,900 maaaring sa tingin, at tama maaaring isipin na foreach 709 00:40:04,900 --> 00:40:08,080 maaaring ulitin ito sa pamamagitan ng diksyonaryo, pag-print out 710 00:40:08,080 --> 00:40:10,850 ang mga halaga na ibinigay sa pamamagitan ng pangalan at edad. 711 00:40:10,850 --> 00:40:14,510 >> Kaya sabihin sa katunayan ko na lang. 712 00:40:14,510 --> 00:40:17,520 Bumuo ng isang foreach loop Hayaan. 713 00:40:17,520 --> 00:40:23,351 At kami ay pagpunta sa gawin para _GET as. 714 00:40:23,351 --> 00:40:24,850 At kami ay pagpunta sa gawin ang mga sumusunod. 715 00:40:24,850 --> 00:40:34,186 Kaya sabihin makita kung ano ang mangyayari kung namin type salita lamang, at pagkatapos ay sabihin echo salita. 716 00:40:34,186 --> 00:40:40,540 Kami rin ay pagpunta sa echo ng isang bagong linya lamang upang gawin itong isang maliit na mas malinaw, 717 00:40:40,540 --> 00:40:41,260 ano ang nangyayari. 718 00:40:41,260 --> 00:40:42,890 >> Kaya sabihin makita. 719 00:40:42,890 --> 00:40:44,390 Hindi na ito ay nagbibigay sa akin ang anumang mga error. 720 00:40:44,390 --> 00:40:46,810 At kami isara ito. 721 00:40:46,810 --> 00:40:51,020 Sa aming website, ikaw ay pagpunta sa paggawa isang pulutong ng mga na sa mga kurso ng pset7. 722 00:40:51,020 --> 00:40:53,890 Kaya sinasabi namin ang pangalan ko ay Sam. 723 00:40:53,890 --> 00:40:58,560 Ang aking edad ay 45. 724 00:40:58,560 --> 00:41:01,060 Hindi. 725 00:41:01,060 --> 00:41:05,640 Ngunit ito mga print out, tulad ng inaasahan, Sam 45. 726 00:41:05,640 --> 00:41:08,930 >> At kaya mapapansin mo na ano foreach loop did-- dito, 727 00:41:08,930 --> 00:41:12,360 sabihin bumalik sa na kaya ikaw ang bahala sa board-- makuha namin _GET bilang ng salita. 728 00:41:12,360 --> 00:41:15,130 At may apat na bagay sa _GET. 729 00:41:15,130 --> 00:41:17,410 Ngunit ito lamang ang mga naka-print out ang dalawang bagay. 730 00:41:17,410 --> 00:41:21,290 foreach, pagiging self kanyang katalinuhan, ipinapalagay na kung ano ang talagang gusto naming 731 00:41:21,290 --> 00:41:24,100 ay ang halaga, hindi ang mga susi. 732 00:41:24,100 --> 00:41:27,800 >> Subalit mayroong isang paraan na maaari naming i-print out ang mga pindutan pati na rin, kung gusto naming. 733 00:41:27,800 --> 00:41:30,810 Kung gusto naming ring malaman kung ano mga variable na ito ay tinatawag na, 734 00:41:30,810 --> 00:41:33,540 may isang paraan na kami maaaring ma-access ito rin. 735 00:41:33,540 --> 00:41:36,840 At ang daan sa uri ng gawin iyon, upang maaari naming sabihin, hinahayaan talagang 736 00:41:36,840 --> 00:41:39,485 nahati ito sa pangunahing mga pares ng halaga. 737 00:41:39,485 --> 00:41:42,370 738 00:41:42,370 --> 00:41:47,580 Kaya sabihin makita kung ano ang mangyayari ngayon. 739 00:41:47,580 --> 00:41:50,550 >> Kaya kami ay may key. 740 00:41:50,550 --> 00:41:52,290 Mayroon kaming halaga. 741 00:41:52,290 --> 00:41:56,650 Mayroon kaming isa pang bagong linya para sa pagiging madaling mabasa. 742 00:41:56,650 --> 00:42:00,540 At makita kung ano ang mangyayari ipaalam kapag ginagawa namin ito ngayon. 743 00:42:00,540 --> 00:42:04,950 744 00:42:04,950 --> 00:42:06,720 Hindi ko alam kung gaano kaluma Jason ay. 745 00:42:06,720 --> 00:42:09,180 Jason 15. 746 00:42:09,180 --> 00:42:11,650 Kaya kami ay may pangalan Jason, edad 15. 747 00:42:11,650 --> 00:42:15,830 Kaya nagawa naming i-access ang mga susi at halaga ng mga pares ng diksyunaryo na ito 748 00:42:15,830 --> 00:42:18,590 lamang sa pamamagitan ng pagsasabi ng mga pangunahing punto upang value. 749 00:42:18,590 --> 00:42:23,350 At iyon ay isang foreach syntactic asukal bit na nagbibigay-daan 750 00:42:23,350 --> 00:42:25,960 mong i-access ng mga bagay sa diksyunaryo. 751 00:42:25,960 --> 00:42:31,190 >> Kaya sana ang ganitong uri ng diin ang kapangyarihan ng foreach loop. 752 00:42:31,190 --> 00:42:35,690 Maaari kang medyo marami throw anumang bagay na tila iterable, 753 00:42:35,690 --> 00:42:38,922 tulad ng anumang bagay na may maramihang mga elemento tulad ng isang array, 754 00:42:38,922 --> 00:42:41,880 tulad ng isang dictionary-- mga dalawang pangunahing bagay na kayo ay nagtatrabaho sa 755 00:42:41,880 --> 00:42:45,630 kapwa sa buhay at sa pset 7. 756 00:42:45,630 --> 00:42:49,350 Kaya maaari mong itapon bagay-bagay na at ito, at ito ay malaman 757 00:42:49,350 --> 00:42:51,030 ano ang gusto mong gawin sa mga ito. 758 00:42:51,030 --> 00:42:54,250 Makikita ito sabihin, OK, ako pagpunta upang makakuha ng mga bagay na ito mula sa mga data na 759 00:42:54,250 --> 00:42:55,680 ay naipasa na sa akin. 760 00:42:55,680 --> 00:43:02,470 At iyon ang isang bagay na ikaw ay pagpunta sa gumagamit ng isang pulutong ng sa pset 7. 761 00:43:02,470 --> 00:43:08,550 >> Pupunta ako sa mabilis na mag-scroll down lamang upang makita kung saan ako sa. 762 00:43:08,550 --> 00:43:11,410 763 00:43:11,410 --> 00:43:13,070 Huwag mga tao ay may mga katanungan sa puntong ito? 764 00:43:13,070 --> 00:43:13,778 Tanong sa lahat? 765 00:43:13,778 --> 00:43:14,400 Oo? 766 00:43:14,400 --> 00:43:18,320 >> Madla: Kaya may mga susi at halaga, maaari mong pangalanan ito anumang bagay 767 00:43:18,320 --> 00:43:20,507 at ito ay pa rin gumagana? 768 00:43:20,507 --> 00:43:21,090 Tagapagsalita: Oops. 769 00:43:21,090 --> 00:43:22,820 Wow, ko lubos na matatanggal ang buong line. 770 00:43:22,820 --> 00:43:23,380 Mahusay na gawain. 771 00:43:23,380 --> 00:43:26,502 Kaya a, a. 772 00:43:26,502 --> 00:43:30,109 Key at halaga lamang ang convention. 773 00:43:30,109 --> 00:43:30,650 Ito ay kapaki-pakinabang. 774 00:43:30,650 --> 00:43:34,010 Gusto mong makakuha ng ilang mga disenyo puntos, marahil ilang mga punto ng estilo 775 00:43:34,010 --> 00:43:36,970 para sa paggawa na ito sapagkat ito talagang nagbibigay ang intensyon. 776 00:43:36,970 --> 00:43:39,650 Ngunit sinasabi namin ang isang at Yarp. 777 00:43:39,650 --> 00:43:42,476 >> Madla: Hindi mo na kailangang baguhin ang anumang bagay sa file na HTML 778 00:43:42,476 --> 00:43:43,607 upang sumalamin na? 779 00:43:43,607 --> 00:43:44,440 Tagapagsalita: Hindi sa lahat. 780 00:43:44,440 --> 00:43:47,260 Madla: At alam lang ito na dahil sa ang katumbas ng mas higit than-- 781 00:43:47,260 --> 00:43:47,801 Tagapagsalita: Oo. 782 00:43:47,801 --> 00:43:49,489 Madla: --that tagapagpahiwatig na that's-- 783 00:43:49,489 --> 00:43:50,030 Tagapagsalita: Oo. 784 00:43:50,030 --> 00:43:52,260 Iyon ay isang foreach syntax, ngunit yes. 785 00:43:52,260 --> 00:43:53,720 >> Madla: May mga hindi na uri. 786 00:43:53,720 --> 00:43:57,230 Kaya kung ano kung nais mong edad na lamang ng isang numero? 787 00:43:57,230 --> 00:43:59,510 Mayroon bang paraan upang gawin iyon? 788 00:43:59,510 --> 00:44:04,550 >> Tagapagsalita: May mga paraan upang suriin kung variable tumalima sa tiyak na mga uri. 789 00:44:04,550 --> 00:44:08,482 Kaya nagtatanong PHP ng kaunti pa mula mo dahil walang mga uri in. 790 00:44:08,482 --> 00:44:09,440 Ang ilang mga paraan na ito ay humihingi ng mas mababa. 791 00:44:09,440 --> 00:44:11,070 Sa ilang mga paraan na ito ay humihingi ng higit pa. 792 00:44:11,070 --> 00:44:13,320 Dahil kung ikaw lang ay isang bagay sa isang variable, 793 00:44:13,320 --> 00:44:14,960 wala kang mga ideya kung ano ang uri na ito ay. 794 00:44:14,960 --> 00:44:19,310 Ngunit kung ikaw ay matalino tungkol sa mga variable na kang magtalaga ng mga uri sa at tiyakin 795 00:44:19,310 --> 00:44:22,750 na ang mga function return-- ka lamang gusto function na lamang return 796 00:44:22,750 --> 00:44:26,210 isang uri ng halaga sa gayon na maaari mong talaga 797 00:44:26,210 --> 00:44:31,090 asahan na ang mga variable makabalik ka mula sa isang function ay ang uri 798 00:44:31,090 --> 00:44:32,780 na sa tingin mo ay ito ay, talaga. 799 00:44:32,780 --> 00:44:36,550 >> Ngunit may mga ilang mga paraan sa pamamagitan ng kung saan maaari mong suriin. 800 00:44:36,550 --> 00:44:39,801 Hindi ko matandaan ang mga ito off sa tuktok ng aking ulo. 801 00:44:39,801 --> 00:44:43,300 Hinihintay ko ito upang i-asul. 802 00:44:43,300 --> 00:44:45,560 isint? 803 00:44:45,560 --> 00:44:48,070 isstr? 804 00:44:48,070 --> 00:44:52,000 May mga pamamaraan binuo sa PHP na maaari 805 00:44:52,000 --> 00:44:54,440 suriin ang uri ng variable para sa iyo. 806 00:44:54,440 --> 00:44:58,250 Ngunit kung magtalaga ka ng mga variable nang buong talino, hindi mo dapat 807 00:44:58,250 --> 00:45:01,330 may gawin na masyadong marami sa pset 7. 808 00:45:01,330 --> 00:45:02,780 Ngunit ang mga pamamaraan na ito ay umiiral. 809 00:45:02,780 --> 00:45:06,704 At iyon ay isang bagay na ay nasa wika mismo. 810 00:45:06,704 --> 00:45:08,370 At hindi ko matandaan ang tiyak na syntax. 811 00:45:08,370 --> 00:45:09,930 Maaari naming kahit na tumingin ito. 812 00:45:09,930 --> 00:45:11,974 Ngunit oras ay ng kakanyahan. 813 00:45:11,974 --> 00:45:13,890 Mayroon Ang sinumang ay may anumang karagdagang mga katanungan? 814 00:45:13,890 --> 00:45:14,660 Oo. 815 00:45:14,660 --> 00:45:15,951 >> Madla: Mayroon akong isa lamang sa karagdagang. 816 00:45:15,951 --> 00:45:19,050 Kaya nabanggit mo ang GET na paraan, ngunit hindi mo banggitin ang paraan ng POST. 817 00:45:19,050 --> 00:45:20,500 Sigurado namin ang pagbabalik sa iyon? 818 00:45:20,500 --> 00:45:21,540 >> Tagapagsalita: Oo, gagawin namin ay babalik na iyon. 819 00:45:21,540 --> 00:45:24,840 Iyan ay eksakto kung ano ang hinahanap ko sa aking telepono, na sa ngayon ay nakatulog, 820 00:45:24,840 --> 00:45:26,960 ngunit kailangan ko mahanap ito. 821 00:45:26,960 --> 00:45:30,680 Basta siguraduhin pindutin namin lahat ng mga tala PHP. 822 00:45:30,680 --> 00:45:35,640 Oo, walang bersyon debugging. 823 00:45:35,640 --> 00:45:41,940 Oo, mayroon kaming ilang higit pang mga bagay na gusto naming gawin ngayon sa puntong ito. 824 00:45:41,940 --> 00:45:45,980 >> Kaya pinag-uusapan ng POST, na nabanggit mo, 825 00:45:45,980 --> 00:45:49,630 ang pagkakaiba lamang pagitan ng GET at POST ay 826 00:45:49,630 --> 00:45:53,150 na tandaan kapag kami ay tumingin sa URL na ito at nakita namin, oh, 827 00:45:53,150 --> 00:45:58,270 pangalan ay katumbas ng isang at edad ay katumbas Yarp Isasama sa URL para sa atin ng tama. 828 00:45:58,270 --> 00:46:03,300 POST ay isang maliit na mas mapaglihim sa kanyang pagpasa ng impormasyon. 829 00:46:03,300 --> 00:46:08,090 >> Kaya kung hindi mo nais ang isang user malaman, halimbawa, ikaw 830 00:46:08,090 --> 00:46:11,160 ay hindi gusto ang username at password ng tao 831 00:46:11,160 --> 00:46:15,080 kasalukuyang naka-log in upang maipakita sa ang URL, na kung saan ay isang makatwirang bagay 832 00:46:15,080 --> 00:46:17,770 na hindi gusto sa URL, dahil ang isang tao ay maaaring makita ito. 833 00:46:17,770 --> 00:46:21,520 Kung ili-link ang mga ito sa isang tao sa isang pahina, ikaw ayaw nakapalitada kanilang URL doon, 834 00:46:21,520 --> 00:46:27,850 dahil na ay magpapahintulot sa mga tao upang mag-login sa pamamagitan lamang sa halip na ang pag-paste ng isang URL 835 00:46:27,850 --> 00:46:29,670 ng tunay na pagpuno ng isang form. 836 00:46:29,670 --> 00:46:31,710 POST ay mas mapaglihim nang kaunti. 837 00:46:31,710 --> 00:46:34,150 >> At ang tanging bagay na kakailanganin naming baguhin 838 00:46:34,150 --> 00:46:38,550 ay ang paraan na ito, ang pagbabago mula sa makakuha-post. 839 00:46:38,550 --> 00:46:42,367 At pagkatapos ay sa loob ng HTTP, sa halip ng pag-access ang mga array _GET, 840 00:46:42,367 --> 00:46:43,950 kami ay pagpunta upang ma-access ang array _POST. 841 00:46:43,950 --> 00:46:48,600 >> At kami na paunawa na, kung buksan namin ito back up muli, 842 00:46:48,600 --> 00:46:51,910 Jason dahan-dahan pagtanggi sa edad. 843 00:46:51,910 --> 00:46:53,230 pangalanan Jason, edad 14. 844 00:46:53,230 --> 00:46:54,280 Ang parehong mga bagay-bagay nagpa-pop up. 845 00:46:54,280 --> 00:46:57,190 Ngunit pumunta kami sa URL at mga variable ay hindi doon. 846 00:46:57,190 --> 00:47:00,540 >> At ang paraan na POST passes-- kaya tandaan 847 00:47:00,540 --> 00:47:02,750 kung paano tingnan ang source ng isang pahina. 848 00:47:02,750 --> 00:47:04,570 Pumunta kami sa network. 849 00:47:04,570 --> 00:47:06,920 I-refresh namin. 850 00:47:06,920 --> 00:47:10,690 At ito ay isa pang bagay na POST ay magbibigay sa iyo ng mga babala tungkol sa. 851 00:47:10,690 --> 00:47:15,050 Maaari mong nakita ang isang kahon, isang text kahon tulad nito sa iyong browser. 852 00:47:15,050 --> 00:47:18,170 Sigurado ka bang gusto mo upang magpadala muli ng isang form? 853 00:47:18,170 --> 00:47:21,170 POST ay kung ano ang mga pagpapadala ng 'mga forms. 854 00:47:21,170 --> 00:47:24,680 >> Dahil talaga kung ipinadala mo ang iyong impormasyon ng credit card sa isang tao, 855 00:47:24,680 --> 00:47:26,350 na hindi pagpunta sa magpapakita sa URL. 856 00:47:26,350 --> 00:47:28,180 Iyon ay magiging isang POST kahilingan. 857 00:47:28,180 --> 00:47:32,905 Kaya kapag i-refresh mo ang pahina, ito ay ipadalang muli na request post. 858 00:47:32,905 --> 00:47:35,530 Kaya ngayon ay nais namin upang ipadala ang bumuo muli dahil hindi ito ay pagpunta 859 00:47:35,530 --> 00:47:37,340 upang lumikha ng anumang mga duplicate na mga pagbili. 860 00:47:37,340 --> 00:47:41,160 >> At kami na mapansin na pababa dito, ang paraan na aming ginagamit ay POST. 861 00:47:41,160 --> 00:47:43,065 At sa katunayan ito ay hindi maglipat ng bytes. 862 00:47:43,065 --> 00:47:45,460 Ito mailipat 401 ng mga ito. 863 00:47:45,460 --> 00:47:47,190 Program ni pretty maliit na maliit. 864 00:47:47,190 --> 00:47:51,600 Ngunit mayroong wala kahit saan na maaari naming makita ang mga halaga na ay lumipas. 865 00:47:51,600 --> 00:47:59,540 Ang mga pahina ng web ay maaaring ang kanilang mga sarili makita, ngunit kami bilang mga gumagamit ay hindi maaaring makita, 866 00:47:59,540 --> 00:48:01,650 maliban kung ikaw ay isang hacker. 867 00:48:01,650 --> 00:48:05,340 Kung ikaw ay isang mahusay na hacker, maaari kang tumingin. 868 00:48:05,340 --> 00:48:09,360 >> Kung alam mo ang basic format ng HTML, 869 00:48:09,360 --> 00:48:11,790 ang mga halaga ay gumawa kilala ang kanilang mga sarili sa mga pahina. 870 00:48:11,790 --> 00:48:13,160 Magagawa mong upang makita. 871 00:48:13,160 --> 00:48:16,720 Ang mga halaga ay doon, ang mga ito sandali lang gaanong halata para sa iyo 872 00:48:16,720 --> 00:48:19,522 upang ma-access, karaniwang. 873 00:48:19,522 --> 00:48:23,620 >> Kami ay may anumang higit pang mga ba mga katanungan tungkol sa GET, POST 874 00:48:23,620 --> 00:48:26,800 before-- ano kami ay pagpunta sa susunod na gagawin ay talagang tumingin sa ilan sa mga code 875 00:48:26,800 --> 00:48:30,837 na kayo ay nagbibigay sa pset 7, makipag-usap tungkol kung paano ito ay gumagamit ng ilan sa mga konsepto, 876 00:48:30,837 --> 00:48:32,670 at makipag-usap tungkol sa mga bagay-bagay na kayo ay pagpunta 877 00:48:32,670 --> 00:48:35,090 sa may sa gawin ang isang maliit na piraso sa pset 7. 878 00:48:35,090 --> 00:48:36,760 Anumang higit pang mga tanong bago na? 879 00:48:36,760 --> 00:48:38,047 Higit pang mga tanong ka guys ay may? 880 00:48:38,047 --> 00:48:41,250 881 00:48:41,250 --> 00:48:41,840 Great. 882 00:48:41,840 --> 00:48:45,370 >> Sige, tingnan natin hayaan isang maliit na piraso sa pset 7, 883 00:48:45,370 --> 00:48:49,530 walang duda kung ano ang iyong lahat ng pinaka nagaganyak tungkol sa. 884 00:48:49,530 --> 00:48:52,126 885 00:48:52,126 --> 00:48:54,750 Ibig kong sabihin, ito ay isang bagay na David napupunta sa pamamagitan ng isang maliit na bit. 886 00:48:54,750 --> 00:49:00,890 Ngunit kami ay may tatlong mga direktoryo sa top, pati na rin ang isang configuration file. 887 00:49:00,890 --> 00:49:04,650 Iyan ay para sa mga database, na kung saan ipapakita namin makipag-usap tungkol sa tungkol sa limang minuto. 888 00:49:04,650 --> 00:49:07,220 Kabilang dito ang, hindi mo na kailangang upang tumingin sa direktoryong ito 889 00:49:07,220 --> 00:49:12,480 kung hindi mo nais na ngunit ito ay magaling na Alam mayroong lahat ng uri ng mga katulong. 890 00:49:12,480 --> 00:49:14,210 Katulong ay tulad helpful function. 891 00:49:14,210 --> 00:49:18,120 At pagkatapos kami ay may config, na nagtatakda ng ilang mga bagay-bagay up. 892 00:49:18,120 --> 00:49:24,590 >> May mga ilang mga pag-andar na CS50 ay may nakasulat na sa helper at config. 893 00:49:24,590 --> 00:49:27,250 At ang ilan sa PHP na na paglabas sa mga file 894 00:49:27,250 --> 00:49:30,880 ay gumawa ng isang pulutong ng mas maraming uri ng mahina ang ulo leg trabaho para sa iyo. 895 00:49:30,880 --> 00:49:35,250 Tulad ng kung pupunta tayo sa pampublikong login.php, na kung saan ay kung ano ang 896 00:49:35,250 --> 00:49:38,350 nagpapakita up kanan kapag ikaw ay pupunta sa pset 7. 897 00:49:38,350 --> 00:49:40,580 Susubukan naming makita na mayroong ito ay nangangailangan ng statement. 898 00:49:40,580 --> 00:49:43,420 At na uri ng tulad ng isang matalim na isama, hashtag 899 00:49:43,420 --> 00:49:46,850 isama kung ikaw ay ng isang mas bagong henerasyon. 900 00:49:46,850 --> 00:49:49,740 Ngunit ito talaga sabi na kailangan ko ng access 901 00:49:49,740 --> 00:49:52,260 sa lahat ng mga function sa config.php. 902 00:49:52,260 --> 00:49:55,290 At maaari kang magkaroon ng isang nangangailangan ng para sa lahat ng uri ng iba pang mga bagay. 903 00:49:55,290 --> 00:49:59,670 >> ang tunay na nangangailangan config katulong. 904 00:49:59,670 --> 00:50:02,490 Kaya kapag kailangan mo config, hindi ka din 905 00:50:02,490 --> 00:50:05,660 kabilang o nangangailangan Katulong rin. 906 00:50:05,660 --> 00:50:09,590 Kaya na ay nagbibigay sa iyo ng access sa lahat ng mga cool na mga pag-andar na kami ay pagpunta upang gamitin, 907 00:50:09,590 --> 00:50:10,420 mga bagay na gusto render. 908 00:50:10,420 --> 00:50:13,490 Talagang ako pagpunta sa luwag down na ito nang kaunti. 909 00:50:13,490 --> 00:50:16,280 Kaya ang function pagkatapos namin pagpunta sa pamamagitan ng paglalakad 910 00:50:16,280 --> 00:50:22,380 bago tayo magpatuloy sa SQL ng kaunti bit ay ang login.php function, lang 911 00:50:22,380 --> 00:50:26,586 dahil ito ay gumagamit ng ilan sa mga paksa na usapan lang natin ang tungkol sa PHP. 912 00:50:26,586 --> 00:50:30,840 >> Ang makikita mo ang unang bagay ay kung $ _SERVER. 913 00:50:30,840 --> 00:50:34,500 Ito ay isa pang global variable na ikaw ay pagpunta sa pagharap sa. 914 00:50:34,500 --> 00:50:38,460 Ito ay tulad ng _GET at _POST, ngunit kung ano server ay naglalaman na ito ay maaaring ipaalam sa iyo 915 00:50:38,460 --> 00:50:42,730 malaman kung ang mga kahilingan paraan ay isang GET o POST. 916 00:50:42,730 --> 00:50:47,250 Tulad ng dati kung ano ang aming ginagawa ay para lamang sa aming code na aming sinulat, 917 00:50:47,250 --> 00:50:51,880 lang namin ang pagbabago nito upang maging GET at POST depende sa kung ano ang may HTML. 918 00:50:51,880 --> 00:50:55,120 Ngunit may mga pahina na maaaring maging access sa parehong mga uri ng mga kahilingan. 919 00:50:55,120 --> 00:50:57,410 At baka gusto mong gawin iba't-ibang mga bagay-bagay depende 920 00:50:57,410 --> 00:50:59,740 sa uri ng kahilingan, tulad ng pag-login ay. 921 00:50:59,740 --> 00:51:04,400 >> Kaya maaari mong suriin na kahilingan Ang pamamaraan sa pamamagitan ng pag-access ng mga susi, 922 00:51:04,400 --> 00:51:08,630 sa pamamagitan ng paggamit ng isang key at pagkuha ng halaga ng isang bagay sa diksiyunaryo 923 00:51:08,630 --> 00:51:10,260 _SERVER. 924 00:51:10,260 --> 00:51:13,800 Kaya na ang isa pang pandaigdigang variable tulad _GET at _POST. 925 00:51:13,800 --> 00:51:16,990 >> Kung ito ay GET, gusto naming render ang login form. 926 00:51:16,990 --> 00:51:21,920 Render ay isang function na talaga ilalagay lamang ang naaangkop na HTML 927 00:51:21,920 --> 00:51:24,500 at magbabalik ito sa ilang mga parameter. 928 00:51:24,500 --> 00:51:28,740 Ang pamagat na ito ay isang parameter na ginagamit sa pagpapakita, nang kakatwa sapat na, 929 00:51:28,740 --> 00:51:32,670 ang pamagat ng pahina sa tanong, ang mga bagay up dito, 930 00:51:32,670 --> 00:51:34,850 sabihin o hello sa aming nakaraang halimbawa. 931 00:51:34,850 --> 00:51:36,100 Ngayon kami ay may isang iba't ibang mga bagay. 932 00:51:36,100 --> 00:51:38,570 Iba Pa kung ito ay POST, namin gawin ang ilang mga iba pang mga bagay-bagay. 933 00:51:38,570 --> 00:51:40,790 Kami ay gumagamit na walang laman method. 934 00:51:40,790 --> 00:51:42,750 Ito ay hindi na umiiral, ito ay walang laman. 935 00:51:42,750 --> 00:51:45,440 At nakita natin dati, PHP may makatarungang halaga ng mga built 936 00:51:45,440 --> 00:51:52,370 sa paraan na will-- David kung may mga pamamaraan na kapaki-pakinabang sa iyo, 937 00:51:52,370 --> 00:51:55,560 ang mga ito ay humanda sa iyo sa pamamagitan ng paglalakad na si David 938 00:51:55,560 --> 00:51:59,770 nagbibigay sa simula pangkalahatang-ideya, at din helpful bits Zamyla ni. 939 00:51:59,770 --> 00:52:01,040 Siya ay lahat ng tao sa likod. 940 00:52:01,040 --> 00:52:03,100 Maaari naming magalak lahat. 941 00:52:03,100 --> 00:52:06,530 Humihingi ay isang aptly pinangalanan function na na lang talaga mga print out 942 00:52:06,530 --> 00:52:10,130 ang ilang mga mensahe ng error, dahil CS50 ay napaka polite. 943 00:52:10,130 --> 00:52:14,770 >> At ngayon ito, ito ay isang mapaglalang bit dahil ito 944 00:52:14,770 --> 00:52:16,697 ay kung saan kami ay sa pagtanong ukol sa database. 945 00:52:16,697 --> 00:52:18,280 Ngayon hindi namin uusapang tungkol sa mga database. 946 00:52:18,280 --> 00:52:22,220 At kami ay pagpunta sa sa susunod na limang minuto o kaya, maximum. 947 00:52:22,220 --> 00:52:24,980 Ngunit ito ay isang function na CS50 ay may nakasulat 948 00:52:24,980 --> 00:52:38,050 upang makakuha ng isang talahanayan na karaniwang mula sa isang database na kami ay nagtatrabaho sa sa pset 7. 949 00:52:38,050 --> 00:52:40,860 Ako ay ganap na hindi maayos sa aking zero-index na ngayon. 950 00:52:40,860 --> 00:52:42,060 Ngunit oo, ito ay 7. 951 00:52:42,060 --> 00:52:46,340 >> Kaya query ito ay pagpunta upang bumalik sa isang array, talaga ay ang susi bit. 952 00:52:46,340 --> 00:52:54,130 At dahil ang mga bagay ay hindi na pag-type, kaya hilera ay isang array ng array. 953 00:52:54,130 --> 00:52:59,480 Dahil kapag kami ay nag-iisip tungkol sa isang table, kung ano ang namin ang pagpunta sa gawin 954 00:52:59,480 --> 00:53:04,830 ay, gaya ng natutuhan sa psets tulad ng mga laro ng 15, anyway 955 00:53:04,830 --> 00:53:06,990 kung saan ikaw ay nagkaroon na gumamit ng isang double array, kami talaga 956 00:53:06,990 --> 00:53:15,210 Mayroon array ng iba pang array ay gumagawa ng isang table. 957 00:53:15,210 --> 00:53:18,150 At nakuha mo hanay at haligi. 958 00:53:18,150 --> 00:53:24,450 At pagkatapos ay maaari mong ma-access ang mga ito tulad ng [0] [1], makukuha mo ang [0] [1]. 959 00:53:24,450 --> 00:53:26,900 Basic bagay-bagay na tulad ng. 960 00:53:26,900 --> 00:53:29,380 >> Kaya kung ano ang aming ginagawa dito sa function na ito, 961 00:53:29,380 --> 00:53:35,070 hinihingi namin ang database kung ang user na 962 00:53:35,070 --> 00:53:40,200 sinusubukan upang mag-login, na magiging ipinadala sa pamamagitan ng ang paraan ng POST. 963 00:53:40,200 --> 00:53:43,950 Susubukan naming makita namin nakukuha ang username mula _POST. 964 00:53:43,950 --> 00:53:46,900 Makikita nila ang may nagpadala, ang user o ikaw, ay magpapadala ng isang halaga 965 00:53:46,900 --> 00:53:50,750 sa pamamagitan ng isang form sa pamamagitan ng POST dahil ito ay username at password stuff. 966 00:53:50,750 --> 00:53:54,830 Sinusuri namin ang mga username upang makita, ay ito sa talahanayan? 967 00:53:54,830 --> 00:53:58,070 Dahil kung ang isang gumagamit ay log in, pagkatapos ay ang kanilang username 968 00:53:58,070 --> 00:54:03,320 ay dapat na naka-imbak sa table ng mga gumagamit na umiiral para sa site na ito. 969 00:54:03,320 --> 00:54:09,360 Kaya talaga kung ang user ay sa database, 970 00:54:09,360 --> 00:54:16,400 Query ay pagpunta sa bumalik na hilera, na kung saan ay isang array. 971 00:54:16,400 --> 00:54:24,560 >> Ngunit ang mga mapanlinlang na bahagi ay na kung kahit ang double array ay lamang ng isang hilera, 972 00:54:24,560 --> 00:54:31,900 kahit na ito ay isang isang hilera array-- tulad ng mayroon ka basically-- 973 00:54:31,900 --> 00:54:36,900 kung nakuha mo na ang isang laki ng isa array na may hawak ng isa pang array, 974 00:54:36,900 --> 00:54:38,940 talagang ikaw ay pagharap sa isang hanay. 975 00:54:38,940 --> 00:54:41,420 Ngunit ito ay itinuturing pa rin tulad ng isang double array. 976 00:54:41,420 --> 00:54:44,560 >> At ito ay kung saan ito ay maaring makuha nakakalito, dahil nakuha namin ang mga hilera dito. 977 00:54:44,560 --> 00:54:46,440 Ang aming mga variable ay mga hilera. 978 00:54:46,440 --> 00:54:48,590 At pagkatapos ay namin ang paglikha ng isang bagong hilera variable na tinatawag na 979 00:54:48,590 --> 00:54:51,450 at pagtatakda ng mga ito katumbas ng ang unang hilera ng mga hilera. 980 00:54:51,450 --> 00:54:55,150 At mapapansin mo na ang komentaryo sabi ni ito ay ang unang at lamang na hilera. 981 00:54:55,150 --> 00:54:57,080 >> Kaya ito ay ang mapaglalang bahagi kung saan ngayon function 982 00:54:57,080 --> 00:54:59,660 makakabalik arrays sa lalong madaling. 983 00:54:59,660 --> 00:55:01,270 Mayroong hindi mallocs. 984 00:55:01,270 --> 00:55:02,280 Hindi mo makikita ang mallocs. 985 00:55:02,280 --> 00:55:03,940 Kaya hindi mo makita ang mga seg faults. 986 00:55:03,940 --> 00:55:08,380 Ngunit function ay pa rin ang pagpasa sa paligid ng array at data sa mga pangkat. 987 00:55:08,380 --> 00:55:12,250 At mayroon kang maging maingat ng kung ano ang eksakto ay ibalik ang iyong mga pag-andar. 988 00:55:12,250 --> 00:55:15,160 At kahit na ito ay isa column na tulad nito, i-query 989 00:55:15,160 --> 00:55:17,520 Pupunta pa rin upang bumalik ng isang double array. 990 00:55:17,520 --> 00:55:21,390 Kaya sa pag-access na column-- o mo makapag-isip ng lahat ng ito bilang saliwain 991 00:55:21,390 --> 00:55:22,870 dahil pinag-uusapan natin ang tungkol sa mga hilera. 992 00:55:22,870 --> 00:55:26,810 Ngunit upang i-access ang isang hilera, hindi mo pwedeng sabihin na mga hilera. 993 00:55:26,810 --> 00:55:31,540 Kahit na ito ay isang hilera, kailangan mong huwag rowsrows [0] na uri ng matanggal ito 994 00:55:31,540 --> 00:55:37,360 panlabas na bit ng array at Mayroon lamang ng iyong isang hilera. 995 00:55:37,360 --> 00:55:38,342 >> Gawin ang ilang mga iba pang mga bagay. 996 00:55:38,342 --> 00:55:40,050 Mayroong isang function tinatawag password_verify 997 00:55:40,050 --> 00:55:42,980 na nakumpirma ang password na nai-post. 998 00:55:42,980 --> 00:55:48,500 At pagkatapos ay namin makita ang isa pang pandaigdigang variable dito, _SESSION. 999 00:55:48,500 --> 00:55:51,340 Talaga session id ay kung paano mo subaybayan 1000 00:55:51,340 --> 00:55:53,990 ng kung ang isang tao ay naka-log in o hindi. 1001 00:55:53,990 --> 00:55:58,590 Kaya ngayon na may login.php, kami ay pag-log ng isang user sa. 1002 00:55:58,590 --> 00:56:01,920 Kaya kung ano ang gusto naming gawin ay gusto naming sabihin ang session id ay katumbas ng row 1003 00:56:01,920 --> 00:56:05,890 id, na kung saan lamang ang may katuturan dahil bawat hilera ay magkakaroon ng ibang id 1004 00:56:05,890 --> 00:56:07,239 number bilang bahagi ng table. 1005 00:56:07,239 --> 00:56:09,280 Babalikan ka namin sa SQL sa isang second, kaya kung alinman sa mga ito 1006 00:56:09,280 --> 00:56:13,500 Tila isang maliit na bit tulad ng blah, pagkatapos ay nabura ang lahat ng up. 1007 00:56:13,500 --> 00:56:18,450 Ngunit kami ay pagpunta upang itakda ang id katumbas ang mga tamang bagay, pag-log in sa mga user sa. 1008 00:56:18,450 --> 00:56:20,530 Humihingi ng paumanhin kung may mangyaring hindi tama. 1009 00:56:20,530 --> 00:56:27,600 At iyon ay mga pag-login na layunin sa buhay bilang Professor Malan nais sabihin. 1010 00:56:27,600 --> 00:56:29,130 >> Kaya na ay login.php. 1011 00:56:29,130 --> 00:56:33,750 At ng maraming mga code na PHP mong isulat sa pset 7, ang mga ito ay isang maliit na bit. 1012 00:56:33,750 --> 00:56:36,470 Huwag kalimutan na chmod sa wastong mga pahintulot. 1013 00:56:36,470 --> 00:56:40,180 Magkakaroon nang kaunti tungkol sa na sa simula ng spec. 1014 00:56:40,180 --> 00:56:46,382 >> Ngunit ang PHP na kayo pagsulat ay magiging 1015 00:56:46,382 --> 00:56:47,840 paggawa ng mga bagay-bagay na katulad na ito. 1016 00:56:47,840 --> 00:56:49,715 Ikaw ay pagpunta sa maging pag-access ng ilang mga bagay na 1017 00:56:49,715 --> 00:56:52,760 ay ibinigay sa iyo sa mga pangkalahatang variable ng PHP na 1018 00:56:52,760 --> 00:56:56,105 ay pagharap sa kasalukuyang naka-log in user, kung may 1019 00:56:56,105 --> 00:57:00,460 Mayroon naging kahilingan na ipinadala sa ito page, iba't-ibang mga bagay-bagay na tulad ng. 1020 00:57:00,460 --> 00:57:05,790 At ito ay din potensyal na iterating sa pamamagitan ng mga hilera ng mga bagay na ito. 1021 00:57:05,790 --> 00:57:09,010 >> Sa isang iba't ibang mga pag-andar, query ay ibalik itong double array. 1022 00:57:09,010 --> 00:57:11,450 At kung may mga karagdagang sa isang hilera sa mga ito, 1023 00:57:11,450 --> 00:57:15,080 kung may are-- yes, kung may higit sa isang hilera sa mga ito, 1024 00:57:15,080 --> 00:57:16,870 pagkatapos ito ay magiging isang table. 1025 00:57:16,870 --> 00:57:20,500 At baka gusto mong umulit sa pamamagitan ng mga hilera ng array na ito gamit 1026 00:57:20,500 --> 00:57:22,860 ang foreach loop na kami inilarawan. 1027 00:57:22,860 --> 00:57:30,270 >> Kaya kung gagawin mo foreach sa isang double array, kung ano ang ang word-- dito, 1028 00:57:30,270 --> 00:57:31,909 Kukunin ko talagang isulat ito. 1029 00:57:31,909 --> 00:57:32,950 Isusulat ko ito ng mabilis dito. 1030 00:57:32,950 --> 00:57:44,280 >> Kung kami ay may isang foreach ng mga hilera bilang hilera, kung ano ang uri ng hilera? 1031 00:57:44,280 --> 00:57:45,390 May nakakaalam ba? 1032 00:57:45,390 --> 00:57:54,000 1033 00:57:54,000 --> 00:57:54,500 Nakuha mo? 1034 00:57:54,500 --> 00:57:57,110 Kaya mga hilera ay isang double array. 1035 00:57:57,110 --> 00:58:02,810 Kaya kung ano ang foreach pagpunta upang ipahiwatig na gusto naming na ito mula sa double array 1036 00:58:02,810 --> 00:58:04,280 kung kami ay iterating sa paglipas ng ito? 1037 00:58:04,280 --> 00:58:07,170 1038 00:58:07,170 --> 00:58:10,770 Maaari talaga namin ipinapalagay na ito ay pagpunta sa maging alinman sa mga elemento, 1039 00:58:10,770 --> 00:58:14,970 o mga hilera, o haligi, talaga. 1040 00:58:14,970 --> 00:58:18,740 At kaya mga hanay at haligi namin maaaring tratuhin ang bilang ng parehong bagay. 1041 00:58:18,740 --> 00:58:23,880 >> Talaga kung ano ang foreach loop ay pagpunta gawin ay ito ay pagpunta upang bumalik hilera. 1042 00:58:23,880 --> 00:58:28,500 hilera ay magiging ng uri ng hilera, samantalang mga hilera ay isang double array. 1043 00:58:28,500 --> 00:58:32,290 Kaya kung bibigyan ka ng foreach isang double array, ito ay 1044 00:58:32,290 --> 00:58:35,830 hindi pagpunta upang umulit malalim na higit sa isang antas. 1045 00:58:35,830 --> 00:58:44,464 Aling ay karaniwang sabihin kung may walong mga cell na ito sa table-- 1,2, 1046 00:58:44,464 --> 00:58:48,110 3 4, 5, 6, 7, 8-- ang foreach loop ay hindi 1047 00:58:48,110 --> 00:58:51,880 pagpunta sa pumunta sa pamamagitan ng bawat isa sa mga cell. 1048 00:58:51,880 --> 00:58:56,390 Ano ang foreach loop gagawin ay ito ay pumunta sa pamamagitan ng hanay na ito, 1049 00:58:56,390 --> 00:58:57,870 magbibigay sa iyo ng mga ito ang buong hilera. 1050 00:58:57,870 --> 00:58:59,410 At pagkatapos ay makikita ito pumunta sa pamamagitan hilerang iyon. 1051 00:58:59,410 --> 00:59:01,850 >> Kaya lamang iterates ito ng isang antas ng malalim. 1052 00:59:01,850 --> 00:59:05,310 Kung nagdagdag ka ng isang nested foreach loop, pagkatapos ay 1053 00:59:05,310 --> 00:59:16,280 maaaring ituring ang bawat hilera ay bumalik mula sa hilera, gawin mo foreach hilera bilang elemento, 1054 00:59:16,280 --> 00:59:17,640 sabihin nating. 1055 00:59:17,640 --> 00:59:22,750 At pagkatapos ay maaari mong echo ang element. 1056 00:59:22,750 --> 00:59:24,930 Kaya na ang isang maikling maliit na inumin sa kung paano 1057 00:59:24,930 --> 00:59:30,220 maaaring gumagamit ka foreach loop sa konteksto ng query. 1058 00:59:30,220 --> 00:59:32,840 >> Mayroon bang anumang mga katanungan sa PHP? 1059 00:59:32,840 --> 00:59:36,520 Anumang bagay sa lahat bago tayo ilipat sa pakikipag-usap tungkol sa SQL 1060 00:59:36,520 --> 00:59:37,820 at ang saya ng database? 1061 00:59:37,820 --> 00:59:41,480 1062 00:59:41,480 --> 00:59:42,110 Magandang pakiramdam? 1063 00:59:42,110 --> 00:59:42,750 Magandang pakiramdam. 1064 00:59:42,750 --> 00:59:43,470 Lahat tama. 1065 00:59:43,470 --> 00:59:49,130 >> Sabihin ilipat sa pabalik sa Ipaalam PowerPoint, kung saan ikaw ay malamang na hindi maintindihan. 1066 00:59:49,130 --> 00:59:51,800 SQL, Ayos. 1067 00:59:51,800 --> 00:59:57,900 Mga tao na sa aking seksyon ay karaniwang ay alam na subheadings ng mga acronym 1068 00:59:57,900 --> 01:00:01,220 ay laging lamang ng unang salita Sa tingin ko ng tugma na na 1069 01:00:01,220 --> 01:00:02,690 algorithm-- na acronym. 1070 01:00:02,690 --> 01:00:04,090 Ito ay hindi isang algorithm. 1071 01:00:04,090 --> 01:00:08,050 >> Kaya SQL ay isang database. 1072 01:00:08,050 --> 01:00:11,060 Ito ay isang wika na gumagana sa mga database. 1073 01:00:11,060 --> 01:00:14,440 At ang lahat ng mga database ay ay tables, hindi bababa sa ang paraan 1074 01:00:14,440 --> 01:00:17,220 na SQL kumakatawan sa mga ito. 1075 01:00:17,220 --> 01:00:23,610 >> Ang isa pang paraan upang isipin ang tungkol sa mga database ay database ay isang hanay ng mga pindutan at halaga 1076 01:00:23,610 --> 01:00:24,110 talaga. 1077 01:00:24,110 --> 01:00:29,530 Maaari mong isipin ang tungkol sa isang database ng isang diksyunaryo at din bilang isang table. 1078 01:00:29,530 --> 01:00:34,300 Karaniwang ito ay isang paraan upang iugnay iba't-ibang data sa iba pang mga data, 1079 01:00:34,300 --> 01:00:36,270 madalas sa pamamagitan ng mga hanay at haligi. 1080 01:00:36,270 --> 01:00:38,470 At iyan ang paraan iyon ang SQL pinakamahusay na gumagana. 1081 01:00:38,470 --> 01:00:40,880 >> Kaya ito ay isang halimbawa ng isang table. 1082 01:00:40,880 --> 01:00:44,610 Mayroon akong ilang mga halimbawa ng mga tao sa aking seksyon, na kung saan 1083 01:00:44,610 --> 01:00:45,970 Hindi ko ay may oras upang baguhin. 1084 01:00:45,970 --> 01:00:52,020 Ngunit namin nakuha ang mga bagay tulad ID, pangalan, pinakamalakas, at bayan. 1085 01:00:52,020 --> 01:00:54,100 Hindi ko alam kung saan sinuman ay mula sa aking seksyon, 1086 01:00:54,100 --> 01:00:56,266 kaya lang ako pagpunta sa ipalagay lahat ng tao ay mula sa New York 1087 01:00:56,266 --> 01:00:59,370 City dahil mayroon akong isang mataas na statistical posibilidad ng pagiging tama. 1088 01:00:59,370 --> 01:01:04,200 >> SQL ay awtomatikong dadalhin pag-aalaga ng mga column ng mga ID para sa iyo. 1089 01:01:04,200 --> 01:01:07,560 Kung nagpasok ka ng isang bagong hilera sa isang database SQL, 1090 01:01:07,560 --> 01:01:09,700 ito ay dinagdagan na ID number at lamang 1091 01:01:09,700 --> 01:01:14,890 talaga stick tulad ng limang mga pangalan, pinakamalakas, bayang kinalakhan, ang sinumang 1092 01:01:14,890 --> 01:01:16,430 papunta sa dulo ng table. 1093 01:01:16,430 --> 01:01:19,160 So ID ay isang haligi makikita mo kailangang mag-alala tungkol sa. 1094 01:01:19,160 --> 01:01:22,770 Subalit, tulad ng sa kaso ng login.php, kapag kami 1095 01:01:22,770 --> 01:01:26,610 ay nakakakuha ng mga session ID mula sa isang table at gamit lang ang ID, 1096 01:01:26,610 --> 01:01:30,320 ID ay isang paraan para makilala isang elemento ng isang database. 1097 01:01:30,320 --> 01:01:34,980 >> Kaya kung nagkaroon kami ng dalawang Sams, na parehong na itinuro CS50, at pareho ng na 1098 01:01:34,980 --> 01:01:39,370 ay mula sa Milwaukee, mga gagawin magkakaroon pa rin ng mga numero ng natatanging ID 1099 01:01:39,370 --> 01:01:43,420 at sa gayon ay naiiba sa konteksto ng table. 1100 01:01:43,420 --> 01:01:48,700 Kaya ito ay kung ano ang SQL ay pakikitungo sa, nagtatrabaho sa sa likod dulo. 1101 01:01:48,700 --> 01:01:54,160 >> Ito nga ang apat na mga utos na kailangan mo upang gumana sa SQL. 1102 01:01:54,160 --> 01:01:56,390 At inihagis ko ang mga ito sa lahat ng up sa isang slide. 1103 01:01:56,390 --> 01:01:59,530 Ngunit kami ay pagpunta sa pumunta sa pamamagitan ng ito ang lahat ng isa-isa. 1104 01:01:59,530 --> 01:02:03,300 >> Ang unang utos ay UPDATE, na kung saan ay kung ano ang maaari mong asahan. 1105 01:02:03,300 --> 01:02:07,240 Sabihin mayroon kang ilang mga data sa ang table na sa labas ng petsa. 1106 01:02:07,240 --> 01:02:09,470 Tulad ng kung ikaw ay nag-iingat subaybayan ng pangalan ng mga tao 1107 01:02:09,470 --> 01:02:13,350 at edad, kung ang isang tao ay pagtaas ng edad, pagkatapos ay 1108 01:02:13,350 --> 01:02:18,590 ikaw ay pagpunta sa nais na pumunta sa at i-update ang edad na tao lamang ni. 1109 01:02:18,590 --> 01:02:21,902 Para sa isang halimbawa na gumagana sa aming mga unang table-- 1110 01:02:21,902 --> 01:02:24,610 huwag mag-alala tungkol sa pagsulat ng lahat ng ang mga utos at sa parehong oras. 1111 01:02:24,610 --> 01:02:27,640 Ngunit kung ikaw ay nakuha update down, na kailangan maging mahusay para sa bahaging ito, 1112 01:02:27,640 --> 01:02:29,790 dahil kami ay pagpunta sa bumalik sa table. 1113 01:02:29,790 --> 01:02:33,920 >> Kaya kung pumunta kami pabalik sa table, sabihin nating ang isang bagay na nangyari 1114 01:02:33,920 --> 01:02:38,480 ay nagkaroon ng lindol o isang linya ng kasalanan na split direkta 1115 01:02:38,480 --> 01:02:39,920 sa pamamagitan ng New York City. 1116 01:02:39,920 --> 01:02:45,130 At gusto naming i-update ang lahat ng tao na nakatira sa New York City. 1117 01:02:45,130 --> 01:02:49,670 Lahat sila ay upang ilipat sa Pennsylvania. 1118 01:02:49,670 --> 01:02:51,130 Iyan ay hindi isang bayan. 1119 01:02:51,130 --> 01:02:53,180 Lahat sila ay upang ilipat sa New Haven. 1120 01:02:53,180 --> 01:02:54,030 Mayroon kaming pumunta. 1121 01:02:54,030 --> 01:02:57,630 Kaya lahat ng tao sa New York gumagalaw sa New Haven. 1122 01:02:57,630 --> 01:03:01,300 >> At kaya na isang bagay na pag-edit ng tatlong mga hilera sa talahanayan na ito. 1123 01:03:01,300 --> 01:03:04,716 Ngunit sa SQL, maaari mong gawin na sa loob lamang ng isa statement. 1124 01:03:04,716 --> 01:03:05,715 Kaya pumunta kami pabalik sa UPDATE. 1125 01:03:05,715 --> 01:03:09,670 Hayaan akong mabilis na muli burahin ang board. 1126 01:03:09,670 --> 01:03:14,570 Kapag pinag-uusapan natin ang tungkol sa pag-update, may mga 1127 01:03:14,570 --> 01:03:17,640 ng ilang mga bahagi ng syntax na key. 1128 01:03:17,640 --> 01:03:19,770 Well, ang lahat ng mga syntax ay susi. 1129 01:03:19,770 --> 01:03:22,210 Ngunit ang mga bagay-bagay sa green ay opsyonal. 1130 01:03:22,210 --> 01:03:25,680 Ang white ay kinakailangan, tulad ng paunang-natukoy na mga pangalan. 1131 01:03:25,680 --> 01:03:30,750 At ang mapusyaw na asul na mga bagay-bagay na nag-iiba depende sa mesa. 1132 01:03:30,750 --> 01:03:34,640 Kaya na kung ano ang nangyayari sa may ang scheme ng kulay dito, hanggang doon. 1133 01:03:34,640 --> 01:03:40,250 >> Kaya kung gusto naming upang i-update lamang ang mga hilera ng mga taong nakatira sa New York, 1134 01:03:40,250 --> 01:03:43,490 kaya kung ano ang gusto naming gawin kung sinabi namin UPDATE? 1135 01:03:43,490 --> 01:03:46,320 Kaya talahanayan ay kung saan namin inilagay ang pangalan ng aming table. 1136 01:03:46,320 --> 01:03:49,170 Sabihin lang sabihin ang pangalan ng aming mga talahanayan ay table na isa. 1137 01:03:49,170 --> 01:03:52,515 Kaya gusto naming UPDATE talahanayan ng isa. 1138 01:03:52,515 --> 01:03:57,470 At gusto naming set-- kung ano ang gusto naming i-set? 1139 01:03:57,470 --> 01:04:05,160 Well ang gusto naming sabihin, kaya column-- PHP itinuturing ng mga hilera ng mga natatanging identifier. 1140 01:04:05,160 --> 01:04:07,930 At pagkatapos ay haligi ay ang iba't-ibang larangan 1141 01:04:07,930 --> 01:04:09,940 ng mga elemento ng database. 1142 01:04:09,940 --> 01:04:14,210 >> Kaya ang unang elemento ng database May pangalan ng Sam, pinakamalakas ng CS50, 1143 01:04:14,210 --> 01:04:16,210 at isang bayan ng Milwaukee. 1144 01:04:16,210 --> 01:04:20,710 Kaya kung namin sinabi itakda, tingnan natin hayaan ang mga parameter muli set na tumatagal. 1145 01:04:20,710 --> 01:04:23,880 Mayroon kaming column ay katumbas ng halaga. 1146 01:04:23,880 --> 01:04:27,290 Kaya gusto naming sabihin ang ilang mga column-- na tandaan 1147 01:04:27,290 --> 01:04:31,850 ay isang field-- nais naming makita ang isang larangan katumbas ng isang bagong bagay. 1148 01:04:31,850 --> 01:04:42,340 >> Kaya kung sinabi lang namin update table 1, magtakda ng pangalan pantay Elliot. 1149 01:04:42,340 --> 01:04:46,310 Kumuha ng ilang mga tao mula sa mga bagong seksyon sa sa mga ito. 1150 01:04:46,310 --> 01:04:51,540 Ngunit kung ginawa lang namin update table 1 itakda ang pangalan pantay Elliot, ano ang gagawin 1151 01:04:51,540 --> 01:04:55,530 ang hitsura ng talahanayan tulad ng matapos na? 1152 01:04:55,530 --> 01:04:56,410 Mga tao ay may anumang mga ideya? 1153 01:04:56,410 --> 01:04:59,710 1154 01:04:59,710 --> 01:05:00,210 Oo. 1155 01:05:00,210 --> 01:05:03,195 >> Madla: Lahat ng bagay sa na hilera ay maging Elliot. 1156 01:05:03,195 --> 01:05:04,570 Tagapagsalita: lahat ng bagay na kung saan ang hilera? 1157 01:05:04,570 --> 01:05:06,067 Madla: Sa unang hanay. 1158 01:05:06,067 --> 01:05:07,150 Tagapagsalita: Sa unang hilera? 1159 01:05:07,150 --> 01:05:09,724 Bakit ang unang hilera? 1160 01:05:09,724 --> 01:05:10,890 Hindi ko ibig sabihin upang pumili sa iyo. 1161 01:05:10,890 --> 01:05:13,287 >> Madla: Maaari lahat ng bagay sa buong table? 1162 01:05:13,287 --> 01:05:15,120 Tagapagsalita: Lahat ng bagay sa ang buong table, yes. 1163 01:05:15,120 --> 01:05:19,520 At na eksakto karapatan because-- ko lamang ay ang pagtulong sa iyo sa ilang sandali 1164 01:05:19,520 --> 01:05:22,650 there-- dahil tinanggal namin ang opsyonal SAAN sugnay. 1165 01:05:22,650 --> 01:05:27,260 Kung hindi ka magkaroon ng mga WHERE sugnay, ano ang gagawin ng mga utos na ito 1166 01:05:27,260 --> 01:05:32,240 ay makikita ito sa trabaho sa bawat solong hilera sa talahanayan. 1167 01:05:32,240 --> 01:05:35,430 Pangalan ng bawat tao'y kalooban maging Elliott, talaga, 1168 01:05:35,430 --> 01:05:37,360 saan Elliot ay tunay masaya tungkol sa. 1169 01:05:37,360 --> 01:05:40,070 O Yanni, isa sa dalawa. 1170 01:05:40,070 --> 01:05:42,490 Ngunit lahat ng pangalan ay magbabago. 1171 01:05:42,490 --> 01:05:47,880 >> Kaya ang paraan na ginagamit namin ang SAAN clause-- at ito ay sumasaklaw sa lahat ng mga WHERES 1172 01:05:47,880 --> 01:05:51,410 na sa bawat isa sa mga iba't ibang mga bagay. 1173 01:05:51,410 --> 01:05:54,380 Kaya mapapansin mo na SET ay may pantay na halaga ng haligi. 1174 01:05:54,380 --> 01:05:55,190 At sa gayon ay SAAN. 1175 01:05:55,190 --> 01:06:00,040 Ngunit ang mga ito ay iba't-ibang mga uri ng mga pahayag. 1176 01:06:00,040 --> 01:06:04,400 Kaya katumbas ng haligi halaga sa SET ay sa assignment. 1177 01:06:04,400 --> 01:06:08,320 Tulad namin sinasabi na gusto namin upang i-set name katumbas Elliot. 1178 01:06:08,320 --> 01:06:15,390 Ngunit sa clause SAAN, ang mga ito ay ang pagkakapantay-pantay ng mga pahayag. 1179 01:06:15,390 --> 01:06:20,410 Kaya sabihin nating nais lamang nating baguhin ang pangalan ng tao sa Elliot 1180 01:06:20,410 --> 01:06:23,940 kung ang kanilang mga pangalan ay Ryan, sabihin natin. 1181 01:06:23,940 --> 01:06:24,920 >> Kaya kapag sinabi namin 1182 01:06:24,920 --> 01:06:32,700 >> SAAN pangalan ay katumbas Ryan, na Gusto matagumpay tanging pagbabago 1183 01:06:32,700 --> 01:06:37,440 ang name-- gagawin ito lamang baguhin ang field na pangalan sa mga hilera 1184 01:06:37,440 --> 01:06:40,770 kung saan ang mga field ng pangalan ay katumbas Ryan. 1185 01:06:40,770 --> 01:06:44,430 Kaya kung kami ng maramihang mga tao pinangalanang Ryan, ang lahat ng kanilang mga pangalan 1186 01:06:44,430 --> 01:06:45,730 ay magbabago sa Elliot. 1187 01:06:45,730 --> 01:06:48,169 >> Ito ay katulad sa halimbawa ng kung ang isang kasalanan linya hating 1188 01:06:48,169 --> 01:06:50,960 New York City at lahat ay lumipat sa New Haven, ang mga paraan na aming makakaya 1189 01:06:50,960 --> 01:06:56,570 gawin iyon sa isang pahayag ay UPDATE table1 SET hometown = New Haven 1190 01:06:56,570 --> 01:07:00,210 kung saan hometown katumbas New York City. 1191 01:07:00,210 --> 01:07:03,410 Ito ay ang kapangyarihan ng mga ang UPDATE statement. 1192 01:07:03,410 --> 01:07:10,530 Maaari naming piliin ang anumang bilang ng mga hilera sa pamamagitan ng tunay na mga pahayag 1193 01:07:10,530 --> 01:07:12,860 tungkol sa mga patlang sa mga hilera. 1194 01:07:12,860 --> 01:07:19,510 Hindi namin sinasabi UPDATE table1 set name = Elliot WHERE hilera = 1, 1195 01:07:19,510 --> 01:07:24,820 maliban na magagawa namin kung sasabihin namin ID = 1. 1196 01:07:24,820 --> 01:07:27,350 1197 01:07:27,350 --> 01:07:29,830 >> Kaya kami ay pagpunta sa maging nagtatrabaho sa pagkakapantay-pantay 1198 01:07:29,830 --> 01:07:32,830 ng mga patlang, ang pagkakapantay-pantay ng mga haligi. 1199 01:07:32,830 --> 01:07:38,030 Ngunit gamit ang field ID ay isang paraan upang piliin ang mga indibidwal na mga hilera na partikular, 1200 01:07:38,030 --> 01:07:43,210 dahil ang patlang ID ay isang natatanging identifier sa isang database SQL. 1201 01:07:43,210 --> 01:07:45,860 Kaya tulad ng pag-update ng row ng isa, ay katumbas ng ID 1. 1202 01:07:45,860 --> 01:07:49,560 Ina-update ang hilera dalawang, lamang palitan na numero ng ID. 1203 01:07:49,560 --> 01:07:51,610 Ngunit ang kapangyarihan ng SAAN statement ay na tayo 1204 01:07:51,610 --> 01:07:57,480 Maaaring i-update ng mga bagay batay sa kung ano ang kanilang kasalukuyang mga halaga ng mga tiyak na mga bagay ay. 1205 01:07:57,480 --> 01:07:58,155 Oo Elliot? 1206 01:07:58,155 --> 01:08:02,678 >> Madla: At paano kung gusto mong to-- muli, ito ay isa pang katanungan. 1207 01:08:02,678 --> 01:08:07,660 Ngunit ang aking unang tanong ay, kung saan ito nangyayari? 1208 01:08:07,660 --> 01:08:09,130 Saan ako sa pag-update na ito? 1209 01:08:09,130 --> 01:08:11,100 Ay ito sa isang code na PHP? 1210 01:08:11,100 --> 01:08:13,379 >> Tagapagsalita: Saan mo i-update, yes. 1211 01:08:13,379 --> 01:08:15,170 Kami ay pagpunta sa makipag-usap tungkol sa kung saan ang lahat ng ito 1212 01:08:15,170 --> 01:08:18,729 mangyayari uri ng isang beses pumunta kami sa lahat ng mga utos. 1213 01:08:18,729 --> 01:08:21,130 Ngunit ano ang kailangan mong alam para sa ngayon ay isa lamang 1214 01:08:21,130 --> 01:08:26,279 na ang iyong database SQL umiiral bilang isang bagay 1215 01:08:26,279 --> 01:08:30,090 upang ma-access sa pamamagitan ng mga query function, kung saan tumutukoy sa CS50. 1216 01:08:30,090 --> 01:08:33,800 Kaya kung gagamitin mo ang function na query, maaari mong ma-access ang talahanayan na ito. 1217 01:08:33,800 --> 01:08:39,529 >> Kaya ikaw ay pagpapadala ng mga utos sa iyong talahanayan sa PHP file 1218 01:08:39,529 --> 01:08:41,420 sa pamamagitan ng function na query. 1219 01:08:41,420 --> 01:08:45,410 Maaari mo ring i-play sa paligid sa iyong talahanayan ng direkta. 1220 01:08:45,410 --> 01:08:49,050 At iyan ay ang pinakamahusay na paraan upang subukan ang mga uri ng mga utos. 1221 01:08:49,050 --> 01:08:52,720 At kami ay pumunta sa pamamagitan ng eksakto kung paano ang gawin na sa loob lamang ng ilang sandali. 1222 01:08:52,720 --> 01:08:54,910 >> Kaya na UPDATE command. 1223 01:08:54,910 --> 01:08:57,939 At ang iba sa mga utos ay magiging mga uri ng mga katulad na, 1224 01:08:57,939 --> 01:08:59,069 nagtatrabaho sa mga katulad na mga bagay. 1225 01:08:59,069 --> 01:09:02,740 Ang maisingit ay marahil ang pinaka-iba mula sa UPDATE. 1226 01:09:02,740 --> 01:09:06,170 Pupunta ako sa iwanan na up doon para sa lamang ng isang maliit na piraso at magtrabaho sa paglipas dito. 1227 01:09:06,170 --> 01:09:10,215 Kaya INSERT sa, makikita mo ang mesa na ay pa rin ang parehong. 1228 01:09:10,215 --> 01:09:17,010 Gusto mong INSERT sa. 1229 01:09:17,010 --> 01:09:20,286 Ang paggamit ng malaking titik, SQL ay case insensitive. 1230 01:09:20,286 --> 01:09:22,160 Kaya hindi mo na kailangang magsamantala mga bagay na ito. 1231 01:09:22,160 --> 01:09:27,960 Sa pamamagitan ng convention, ang mga salita sa puti ay sa malaking titik. 1232 01:09:27,960 --> 01:09:31,590 Ngunit kulay ko rin ma-code ang mga ito. 1233 01:09:31,590 --> 01:09:34,390 Ang tanging dahilan na magsamantala sa iyo mga kapag tina-type mo ang mga ito 1234 01:09:34,390 --> 01:09:36,609 ay upang bigyang-diin lamang na yaong mga constants. 1235 01:09:36,609 --> 01:09:39,189 At kaya maaari mong alinman tingnan ang capitalization o ang katunayan 1236 01:09:39,189 --> 01:09:40,740 na ako ng may-kulay na mga ito naiiba. 1237 01:09:40,740 --> 01:09:44,910 >> Kaya namin ang nakuha ko maisingit, gawin muli table1 ipaalam. 1238 01:09:44,910 --> 01:09:45,930 Ito ay ang lahat sa isang linya. 1239 01:09:45,930 --> 01:09:48,609 Tingin lang ako sa pagkakahiwalay ito sa pamamagitan ng ang iba't-ibang mga pahayag. 1240 01:09:48,609 --> 01:09:52,399 Kaya huwag mag-alala tungkol sa katotohanan na ginawa ito table1 papunta sa ikalawang linya. 1241 01:09:52,399 --> 01:09:56,130 >> Kaya gusto naming INSERT SA table1 ilang mga halaga. 1242 01:09:56,130 --> 01:09:58,922 At mapapansin mo ang opsyonal bit, na kung saan magagawa ko na sa sa isang segundo. 1243 01:09:58,922 --> 01:09:59,755 Kaya Mayroon namin ang mga halaga. 1244 01:09:59,755 --> 01:10:03,640 1245 01:10:03,640 --> 01:10:08,100 >> Kaya sabihin nating gusto naming idagdag Andi sa aming table, dahil miss namin Andi. 1246 01:10:08,100 --> 01:10:09,390 Andi ay may sakit. 1247 01:10:09,390 --> 01:10:12,490 Kaya sabihin magdagdag Andi sa aming table. 1248 01:10:12,490 --> 01:10:15,150 Tandaan na ang numero ng ID ay awtomatikong na-update. 1249 01:10:15,150 --> 01:10:17,320 Kaya ang tanging mga patlang tayo kailangan mag-alala tungkol sa 1250 01:10:17,320 --> 01:10:20,230 mga pangalan, pinakamalakas, at bayan. 1251 01:10:20,230 --> 01:10:23,660 >> At upang ang mga paraan na gawin namin na, pagtingin sa aming mga syntax, ay hindi namin 1252 01:10:23,660 --> 01:10:28,780 Nalaman lamang ng mga panaklong, na may comma separated values, ang bawat isa 1253 01:10:28,780 --> 01:10:29,890 ay isang halaga. 1254 01:10:29,890 --> 01:10:35,530 Kaya kung gusto naming ipasok Andi sa ating table, lahat kami ay may sa gawin ang tama Andi. 1255 01:10:35,530 --> 01:10:38,630 Ano ang pinakamalakas Andi, mga tao sa section Andi? 1256 01:10:38,630 --> 01:10:45,406 1257 01:10:45,406 --> 01:10:47,545 Gusto niya flight, o gusto bilis, o isang bagay. 1258 01:10:47,545 --> 01:10:48,920 Ano ang gagawin namin ay mayroon up doon? 1259 01:10:48,920 --> 01:10:53,425 Mayroon kaming CS50, flight, bilis, at lakas. 1260 01:10:53,425 --> 01:10:54,850 >> Madla: Oras ng paglalakbay. 1261 01:10:54,850 --> 01:10:56,180 >> Tagapagsalita: Oras ng paglalakbay, amazing. 1262 01:10:56,180 --> 01:11:04,280 Kaya Mayroon namin ang Andi, oras travel, at ang kanyang bayang kinalakhan. 1263 01:11:04,280 --> 01:11:05,530 Iyan ay isang tunay na magandang katanungan. 1264 01:11:05,530 --> 01:11:09,210 New York City, maliban na lamang kung may isang taong nakakaalam. 1265 01:11:09,210 --> 01:11:13,600 Ang bawat tao'y ay mula sa New York ay ang aralin upang mag-alis mula sa araw na ito. 1266 01:11:13,600 --> 01:11:17,710 >> Kaya ang pahayag na gagawin ipasok, bilang ikalimang hilera, 1267 01:11:17,710 --> 01:11:21,900 may pinakamalakas na oras ng paglalakbay at isang bayan ng New York City. 1268 01:11:21,900 --> 01:11:25,660 Ngunit ang mga opsyonal na field ay karaniwang isang paraan 1269 01:11:25,660 --> 01:11:30,090 upang tukuyin ang eksaktong kung aling mga haligi na gusto mong ipasok ang mga bagay sa. 1270 01:11:30,090 --> 01:11:33,710 >> Ang paraan na kami ay ginagawa ito ngayon, Andi, oras ng paglalakbay, New York City, 1271 01:11:33,710 --> 01:11:38,150 ay pagpunta sa eksaktong pagkakasunud-sunod ng aming table-- name, pinakamalakas, bayang kinalakhan. 1272 01:11:38,150 --> 01:11:42,290 At kung gusto mong gawin isang bagay na iba kaysa sa na, 1273 01:11:42,290 --> 01:11:44,970 tulad ng sinasabi na hindi ninyo alam pinakamalakas ng isang tao, 1274 01:11:44,970 --> 01:11:47,660 tulad ng kung paano hindi ko alam kung Andi pinakamalakas sa simula. 1275 01:11:47,660 --> 01:11:50,450 Kaya ang lahat ng alam ko ay ang kanyang pangalan at ang kanyang bayang kinalakhan. 1276 01:11:50,450 --> 01:11:54,550 Ano ang maaari kong gawin ay kaya kong do-- kukunin ko na burahin ito mabilis. 1277 01:11:54,550 --> 01:11:57,910 1278 01:11:57,910 --> 01:12:00,090 >> Gusto kong i-update lamang ang mga haligi. 1279 01:12:00,090 --> 01:12:04,100 At ito ay kung saan ang mga opsyonal na listahan ng mga haligi ay dumating sa play. 1280 01:12:04,100 --> 01:12:09,185 Gusto ko lang i-update ang pangalan at bayan. 1281 01:12:09,185 --> 01:12:12,650 1282 01:12:12,650 --> 01:12:16,480 At pagkatapos ay ako ay sinasabi na mga halaga. 1283 01:12:16,480 --> 01:12:24,430 Makikita kong gawin Andi at New York City. 1284 01:12:24,430 --> 01:12:28,980 >> Kung ako ay tinanggal na sa listahan ng mga haligi at tapos lang ito ng dalawang mga bagay-bagay, 1285 01:12:28,980 --> 01:12:32,450 kung saan nais New York City ay wala na? 1286 01:12:32,450 --> 01:12:35,900 Aling column gagawin New York City ay inilagay sa? 1287 01:12:35,900 --> 01:12:38,950 Mga tao ay may anumang mga ideya? 1288 01:12:38,950 --> 01:12:40,160 Pinakamalakas, eksakto. 1289 01:12:40,160 --> 01:12:41,890 >> Kaya ito ay pumunta lamang sa order. 1290 01:12:41,890 --> 01:12:45,530 At sa sandaling umabot sa dulo ng listahan, ito lamang tumigil sa pagpuno ng mga bagay sa. 1291 01:12:45,530 --> 01:12:49,080 At ang mga halaga na makikita ito tumuon sa lalamunan lahat ng mga haligi ay lamang ay null. 1292 01:12:49,080 --> 01:12:51,840 Kaya dahil tinukoy natin pangalan at bayan, 1293 01:12:51,840 --> 01:12:56,110 kami ay pagpunta sa may ID 5, pangalan Andi, pinakamalakas null. 1294 01:12:56,110 --> 01:12:58,750 Kaya pinakamalakas ay isang uninitialized halaga. 1295 01:12:58,750 --> 01:13:01,340 Ikaw ay hindi kinakailangang makakuha ng mga parehong mga error Valgrind kung susubukan mo 1296 01:13:01,340 --> 01:13:01,970 at ma-access ito. 1297 01:13:01,970 --> 01:13:05,160 Ang lahat ay mabuti zeroed out, dahil null ay isang halaga sa SQL. 1298 01:13:05,160 --> 01:13:06,780 Iyon ay isang pare-pareho. 1299 01:13:06,780 --> 01:13:08,980 At pagkatapos hometown ay New York City. 1300 01:13:08,980 --> 01:13:11,860 Kaya iyon ang maisingit command. 1301 01:13:11,860 --> 01:13:13,610 Bago namin ilipat, may dalawang higit pang mga utos. 1302 01:13:13,610 --> 01:13:19,060 Tao ay may anumang mga katanungan tungkol sa UPDATE, tungkol maisingit, tungkol sa SQL 1303 01:13:19,060 --> 01:13:21,556 pangkalahatan bago ilipat namin papunta sa aming final bits? 1304 01:13:21,556 --> 01:13:25,500 1305 01:13:25,500 --> 01:13:26,910 Mga tao pakiramdam mabuti, malaki. 1306 01:13:26,910 --> 01:13:27,410 Pag-ibig ito. 1307 01:13:27,410 --> 01:13:29,480 Kaya sabihin makipag-usap tungkol sa SELECT. 1308 01:13:29,480 --> 01:13:33,445 Pagpunta kanal UPDATE sa paglipas dito. 1309 01:13:33,445 --> 01:13:35,720 >> At SELECT ay magiging katulad na katulad. 1310 01:13:35,720 --> 01:13:38,790 Ang layunin ng SELECT, Layunin SELECT sa buhay 1311 01:13:38,790 --> 01:13:45,910 ay upang bigyan ka ng isang bungkos ng mga haligi na masiyahan ang ilang mga kundisyon. 1312 01:13:45,910 --> 01:13:48,230 At kapag sinabi ko masiyahan ilang mga kundisyon, 1313 01:13:48,230 --> 01:13:50,800 ang iyong isip maaari agad bumalik na ang SAAN sugnay 1314 01:13:50,800 --> 01:13:52,090 na nagmula up sa UPDATE. 1315 01:13:52,090 --> 01:13:54,880 At na sugnay ay eksakto doon sa SELECT. 1316 01:13:54,880 --> 01:14:06,020 >> Kung hindi namin ilagay ang WHERE sugnay at sinasabi namin PUMILI pangalan, 1317 01:14:06,020 --> 01:14:16,490 hometown-- nabaybay na ang isang maliit na wrong-- pangalan, bayang kinalakhan MULA table1. 1318 01:14:16,490 --> 01:14:19,690 Kung sinasabi nating lamang, ano PUMILI ay pagpunta upang ibigay sa amin ay ito ay 1319 01:14:19,690 --> 01:14:23,730 pagpunta sa bigyan kami ng isang double-- isang table, sa halip. 1320 01:14:23,730 --> 01:14:27,450 Isang double array kung kami ay nag-iisip tungkol sa sarili PHP. 1321 01:14:27,450 --> 01:14:33,239 Ngunit ito lamang ang pagpunta sa bigyan kami ng isang double ang dami ng dalawang columns-- pangalan, 1322 01:14:33,239 --> 01:14:33,780 at bayan. 1323 01:14:33,780 --> 01:14:36,400 1324 01:14:36,400 --> 01:14:38,130 At ito ay huwag pansinin ID. 1325 01:14:38,130 --> 01:14:41,310 At ito ay huwag pansinin pinakamalakas. 1326 01:14:41,310 --> 01:14:44,696 At ito lamang ang kailangan bigyan kami ng bawat isang hilera ng talahanayan na. 1327 01:14:44,696 --> 01:14:46,570 Kaya kapag nilagay namin lamang Andi, kakailanganin naming Andi. 1328 01:14:46,570 --> 01:14:48,605 At kami ay may orihinal na apat. 1329 01:14:48,605 --> 01:14:53,720 Kung ito ay nai-update, na habilin sasalamin, at iba pa, at iba pa. 1330 01:14:53,720 --> 01:14:56,520 >> Kaya ito ay dahil sa tayo ay hindi gamitin ang SAAN sugnay. 1331 01:14:56,520 --> 01:14:59,200 Ngunit maaari naming gamitin ito sa eksaktong parehong paraan na ginagamit namin ito sa UPDATE. 1332 01:14:59,200 --> 01:15:05,310 Kung nais lamang namin ng isang talaan ng mga pangalan at sobrang kapangyarihan ng mga taong naninirahan 1333 01:15:05,310 --> 01:15:13,430 sa New York, maaari kaming magsagawa ng isang pahayag tulad ng PUMILI pangalan, superpower-- 1334 01:15:13,430 --> 01:15:27,190 Lamang ako ng pagpunta sa iwan na- FROM table1 WHERE hometown = New York City. 1335 01:15:27,190 --> 01:15:33,370 >> Kaya ito napupunta upang ipakita na maaari mong makakuha ng ganap na iba't ibang mga haligi, 1336 01:15:33,370 --> 01:15:36,920 at pagkatapos ay ilagay haligi na hindi ka kahit pagkuha ng bumalik sa SAAN sugnay. 1337 01:15:36,920 --> 01:15:39,200 Hindi namin kahit na gusto ang hometown ng lahat. 1338 01:15:39,200 --> 01:15:41,920 Ngunit gusto namin ang mga pangalan at ang pinakamalakas ng tao 1339 01:15:41,920 --> 01:15:43,817 na ang bayan ay New York City. 1340 01:15:43,817 --> 01:15:45,650 Kaya na ang isang bagay na namin maaaring gawin sa ang WHERE 1341 01:15:45,650 --> 01:15:49,112 sugnay ay maaari naming harapin ang mga haligi na hindi naman natin nais bumalik. 1342 01:15:49,112 --> 01:15:52,320 Sa parehong paraan sa UPDATE, maaari naming pakikitungo may mga haligi na hindi namin kinakailangang 1343 01:15:52,320 --> 01:15:53,270 nais na i-update. 1344 01:15:53,270 --> 01:15:58,890 Maaari naming i-update ang lungsod ng lahat ng tao na ang pangalan ay Sam, halimbawa. 1345 01:15:58,890 --> 01:16:02,080 Maaari naming i-update ang lungsod ng lahat ng tao na ang numero ng ID ay 2. 1346 01:16:02,080 --> 01:16:04,960 Kaya lamang i-update ang lungsod ng pangalawang hilera 1347 01:16:04,960 --> 01:16:08,220 kung saan hindi namin ay may upang harapin ang kinakailangan ang mga karaniwang tanong. 1348 01:16:08,220 --> 01:16:13,264 >> At ALISIN ay, bilang Gusto mo asahan, ALISIN MULA table1. 1349 01:16:13,264 --> 01:16:14,930 At pagkatapos ay nakuha namin ang isa pang SAAN sugnay. 1350 01:16:14,930 --> 01:16:17,940 Kaya maaari naming sabihin SAAN ID = 1. 1351 01:16:17,940 --> 01:16:18,950 Burahin ang unang hilera. 1352 01:16:18,950 --> 01:16:23,240 At ALISIN ay palaging tanggalin ang isang hilera, o ito ay tanggalin ang ilang bilang ng mga hilera. 1353 01:16:23,240 --> 01:16:26,990 ALISIN MULA mesa SAAN hometown = New York City 1354 01:16:26,990 --> 01:16:28,740 Tatanggalin lahat ng tao sa New York City. 1355 01:16:28,740 --> 01:16:30,985 Iyon ang dahilan kung nagkaroon ng isang biglaang trahedya plague 1356 01:16:30,985 --> 01:16:33,360 at nais mo lamang na alisin ang lahat ng tao mula sa talahanayan na 1357 01:16:33,360 --> 01:16:35,760 nanirahan sa isang tiyak na lungsod na na-hit sa pamamagitan ng mga salot. 1358 01:16:35,760 --> 01:16:38,050 Sila ay maaaring magpahinga sa kapayapaan. 1359 01:16:38,050 --> 01:16:43,849 >> Ito ang apat na SQL command na kailangan mong gamitin. 1360 01:16:43,849 --> 01:16:45,390 Maaring hindi kahit na kailangan gamitin ang mga ito sa lahat. 1361 01:16:45,390 --> 01:16:47,690 Ngunit ang mga ito ay ang apat na na inaasahan mong CS50 1362 01:16:47,690 --> 01:16:53,630 upang maging komportable sa pagpunta sa parehong quiz 1 at pset7 din at pset8. 1363 01:16:53,630 --> 01:16:55,820 >> May muli talahanayan na lang. 1364 01:16:55,820 --> 01:16:58,930 Sa isang ito, pinakamalakas Roy ay may na-update upang laser beam, na 1365 01:16:58,930 --> 01:17:00,880 ay isang halimbawa ng hindi ko gamitin. 1366 01:17:00,880 --> 01:17:05,480 Hindi ko alam kung saan ang isa Roy Mas pinipili, ngunit lakas. 1367 01:17:05,480 --> 01:17:07,670 Roy ay may pinakamalakas ng lakas. 1368 01:17:07,670 --> 01:17:09,090 Katherine ay hindi gumawa ng mga ito ngayon. 1369 01:17:09,090 --> 01:17:10,260 Iyan ay kapus-palad. 1370 01:17:10,260 --> 01:17:11,260 Ngunit siya ay may sobrang bilis. 1371 01:17:11,260 --> 01:17:13,780 1372 01:17:13,780 --> 01:17:14,670 >> Well na noon ay PHP. 1373 01:17:14,670 --> 01:17:19,410 Bago natin pag-usapan MVC, ginagawa kahit sino ay may mga katanungan tungkol sa PHP? 1374 01:17:19,410 --> 01:17:23,864 Ngayon SQL, o PHP kung bigla kang magkaroon ng magkaroon ng isang katanungan tungkol sa PHP? 1375 01:17:23,864 --> 01:17:27,560 1376 01:17:27,560 --> 01:17:28,460 Great. 1377 01:17:28,460 --> 01:17:29,920 Lahat ng mga karapatan, lahat kami ay naka-set pagkatapos. 1378 01:17:29,920 --> 01:17:33,660 >> Kaya ang pakikipag-usap nang kaunti tungkol sa view ng modelo controllers, 1379 01:17:33,660 --> 01:17:38,770 sabihin bumalik sa ilang mga bagay-bagay sa pset7. 1380 01:17:38,770 --> 01:17:42,470 Kaya kung ano ang view ng modelo controller is-- hindi ako 1381 01:17:42,470 --> 01:17:45,660 upang i-save ang aking mga pagbabago sa pag-login dahil ako ganap butchered ito. 1382 01:17:45,660 --> 01:17:49,220 Subalit karaniwang kami ay may dalawang hiwalay na mga bagay-bagay na nangyayari. 1383 01:17:49,220 --> 01:17:52,390 Kami ay may isang pampublikong direktoryo na naglalaman ng 1384 01:17:52,390 --> 01:17:56,460 ang code na pupuntahan pinaandar at ang mga pahina ng web na ito ay binisita. 1385 01:17:56,460 --> 01:17:58,780 At mayroon din namin ito direktoryo views. 1386 01:17:58,780 --> 01:18:01,780 At naglalaman views template. 1387 01:18:01,780 --> 01:18:04,390 >> Ito ay kung ano ang function render-- nakita natin ang render 1388 01:18:04,390 --> 01:18:08,240 function sa isang bungkos ng mga code na PHP na CS50 ito ay isinulat para sa iyo, 1389 01:18:08,240 --> 01:18:10,550 na tumatagal ng ilang mga parameter. 1390 01:18:10,550 --> 01:18:14,510 Ano na ang code ay ginagawa ay ito ay pagpunta sa view, 1391 01:18:14,510 --> 01:18:18,000 na kung saan ay mga hanay ng mga tulad ng prewritten HTML code, 1392 01:18:18,000 --> 01:18:20,720 at ito ay ang pagpasok ng mga halaga sa ilang mga lugar. 1393 01:18:20,720 --> 01:18:23,990 Ito ay kung paano kapag ikaw pumunta sa CS50 Finance, 1394 01:18:23,990 --> 01:18:25,760 ang parehong header ay sa bawat pahina. 1395 01:18:25,760 --> 01:18:28,130 Ang parehong footer ay sa bawat pahina. 1396 01:18:28,130 --> 01:18:31,880 Ito ay dahil sa ang paraan na gawa render ay makikita ito 1397 01:18:31,880 --> 01:18:36,720 awtomatikong patch sa header na at viewer na kung saan maaari mong makita sa mga view. 1398 01:18:36,720 --> 01:18:41,400 >> Kami ay talagang ay maaaring pumunta sa header, at Tumingin, ito ay isang HTML file na may isang ulo. 1399 01:18:41,400 --> 01:18:43,280 Ito ay nakuha ng ilang mga stylesheet. 1400 01:18:43,280 --> 01:18:48,450 Hindi mo na kailangan upang tumingin sa CSS para pset7 kung hindi mo nais na. 1401 01:18:48,450 --> 01:18:50,560 Ngunit maaari mong baguhin mga ito kung nais mo, gumawa 1402 01:18:50,560 --> 01:18:53,470 tumingin ng isang maliit na naiiba ang iyong Finance. 1403 01:18:53,470 --> 01:18:57,560 >> Ito ay nakuha ng ilang PHP in ang header ng kaunti upang makita 1404 01:18:57,560 --> 01:19:01,240 kung may isang iba't ibang mga pamagat ito ay dapat na ilagay sa header na ito. 1405 01:19:01,240 --> 01:19:04,300 Ngunit lamang ng ilang mga iba pang mga script, at mga link, at iba pang mga bagay-bagay. 1406 01:19:04,300 --> 01:19:08,700 Nagtatapos ang Head, nagsisimula katawan, at Oops, mayroon kaming ito kakaiba maliit na end bit. 1407 01:19:08,700 --> 01:19:14,730 At may isang div, tulad ng isang walang anyo uri ng mga sangkap 1408 01:19:14,730 --> 01:19:17,120 na may isang ideya ng gitna. 1409 01:19:17,120 --> 01:19:22,450 >> At pagkatapos ay kapag nakita namin ang footer, kami ay may sa dulo ng isang div. 1410 01:19:22,450 --> 01:19:25,000 Kami ay may isang ibaba, na kung saan ay kung saan ang teksto footer ay. 1411 01:19:25,000 --> 01:19:26,770 Dulo ng mga div, dulo ng katawan, dulo ng HTML. 1412 01:19:26,770 --> 01:19:29,070 >> Kaya kung ano ang render ay ginagawa render ay uri 1413 01:19:29,070 --> 01:19:33,150 ng patching up header, isang iba't-ibang mga file na PHP 1414 01:19:33,150 --> 01:19:37,110 ay naglalaman ng aktwal na mga bagay-bagay na Makikita mo ang, tulad ng iyong talahanayan ng mga stock 1415 01:19:37,110 --> 01:19:39,690 kung ikaw ay bumibili o nagbebenta ng mga stock. 1416 01:19:39,690 --> 01:19:41,480 At pagkatapos ay makikita idagdag ito sa footer. 1417 01:19:41,480 --> 01:19:44,890 At ang mga view ng modelo ideya controller ay na tayo 1418 01:19:44,890 --> 01:19:49,590 nais upang paghiwalayin ang kung paano bagay hitsura mula sa mga code. 1419 01:19:49,590 --> 01:19:53,420 Ito ay nais naming paghiwalayin ang frontend at ang backend, kung saan ang frontend ay 1420 01:19:53,420 --> 01:20:00,440 ang mga bagay-bagay na nakikita ng mga user, ang ganda visuals-- HTML, CSS, mga bagay tulad na, 1421 01:20:00,440 --> 01:20:02,320 mga imahe, at iba pa. 1422 01:20:02,320 --> 01:20:05,780 At ang backend ay PHP. 1423 01:20:05,780 --> 01:20:07,710 Ito ang code na sumulat. 1424 01:20:07,710 --> 01:20:10,240 Ito ay kung saan ang mga code na paggawa ng aktwal na operasyon. 1425 01:20:10,240 --> 01:20:12,400 Ito ay kapag ikaw ay nagdadagdag ng isang stock sa iyong mesa, 1426 01:20:12,400 --> 01:20:14,890 kapag ikaw ay bumibili at selling, na backend. 1427 01:20:14,890 --> 01:20:20,210 >> At maaari naming, bilang na nakita mo, kabilang ang PHP direkta sa HTML. 1428 01:20:20,210 --> 01:20:23,210 Kaya kung ano ang maaaring magkaroon ng tapos namin para sa ang atas na ito ay nagkaroon lamang 1429 01:20:23,210 --> 01:20:26,200 isang file na HTML para sa bawat pahina, tulad ng pag-login. 1430 01:20:26,200 --> 01:20:30,260 At pagkatapos ay sa pahinang iyon, lamang nagkaroon ng isang malaking block ng code na PHP, 1431 01:20:30,260 --> 01:20:33,822 kabilang ang lahat ng mga code na page na partikular ay kailangan. 1432 01:20:33,822 --> 01:20:35,780 At pagkatapos namin ay maaaring magkaroon tapos na ang para sa portfolio. 1433 01:20:35,780 --> 01:20:40,250 Maaaring nagawa namin ang lahat ng mga pagbili at nagbebenta sa loob ng mga indibidwal na pahina. 1434 01:20:40,250 --> 01:20:43,680 >> Ngunit dahil kami ay nagre-render hiwalay mula sa kung saan 1435 01:20:43,680 --> 01:20:46,660 kami ay sumusulat ng backend code, maaari naming madali 1436 01:20:46,660 --> 01:20:52,660 baguhin kung paano tumingin ng mga bagay na walang pagbabago ng bawat solong file. 1437 01:20:52,660 --> 01:20:55,460 Ginagawa namin ang mga bagay na tulad idagdag lamang isang bagong div sa ibaba 1438 01:20:55,460 --> 01:21:00,720 of-- Kamusta binago ko ang footer. 1439 01:21:00,720 --> 01:21:03,710 Maaari mo lamang gawin mga bagay-bagay na tulad ng. 1440 01:21:03,710 --> 01:21:07,250 Ngunit din, maaari mong baguhin ang buong layout visual 1441 01:21:07,250 --> 01:21:09,290 nang hindi naaapektuhan kung ano ang pagpunta sa backend. 1442 01:21:09,290 --> 01:21:12,000 At maaari mong baguhin ang buong backend at pa rin 1443 01:21:12,000 --> 01:21:13,900 magkaroon ito ng itsura ng mga ito ay bago. 1444 01:21:13,900 --> 01:21:14,400 Ito 1445 01:21:14,400 --> 01:21:16,170 >> Ay ang ideya ng view model controller. 1446 01:21:16,170 --> 01:21:19,992 At ito ay tunay na isang ipataw tularan sa ilan sa mga programming languages 1447 01:21:19,992 --> 01:21:21,700 baka gusto mong gamitin para sa pangwakas na proyekto. 1448 01:21:21,700 --> 01:21:25,100 Kung gagawin mo iOS-unlad, sila ay may mga tanawin, 1449 01:21:25,100 --> 01:21:29,120 na kung saan ay kung ano ang makikita mo sa iPhone, at pagkatapos backend bilang tulad ng isang hiwalay na bagay. 1450 01:21:29,120 --> 01:21:31,260 >> Maaari mong isipin ang tungkol sa ilang sandali. 1451 01:21:31,260 --> 01:21:35,190 May isang pulutong ng mga binaries sa computer science, na kung saan ay funny, 1452 01:21:35,190 --> 01:21:37,270 dahil ang lahat ng bagay ay sa binary. 1453 01:21:37,270 --> 01:21:38,550 Hindi ko balak na iyon. 1454 01:21:38,550 --> 01:21:41,590 Iyon ay isang pun unintended. 1455 01:21:41,590 --> 01:21:43,860 Oo, pun hindi nilayon. 1456 01:21:43,860 --> 01:21:49,070 >> Ngunit tulad ng h file at C file, may isang pulutong ng pagbubukud-bukod ng mga bagay na aming 1457 01:21:49,070 --> 01:21:49,900 maaring hindi na kailangan. 1458 01:21:49,900 --> 01:21:54,330 Kaya maaari lamang i-edit natin ang mga h file, o isang tao na maaari lamang makita ang isang h file at alam 1459 01:21:54,330 --> 01:21:57,650 eksakto ang function na sa c file nang walang kinakailangang pag-alam 1460 01:21:57,650 --> 01:21:58,870 kanilang pagpapatupad. 1461 01:21:58,870 --> 01:22:02,800 Ang ideya ng pagkakahiwalay sangkap na umaasa sa isa't isa 1462 01:22:02,800 --> 01:22:06,990 ngunit maaari ng ma-access ang uri ng bawat isa pamamagitan ng iba't ibang channel, pagpasa 1463 01:22:06,990 --> 01:22:09,310 ng mga variable, lamang isama ang mga pahayag, ang mga bagay 1464 01:22:09,310 --> 01:22:14,440 tulad na, ito prinsipyo ay tumutulong na lumikha ng mga application 1465 01:22:14,440 --> 01:22:17,080 na maaaring maging mas madali edit sa pamamagitan ng maramihang mga tao, 1466 01:22:17,080 --> 01:22:20,440 ay maaaring maging mas madaling nagbago o binago sa isang malaking proporsyon, 1467 01:22:20,440 --> 01:22:24,880 at mas madaling debug sa maraming paraan. 1468 01:22:24,880 --> 01:22:28,254 >> Talagang mabilis, mayroon akong ilang mga tip para pset7, 1469 01:22:28,254 --> 01:22:31,420 na kung saan kukunin ko na gawin full screen kaya hindi ka lamang ng pagtingin sa the-- tip tip Tippee. 1470 01:22:31,420 --> 01:22:33,964 1471 01:22:33,964 --> 01:22:35,130 May mga hindi na ang maraming mga tips. 1472 01:22:35,130 --> 01:22:38,060 >> Ngunit nabanggit ko PHP ay mahirap na debug. 1473 01:22:38,060 --> 01:22:39,290 Double at triple check ito. 1474 01:22:39,290 --> 01:22:41,550 Kung ang iyong code ay hindi lamang Ipinapakita up sa pahina, 1475 01:22:41,550 --> 01:22:46,240 marahil ito ay isang error PHP, paumanhin. 1476 01:22:46,240 --> 01:22:48,570 >> Hindi mo na kailangan upang tumingin sa CSS kung hindi mo nais na. 1477 01:22:48,570 --> 01:22:52,150 Ngunit sa sandaling tapos ka na, maaari itong maging isang magandang maliit na bagay masaya na pumunta lamang sa 1478 01:22:52,150 --> 01:22:54,770 at gulo sa CSS parameter. 1479 01:22:54,770 --> 01:22:58,700 CSS at HTML ay isang halimbawa ng isang model tingnan style controller bagay masyadong, right? 1480 01:22:58,700 --> 01:23:02,150 Maaari kang magkaroon ng estilo ng mga tag sa loob ng mga elemento ng HTML. 1481 01:23:02,150 --> 01:23:04,800 Ngunit kung ikaw uri ng outsourcing ang mga ito sa CSS, 1482 01:23:04,800 --> 01:23:08,180 ang mga ito ay mas madaling i-edit, at i-play sa paligid sa, at magkaroon ng kasiyahan sa. 1483 01:23:08,180 --> 01:23:10,816 >> Tratuhin CS50 helper function bilang mga itim na kahon. 1484 01:23:10,816 --> 01:23:12,940 Hindi mo na kailangang malaman kung ano mismo ang render ang ginagawa, 1485 01:23:12,940 --> 01:23:16,770 ngunit tiwala ito na laging gawin ang mga karapatan bagay depende sa kung ano ang iyong pumasa ito, 1486 01:23:16,770 --> 01:23:17,690 mga bagay na tulad nito. 1487 01:23:17,690 --> 01:23:21,040 At ako ay pinapayo nanonood walkthrough ni David, 1488 01:23:21,040 --> 01:23:24,490 pagpunta sa pamamagitan ng lahat ng mga mga bagay-bagay, hindi lamang ang todos, 1489 01:23:24,490 --> 01:23:26,960 ngunit ikaw talaga ay maaaring tratuhin ang mga ito bilang mga itim na kahon. 1490 01:23:26,960 --> 01:23:29,280 Huwag pumunta sa mga mga function na naghahanap para sa mga bug. 1491 01:23:29,280 --> 01:23:33,510 >> At salubungin ang pagbabalik ng ating panginoon Zamyla. 1492 01:23:33,510 --> 01:23:34,010 Great. 1493 01:23:34,010 --> 01:23:40,430 >> Mayroon bang anumang mga pangwakas na mga katanungan bago kami uri ng bounce para sa araw? 1494 01:23:40,430 --> 01:23:42,610 Ako ba ay nakatira ko pa rin? 1495 01:23:42,610 --> 01:23:44,700 Great. 1496 01:23:44,700 --> 01:23:47,120 Hi livestream tao. 1497 01:23:47,120 --> 01:23:47,620 Great. 1498 01:23:47,620 --> 01:23:50,260 Mayroon bang anymore katanungan? 1499 01:23:50,260 --> 01:23:50,760 Hindi? 1500 01:23:50,760 --> 01:23:52,884 >> At pagkatapos ay sa tingin ko hindi namin magandang pumunta para sa araw na ito. 1501 01:23:52,884 --> 01:23:55,550 Kukunin ko stick sa paligid ng isang maliit na piraso pagkatapos nito kung ang mga tao ay may mga katanungan 1502 01:23:55,550 --> 01:23:57,480 sila ay natatakot na magtanong sa stream. 1503 01:23:57,480 --> 01:23:59,790 Ngunit sa kabilang banda, ay may isang mahusay na araw. 1504 01:23:59,790 --> 01:24:01,933