1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Linggo 8] 2 00:00:02,000 --> 00:00:04,000 [David J Malan] [Harvard University] 3 00:00:04,000 --> 00:00:07,000 [Ito ay CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:09,000 >> Maligayang pagbabalik. 5 00:00:09,000 --> 00:00:11,000 Ito ay CS50, at ito ay ang simula ng linggo 8. 6 00:00:11,000 --> 00:00:14,000 Ang ilang mga pagkakataon sa linggong ito, 7 00:00:14,000 --> 00:00:17,000 kasama ng mga ito ang talk dito, sa kung saan ang pagkain ilang ay inihatid. 8 00:00:17,000 --> 00:00:20,000 Para sa higit pang mga detalye tingnan ang mga slide na online. 9 00:00:20,000 --> 00:00:24,000 At din isa pang kaganapan sa linggong ito sa pamamagitan ng aming sariling Thomas Carriero. 10 00:00:24,000 --> 00:00:27,000 Siya ay isa sa mga dating Fellows ng ulo ng CS50 pagtuturo na ngayon sa Dropbox, 11 00:00:27,000 --> 00:00:29,000 at siya ang taong baluktot sa amin na may alam mo kung ano ang, 12 00:00:29,000 --> 00:00:36,000 kaya kung gusto mong higit pa sa na ulo sa kanilang talk hapon na ito para sa Dropbox at higit pa. 13 00:00:36,000 --> 00:00:38,000 CS50 tanghalian ito Biyernes. 14 00:00:38,000 --> 00:00:41,000 Gawin sumali sa amin kung ikaw ay magagawang, 1:15, gaya ng dati, sa Sunog at Yelo. 15 00:00:41,000 --> 00:00:45,000 >> At ngayon namin sumisid sa isang bagay na tinatawag Seminar. 16 00:00:45,000 --> 00:00:49,000 Aming CS50 mga Seminar, manariwa sa diwa, ang mga opsyonal na mga klase na pinangunahan ng mga Fellows pagtuturo 17 00:00:49,000 --> 00:00:51,000 at kurso assistants at mga kaibigan ng mga kurso, 18 00:00:51,000 --> 00:00:55,000 mga tao mula sa isang grupo sa campus na tinatawag ABCD, kung saan ay isang pangkat ng mga 19 00:00:55,000 --> 00:00:58,000 mga technophiles sa campus, pati na rin ang isang grupo na tinatawag na HCS, 20 00:00:58,000 --> 00:01:02,000 Harvard Computer Society, undergraduates na katulad interesado sa computing. 21 00:01:02,000 --> 00:01:08,000 Kasama sa roster ito taon ng seminar ng mga seminar sa Android at iOS at JavaScript 22 00:01:08,000 --> 00:01:13,000 at PHP, Unix, Vim, at marami pang iba, kaya Napagtanto na mga seminar na ito ay paparating na. 23 00:01:13,000 --> 00:01:16,000 Kung nais mong mag-RSVP para sa anuman sa mga ito magtungo sa URL na iyon doon. 24 00:01:16,000 --> 00:01:20,000 Kami ay mag-post sa website ng kurso ang mga oras at lugar sa sandaling ito ay tinatapos. 25 00:01:20,000 --> 00:01:26,000 Ngunit alam ng may 5 taon halaga ng mga naunang seminar na magagamit online, 26 00:01:26,000 --> 00:01:29,000 marami sa mga ito ay pa rin napaka kasalukuyang sa mga tuntunin ng teknolohiya maaari mo 27 00:01:29,000 --> 00:01:36,000 gusto upang i-play para sa iyong huling proyekto, kaya magtungo doon para sa ilang magagamit na mga video nito. 28 00:01:36,000 --> 00:01:39,000 >> CSS, mga mo na pamilyar sa CSS na, 29 00:01:39,000 --> 00:01:42,000 ano ito sa maikling sabi? 30 00:01:42,000 --> 00:01:45,000 Ano ang CSS? 31 00:01:45,000 --> 00:01:48,000 Ito ay cascading mga style sheet, at kung ano ang na ibig sabihin nito? 32 00:01:48,000 --> 00:01:53,000 Ano ang na gawin para sa amin, CSS? 33 00:01:53,000 --> 00:01:57,000 Karapatan lahat, sabihin magpainit na may mas madaling isa, HTML, hypertext markup language. 34 00:01:57,000 --> 00:02:01,000 Ano ang na gawin para sa amin? 35 00:02:01,000 --> 00:02:04,000 Sinuman sa lahat? 36 00:02:04,000 --> 00:02:07,000 Nakakakuha ito ng talagang mahirap ng pagtatanong sa mga tanong na ito. 37 00:02:07,000 --> 00:02:11,000 HTML, hypertext markup language. 38 00:02:11,000 --> 00:02:14,000 Oo? Hindi? 39 00:02:14,000 --> 00:02:17,000 [Hindi marinig na mag-aaral ng tugon] 40 00:02:17,000 --> 00:02:20,000 Okay, magandang, ito ay nagbibigay-daan sa amin upang markahan up teksto upang ipakita sa isang web browser. 41 00:02:20,000 --> 00:02:22,000 Ito ay hindi isang programming language. 42 00:02:22,000 --> 00:02:25,000 Ito ay sa katunayan ng isang markup language, na nangangahulugan na tagubilin sa browser kung paano ipapakita 43 00:02:25,000 --> 00:02:28,000 impormasyon, upang ang pinakasimpleng pagkakatawang-tao ng mga ito bilang namin ang nakita 44 00:02:28,000 --> 00:02:32,000 ay isang bagay na sobrang simpleng tulad boldfacing, bukas bracket bracket b closed sabi 45 00:02:32,000 --> 00:02:36,000 gawing bold ang text na ito, at na aktwal na isa lamang sa maraming paraan 46 00:02:36,000 --> 00:02:39,000 kung saan maaari naming gawin iyon, at sa katunayan, ang mga araw na ito ng isang mas mahusay na diskarte 47 00:02:39,000 --> 00:02:42,000 sa stylizing iyong web page, paggawa ng mga bagay na naka-bold at italics 48 00:02:42,000 --> 00:02:47,000 at gitna at nabigyang-katarungan at ang tulad, ay hindi ginawa sa pamamagitan ng mga tag na HTML nag-iisa 49 00:02:47,000 --> 00:02:51,000 ngunit sa halip na may isang diskarte na tinatawag na CSS, cascading ang mga style sheet. 50 00:02:51,000 --> 00:02:53,000 Ito ay isang wika unto mismo. 51 00:02:53,000 --> 00:02:55,000 Ito masyadong ay hindi isang programming language ngunit- 52 00:02:55,000 --> 00:02:58,000 lahat, ito ay Dan, na mapigil ang pagsali sa amin ngayon. 53 00:02:58,000 --> 00:03:01,000 Ilang mga teknikal na problema. Hindi problema. 54 00:03:01,000 --> 00:03:04,000 >> CSS ay nagbibigay-daan sa amin upang stylize isang pahina 55 00:03:04,000 --> 00:03:07,000 sa pamamagitan ng pagtatakda ng kung ano ay tinatawag na mga katangian, kaya sabihin tingnan sa 56 00:03:07,000 --> 00:03:09,000 sa pamamagitan ng paraan ng ilang mga pangunahing mga halimbawa. 57 00:03:09,000 --> 00:03:12,000 Hayaan akong pumunta sa appliance ngayon. 58 00:03:12,000 --> 00:03:15,000 Ko ang pinagmulan 8 Lunes direktoryo in dito, 59 00:03:15,000 --> 00:03:18,000 at ako pagpunta sa pumunta sa isang direktoryo na tinatawag na CSS kung saan mayroon kaming isang buong bungkos 60 00:03:18,000 --> 00:03:21,000 ng mga file na naghihintay para sa amin dito mismo, 61 00:03:21,000 --> 00:03:27,000 at sa folder na ito na mayroon kami, halimbawa, search0.html mula sa huling beses. 62 00:03:27,000 --> 00:03:31,000 Ngayon, isipin ang may search0 iniwanan namin sa talang ito 63 00:03:31,000 --> 00:03:35,000 sa pamamagitan ng uri ng pagpapatupad ng Google o talaga lang sa front end para sa ito sa isang linggo o kaya ang nakalipas, 64 00:03:35,000 --> 00:03:38,000 at mapansin na nagkaroon kami ng ilang mga bagong tag doon. 65 00:03:38,000 --> 00:03:41,000 Nagkaroon kami h1 para sa isang malaking, bold heading, 66 00:03:41,000 --> 00:03:45,000 form, na pinapayagan aktwal amin upang magkaroon ng isang HTML form para sa input ng user. 67 00:03:45,000 --> 00:03:48,000 Aksyon, ano ang kahulugan ng isang katangian ng pagkilos 68 00:03:48,000 --> 00:03:52,000 sa tag na HTML form? 69 00:03:52,000 --> 00:03:58,000 Ano ang kahulugan ng mga ito, pagkilos? 70 00:03:58,000 --> 00:04:00,000 Lamang ko makikita gawin ito ngayon. 71 00:04:00,000 --> 00:04:03,000 Aksyon ang destination kung saan ang form ay pagpunta sa isumite. 72 00:04:03,000 --> 00:04:07,000 Ang katotohanan na na nagsasabing action = "google.com / search" 73 00:04:07,000 --> 00:04:10,000 nangangahulugan na kapag ang user ay nag-click ang isumite ang pindutan o ang katumbas 74 00:04:10,000 --> 00:04:14,000 anumang form na mga patlang na sila napunan ang pagpunta sa hindi na ipinadala sa aming server 75 00:04:14,000 --> 00:04:17,000 o aming appliance ngunit sa halip na tukoy na URL sa Google. 76 00:04:17,000 --> 00:04:19,000 At ang paraan na ito ay pagpunta sa gamitin ay tinatawag na makakuha ng, 77 00:04:19,000 --> 00:04:25,000 at kumuha, sa ngayon, ay isang diskarte para sa pagpasa ng impormasyon sa kahabaan sa isang server ng web 78 00:04:25,000 --> 00:04:29,000 sa pamamagitan ng paraan ng URL, kaya sabihin tumagal ng isang mabilis na pagtingin bumalik sa kung paano ito gumagana. 79 00:04:29,000 --> 00:04:31,000 >> Pansinin na mayroong isang input na ang pangalan ay q 80 00:04:31,000 --> 00:04:35,000 na uri ng teksto at pagkatapos ay pangalawang input ng uri isumite 81 00:04:35,000 --> 00:04:39,000 na ang halaga ay CS50 Paghahanap, at sa katunayan, kung namin buksan ang file na ito dito, 82 00:04:39,000 --> 00:04:42,000 search0.html, ito ay isang napaka-simpleng form, 83 00:04:42,000 --> 00:04:45,000 at kung ako sa paghahanap para sa isang bagay tulad ng computer science 84 00:04:45,000 --> 00:04:50,000 at pagkatapos ay pindutin ang enter o mag-click sa CS50 Paghahanap 85 00:04:50,000 --> 00:04:53,000 mapapansin na kung ano ang mangyayari ay higit pa sa pagkuha sa Google 86 00:04:53,000 --> 00:04:56,000 Partikular ko na natapos sa URL na ito sa tuktok, 87 00:04:56,000 --> 00:05:01,000 google.com / search? q = computer na + agham, 88 00:05:01,000 --> 00:05:04,000 at computer science ay malinaw naman kung ano ang ako-type. 89 00:05:04,000 --> 00:05:06,000 + Ang ibig sabihin nito ay kung saan ang isang puwang ng character, 90 00:05:06,000 --> 00:05:10,000 at tapos na ito ng browser upang matiyak na walang 91 00:05:10,000 --> 00:05:13,000 pagkalito at puting espasyo sa aktwal na URL. 92 00:05:13,000 --> 00:05:15,000 At pagkatapos q, siyempre, ay ang pangalan ng parameter. 93 00:05:15,000 --> 00:05:20,000 Hindi namin nakita kung paano namin, ang programmer, maaari aktwal na ma-access ang q pa. 94 00:05:20,000 --> 00:05:23,000 Maaari naming ipagpalagay na alam ng Google kung ano ang gagawin na ito dito, 95 00:05:23,000 --> 00:05:25,000 ngunit namin doon sa angkop na panahon ngayon. 96 00:05:25,000 --> 00:05:30,000 >> Ngunit ipaalam sa akin kumuha ng hitsura sa halip sa search1.html, 97 00:05:30,000 --> 00:05:34,000 na kamukha ng kaunti ibang dahil ako ay nagpasya na ang form na ito dito sandali lang pilay. 98 00:05:34,000 --> 00:05:36,000 Ibig kong sabihin, sa kaliwang tuktok. 99 00:05:36,000 --> 00:05:40,000 Mayroon talagang walang aesthetics dito, at kaya gusto kong stylize ito 100 00:05:40,000 --> 00:05:43,000 ng kaunti pa tulad ng Google, na kung saan ang homepage, manariwa sa diwa, 101 00:05:43,000 --> 00:05:47,000 kahit na hindi ka maaaring bisitahin ang mga ito na madalas, ganito ang hitsura ngayon sa Halloween. 102 00:05:47,000 --> 00:05:53,000 Kung sa halip namin buksan bersyon 1 ng ang file na ito, paghahanap 1.html, ko ang gitna nito. 103 00:05:53,000 --> 00:05:57,000 Pa rin medyo pangit, ngunit hindi bababa sa ngayon ko na nagsimula upang kontrolin ang mga aesthetics ng pahinang ito, 104 00:05:57,000 --> 00:06:00,000 hindi lamang ang pagmamarka up nito. 105 00:06:00,000 --> 00:06:04,000 Natin tingnan sa paghahanap 1, at may talagang lamang ng isang pagkakaiba dito, 106 00:06:04,000 --> 00:06:06,000 na maaaring tumalon sa iyo, o maaaring hindi, 107 00:06:06,000 --> 00:06:11,000 ngunit kung ano ang isang linya o snippet ng pagkakaiba? 108 00:06:11,000 --> 00:06:14,000 >> May ito estilo attribute, kaya ito lumiliko out na sa HTML 109 00:06:14,000 --> 00:06:19,000 karamihan ng mga elemento, karamihan ng mga tag ay maaaring magkaroon ng isang estilo katangian sa kanila, 110 00:06:19,000 --> 00:06:23,000 at sa loob ng estilo na attribute ay isang naka-quote na string, 111 00:06:23,000 --> 00:06:26,000 at na naka-quote na string ang CSS. 112 00:06:26,000 --> 00:06:29,000 Maaari mong ilagay ang cascading style sheet doon 113 00:06:29,000 --> 00:06:32,000 sa pamamagitan ng pagtukoy sa mga ito bilang isang pangalan ng ari-arian 114 00:06:32,000 --> 00:06:34,000 sinundan sa pamamagitan ng isang tutuldok na sinusundan ng isang halaga. 115 00:06:34,000 --> 00:06:37,000 Ito ay uri ng isang kapus-palad na desisyon ng disenyo ilang taon na ang nakakaraan 116 00:06:37,000 --> 00:06:40,000 na CSS ay isang wika unto mismo, 117 00:06:40,000 --> 00:06:43,000 ngunit syntactically ito ay masyadong iba mula sa HTML. 118 00:06:43,000 --> 00:06:46,000 Sa kasong ito, nakita namin na sa loob ng aking mga webpage, na nakasulat sa HTML, 119 00:06:46,000 --> 00:06:51,000 Mayroon akong CSS sa loob ng mga quote, at ang convention para sa CSS 120 00:06:51,000 --> 00:06:55,000 na mayroon kang kung ano ang tinatawag na isang pag-aari na sinundan ng, muli, ng tutuldok, 121 00:06:55,000 --> 00:06:58,000 sinundan sa pamamagitan ng ang halaga ng ari-arian na, kaya walang katumbas sign. 122 00:06:58,000 --> 00:07:00,000 Walang karagdagang mga quote. 123 00:07:00,000 --> 00:07:03,000 Lang ito tutuldok na pinaghiwalay key pares ng halaga, 124 00:07:03,000 --> 00:07:05,000 at linya ng teksto ginagawa ng eksakto kung ano ang sinasabi nito. 125 00:07:05,000 --> 00:07:09,000 Ito aligns ang teksto sa katawan ng pahina, na talaga ang mga bayag ng pahina, 126 00:07:09,000 --> 00:07:11,000 sa gitna. 127 00:07:11,000 --> 00:07:13,000 >> Okay, ang resulta pagkatapos, na malinaw, ito. 128 00:07:13,000 --> 00:07:17,000 Hindi lahat ng na sexier, ngunit hindi bababa sa ito ay nakasentro at ng kaunti pa tulad ng sa totoong Google. 129 00:07:17,000 --> 00:07:21,000 Ngunit ano kung ako sa halip buksan ang bersyon 2 ng ito 130 00:07:21,000 --> 00:07:25,000 at ituro pababa dito ng bagong tag sa kabuuan? 131 00:07:25,000 --> 00:07:30,000 Ngayon sa head ng aking pahina, na dati lamang nagkaroon na tag 132 00:07:30,000 --> 00:07:32,000 sa lahat ng naunang mga halimbawa? 133 00:07:32,000 --> 00:07:34,000 Ito lamang ay may ito, ang pamagat. 134 00:07:34,000 --> 00:07:38,000 Isang sandali ang nakalipas sa head tag tumingin tulad nito. 135 00:07:38,000 --> 00:07:40,000 Ngayon sa halip ito ay isang estilo sa loob ng tag ng, 136 00:07:40,000 --> 00:07:44,000 at ito ay masyadong, humihingi ako ng paumanhin, syntactically mukhang ibang-iba mula sa HTML, 137 00:07:44,000 --> 00:07:47,000 ngunit masanay dito, kung saan sa loob ng tag ng estilo 138 00:07:47,000 --> 00:07:50,000 Maaari ko ngayon salik kung ano ng ilang sandali ang nakalipas 139 00:07:50,000 --> 00:07:54,000 isang katangian, ang estilo ng katangian, at ako ay maaaring ilagay ang mga ito sa pinakatuktok ng aking pahina. 140 00:07:54,000 --> 00:07:56,000 >> Bakit? 141 00:07:56,000 --> 00:08:00,000 Well, ito ay isang hakbang patungo sa paglilinis ng mga bagay hanggang, halos tulad sa pagsusulat ng C code 142 00:08:00,000 --> 00:08:04,000 namin minsan magsulat ng mga-andar upang salik ang mga karaniwang pag-andar. 143 00:08:04,000 --> 00:08:07,000 Ito ay isang maliit na cleaner upang simulan ang factoring ang mga bagay tulad ng aesthetics 144 00:08:07,000 --> 00:08:11,000 sa isang pangunahing lokasyon sa halip ng pagkakaroon nito lahat ng makalat sa buong iyong HTML. 145 00:08:11,000 --> 00:08:14,000 Ito masyadong ginagawa kung ano ang sinasabi nito, kahit na may isang bit ng mga bagong syntax. 146 00:08:14,000 --> 00:08:19,000 Ito dito ay isang tagapili, at katawan lang ang ibig sabihin nito ay piliin ang elemento ng katawan 147 00:08:19,000 --> 00:08:21,000 at ilapat ang mga sumusunod na mga katangian nito. 148 00:08:21,000 --> 00:08:23,000 Well, ari-arian ay eksaktong kapareho. 149 00:08:23,000 --> 00:08:25,000 Para sa magandang panukalang Nagdagdag ako ng semicolon sa dulo, 150 00:08:25,000 --> 00:08:29,000 na may kaugaliang convention, at balot ko ang buong ari-arian na ito 151 00:08:29,000 --> 00:08:33,000 sa kulot tirante dahil maaari kong aktwal magkaroon ng iba't ibang mga bagay dito. 152 00:08:33,000 --> 00:08:39,000 Maaaring aktwal ko sabihin ng isang bagay tulad ng kulay: asul; 153 00:08:39,000 --> 00:08:42,000 >> Ngayon ito ay hindi masyadong pagpunta sa isang hakbang patungo sa anumang lahat na prettier, 154 00:08:42,000 --> 00:08:47,000 ngunit kung ako ngayon bumalik sa bersyon 2 ko ang hindi bababa sa ngayon ang katawan ng aking 155 00:08:47,000 --> 00:08:49,000 teksto na pahina sa lahat ng asul. 156 00:08:49,000 --> 00:08:51,000 Ang pindutan ay nananatiling pareho dahil na isang input. Ito ay hindi purong teksto. 157 00:08:51,000 --> 00:08:56,000 Ngunit ang lahat ng iba pa na teksto, tulad ng CS50 Paghahanap up itaas, sa katunayan asul. 158 00:08:56,000 --> 00:09:01,000 Muli, ang lahat ng tapos kami na ngayon ay alisin mula sa tag ng katawan, paunawa, 159 00:09:01,000 --> 00:09:04,000 ang estilo na katangian, at kami nag isinasali ito dito. 160 00:09:04,000 --> 00:09:08,000 Ito ay hindi isang malaking pagpapabuti, ngunit kung namin ito isang hakbang karagdagang 161 00:09:08,000 --> 00:09:10,000 mapansin kung ano ang maaari naming gawin sa ikatlong bersyon dito. 162 00:09:10,000 --> 00:09:14,000 >> Sa search3.html webpage ay halos magkakahawig 163 00:09:14,000 --> 00:09:17,000 maliban para sa kung ano ngayon ang bagong tag? 164 00:09:17,000 --> 00:09:20,000 Link, kaya ito ay hindi masyadong aptly na may pangalang 165 00:09:20,000 --> 00:09:24,000 dahil hindi nagli-link ka sa kamalayan ng isang naki-click na hyperlink. 166 00:09:24,000 --> 00:09:28,000 Sa halip, ikaw ay uri ng ginagawa ang katumbas ng # include sa C 167 00:09:28,000 --> 00:09:31,000 kung saan ang link tag na may isang katangian ng href 168 00:09:31,000 --> 00:09:34,000 at rel attribute ay nagsasabing sige 169 00:09:34,000 --> 00:09:39,000 at ang kopya i-paste ang mga nilalaman ng isang file na tinatawag search3.css dito mismo, mahalagang. 170 00:09:39,000 --> 00:09:42,000 Mukhang hindi ito gawin iyon, ngunit na ang espiritu ng. 171 00:09:42,000 --> 00:09:45,000 Nagsasabing pumunta bukas na file, search3.css, 172 00:09:45,000 --> 00:09:49,000 at ituring ito na parang ang user ay nai-type ito dito mismo sa head ng pahina 173 00:09:49,000 --> 00:09:51,000 tulad na aking ginawa sa nakaraang halimbawa. 174 00:09:51,000 --> 00:09:54,000 Search3.css, samantala, ay medyo simple. 175 00:09:54,000 --> 00:09:58,000 Talagang lamang naglalaman ng eksakto kung ano ang isang sandali ang nakalipas 176 00:09:58,000 --> 00:10:03,000 sa estilo ng tag, ngunit nag ko isinasali ito dito sa sarili nitong file. 177 00:10:03,000 --> 00:10:07,000 >> Kahit na hindi namin na ginugol karaming oras sa lahat sa HTML o web programming 178 00:10:07,000 --> 00:10:11,000 lamang intuitively kung ano ang pagganyak, marahil, para sa factoring out 179 00:10:11,000 --> 00:10:14,000 ito maliit na snippet kahit ng CSS sa sarili nitong file 180 00:10:14,000 --> 00:10:19,000 at pagkatapos ay kabilang sa mga ito na may link ang tag na ito dito? 181 00:10:19,000 --> 00:10:21,000 [Hindi marinig na mag-aaral ng tugon] 182 00:10:21,000 --> 00:10:25,000 Okay, ito ay mas madaling basahin sa kamalayan na mayroon kang ang iyong CSS sa isang file ng CSS. 183 00:10:25,000 --> 00:10:28,000 Mayroon kang ang iyong HTML sa iyong HTML file, kaya mas nababasa sa na kahulugan. 184 00:10:28,000 --> 00:10:30,000 Ano pa ang maaaring Nakakamangha? Oo. 185 00:10:30,000 --> 00:10:32,000 [Hindi marinig na mag-aaral ng tugon] 186 00:10:32,000 --> 00:10:35,000 Oo, kaya maaari mong isama ito maraming beses, kaya ngayon kami ay ginagawa ang mga 187 00:10:35,000 --> 00:10:38,000 pangunahing halimbawa na may mga indibidwal na mga file, ngunit ipagpalagay aktwal na nagsasagawa ka ng 188 00:10:38,000 --> 00:10:42,000 isang tunay na website tulad ng sa iyo ay para sa pset 7 o ang iyong huling proyekto marahil, 189 00:10:42,000 --> 00:10:45,000 at gusto mong magkaroon ng maramihang mga webpage, tulad ng tiyak na karaniwang sa 190 00:10:45,000 --> 00:10:48,000 ang aktwal na World Wide Web, at ito ay ang uri ng pilay 191 00:10:48,000 --> 00:10:52,000 upang kopyahin at i-paste ang parehong kulay bughaw 192 00:10:52,000 --> 00:10:56,000 at ang parehong teksto na nakahanay sentro sa bawat isa sa mga pahinang iyon. 193 00:10:56,000 --> 00:10:59,000 Sa halip ito ay ginagawang higit pang kahulugan sa salik ang, halos tulad kami na ginawa sa C 194 00:10:59,000 --> 00:11:02,000 sa mga file na. h, ilagay ang mga ito sa isang gitnang lugar, 195 00:11:02,000 --> 00:11:06,000 sa kasong ito search3.css, at pagkatapos ay payagan ang anumang file 196 00:11:06,000 --> 00:11:11,000 sa iyong website upang isama ang aktwal na file sa pamamagitan ng tag na ito sa dito sa linya 16. 197 00:11:11,000 --> 00:11:14,000 Bilang ay karaniwang ang kaso, nagsimula kaming may bersyong 0, kung aling uri ng mga gawa 198 00:11:14,000 --> 00:11:18,000 ngunit hindi kinakailangan ang pinakamahusay na, at sa bawat hakbang, 199 00:11:18,000 --> 00:11:21,000 paghahanap 1, paghahanap 2, at ngayon sa paghahanap 3 nagsagawa kami ng mga hakbang na sanggol 200 00:11:21,000 --> 00:11:26,000 patungo sa mga disenyo na isang maliit na mas malinis at mas paghahanda 201 00:11:26,000 --> 00:11:30,000 para sa mga mas kumplikadong mga pahina na maaari naming gawin kalsada. 202 00:11:30,000 --> 00:11:33,000 >> Hayaan akong buksan up ng isang huling halimbawa dito lamang upang ipakita 203 00:11:33,000 --> 00:11:36,000 isang mas inilarawan sa pangkinaugalian pahina, ngunit unang tingnan natin sa HTML. 204 00:11:36,000 --> 00:11:41,000 Ito ay ng search4.html, at mapansin na structurally ito ay halos ang parehong 205 00:11:41,000 --> 00:11:44,000 maliban para sa pagpapakilala ng bagong tag, div. 206 00:11:44,000 --> 00:11:48,000 Div ay isang tag na introduces isang sangay ng pahina. 207 00:11:48,000 --> 00:11:51,000 Maaari mong isipin na ito bilang isang invisible na parihaba. 208 00:11:51,000 --> 00:11:54,000 Ito uri ng lumilikha ng isang swath ng lugar sa webpage 209 00:11:54,000 --> 00:11:56,000 na maaari mong stylize nang sabay-sabay. 210 00:11:56,000 --> 00:11:58,000 Ano ang nagawa ko na dito ay ang mga sumusunod. 211 00:11:58,000 --> 00:12:01,000 Sa loob ng aking katawan tag, na kung saan ay doon lahat kasama, 212 00:12:01,000 --> 00:12:05,000 Ako sinasabi na lumikha ng isang sangay ng pahina dito sa pamamagitan ng linya 45 sa pamamagitan ng 47, 213 00:12:05,000 --> 00:12:09,000 at nangangahulugan iyon na mahalagang ninyo ako ng isang invisible na parihaba sa tuktok ng pahina. 214 00:12:09,000 --> 00:12:14,000 Pagkatapos akong bigyan ng pangalawang parihaba, kahit na hindi nakikita, sa ibaba na, 215 00:12:14,000 --> 00:12:16,000 at kilalanin ang mga ito sa pamamagitan ng pangalan ng nilalaman, at pagkatapos ay sa wakas, 216 00:12:16,000 --> 00:12:19,000 bigyan ako ng third division ng pahina sa ibaba 217 00:12:19,000 --> 00:12:21,000 tinatawag na ID. 218 00:12:21,000 --> 00:12:23,000 Susubukan naming makita kung bakit nagawa ko na ito sa sandali lamang, 219 00:12:23,000 --> 00:12:26,000 ngunit conceptually Mayroon akong isang header division. 220 00:12:26,000 --> 00:12:30,000 Mayroon akong isang dibisyon ng nilalaman, at mayroon akong isang footer division ng pahina 221 00:12:30,000 --> 00:12:32,000 kahit na ito ay lamang sa markup. 222 00:12:32,000 --> 00:12:35,000 Ang user ay hindi pagpunta upang makita ang 3 parihaba, 223 00:12:35,000 --> 00:12:37,000 ngunit uri ng structurally doon sa likod ng mga eksena 224 00:12:37,000 --> 00:12:39,000 hindi sila aktwal na kasalukuyan. 225 00:12:39,000 --> 00:12:41,000 >> Ngayon, na nagmamalasakit? Bakit aktwal na gawin ito? 226 00:12:41,000 --> 00:12:43,000 Katulad ng nasaksihan namin bago ang lahat ng iba pa sa pahina. 227 00:12:43,000 --> 00:12:47,000 Narito ang aking anyo. Narito ang aking input, ang aking input, isang line break at iba pa. 228 00:12:47,000 --> 00:12:50,000 Narito ang isang imahe, bagaman, kaya ipapakita namin makita kung saan ito ay dumating mula sa sandali lamang. 229 00:12:50,000 --> 00:12:52,000 Narito ang isang footer, na bagong, dahil lamang Nais kong upang ipakilala 230 00:12:52,000 --> 00:12:54,000 ilang higit pang nilalaman dito. 231 00:12:54,000 --> 00:12:58,000 Kung mag-scroll up namin mapapansin na ang ID ng div na ito ay header. 232 00:12:58,000 --> 00:13:02,000 Ang ID ng div na ito ay nilalaman, at ang ID ng isang ito ay footer. 233 00:13:02,000 --> 00:13:05,000 At ng pangalan ay nagmumungkahi, kapag mayroon kang isang ID ng katangian 234 00:13:05,000 --> 00:13:09,000 sa HTML, sa pamamagitan ng kahulugan dapat itong makilala 235 00:13:09,000 --> 00:13:12,000 isa ng ang mga elemento, isa ng ang mga tag sa iyong pahina. 236 00:13:12,000 --> 00:13:16,000 Pasanin ay lubos sa iyo tandaan na mayroon kang isang header ID na. 237 00:13:16,000 --> 00:13:19,000 Mayroon ka ng isang footer. Mayroon kang ID ng nilalaman na. 238 00:13:19,000 --> 00:13:22,000 Ang computer ay hindi pagpunta upang malaman kung ano ang isang magagamit na ID para sa iyo, 239 00:13:22,000 --> 00:13:27,000 kaya maaaring hindi mo sinasadyang bigyan 2 tag isang ID ng header, 240 00:13:27,000 --> 00:13:29,000 at na nais lamang mali. 241 00:13:29,000 --> 00:13:31,000 >> Mayroon kang na dapat tandaan kung ano ang iyong nilikha, 242 00:13:31,000 --> 00:13:34,000 ngunit sa sandaling nagawa mo na ang paunawa kung ano ang maaari naming gawin dito. 243 00:13:34,000 --> 00:13:38,000 Ko na ngayong tukuyin sa aking tag ng estilo sa tuktok 244 00:13:38,000 --> 00:13:41,000 o equivalently sa aking CSS file, kung pa rin ako gamit ang bersyon na iyon, 245 00:13:41,000 --> 00:13:46,000 Maaari kong sabihin # header, at kung ano ang nangangahulugan iyon ay na kung ano ang tag 246 00:13:46,000 --> 00:13:49,000 sa webpage na ito ay may ID ng header 247 00:13:49,000 --> 00:13:53,000 at ang #, sa pamamagitan ng tao na convention, kumakatawan ID. 248 00:13:53,000 --> 00:13:56,000 Ang matalim sign o pound sign kumakatawan ID. 249 00:13:56,000 --> 00:13:58,000 Header ay ang pangalan na ibinigay ko ito. 250 00:13:58,000 --> 00:14:01,000 Ang ibig sabihin nito ay ilapat ito ari-arian ng CSS 251 00:14:01,000 --> 00:14:04,000 sa anumang tag sa pahinang ito bear isang ID ng header. 252 00:14:04,000 --> 00:14:06,000 Parehong deal dito. 253 00:14:06,000 --> 00:14:09,000 Ilapat ang property na ito, na ang mangyayari sa parehong, sa anumang elemento 254 00:14:09,000 --> 00:14:11,000 na ang ID ay nilalaman, at pagkatapos ay down na dito 255 00:14:11,000 --> 00:14:14,000 mapansin Nakatanggap ako ng kaunti may interes may footer. 256 00:14:14,000 --> 00:14:18,000 Anumang elemento na ang ID ay footer, na kung saan maaaring maging isa lamang sa pamamagitan ng kahulugan, 257 00:14:18,000 --> 00:14:21,000 sige at ang laki ng font nito mas maliit, 258 00:14:21,000 --> 00:14:24,000 nito font timbang bold, nito margin 20 pixels. 259 00:14:24,000 --> 00:14:26,000 >> Ano ang na ibig sabihin nito? 260 00:14:26,000 --> 00:14:28,000 Lang ng margin sa sa itaas, sa ibaba, at sa kaliwa at kanan. 261 00:14:28,000 --> 00:14:31,000 Ang ibig sabihin nito ay ninyo ako ng 20-pixel invisible margin sa paligid nito 262 00:14:31,000 --> 00:14:35,000 lamang itulak ang lahat ng iba pa ang layo mula dito nang kaunti, tulad ng maaari mong gawin sa Salita, 263 00:14:35,000 --> 00:14:37,000 Microsoft Word o Mga Pahina o tulad ng. 264 00:14:37,000 --> 00:14:39,000 At pagkatapos teksto ihanay center. 265 00:14:39,000 --> 00:14:43,000 Natin makita ang mga resulta ng pagtatapos, at pagkatapos ay magpapadala kami bumalik sa isang natitirang snippet ng CSS doon. 266 00:14:43,000 --> 00:14:48,000 Ito ay bersyon 4, ang aming huling para sa mga halimbawa ng paghahanap, at kung magkano, magkano sexier. 267 00:14:48,000 --> 00:14:54,000 Ngayon, sa pagkamakatarungan, ko lang Googled "google logo generator font." 268 00:14:54,000 --> 00:14:58,000 At na pinapayagan sa akin upang lumikha ng isang GIF, isang format ng imahe, na kamukha na may. 269 00:14:58,000 --> 00:15:00,000 Sa katunayan, maaari mong gawin ito masyadong. 270 00:15:00,000 --> 00:15:03,000 Mayroon kaming "google logo generator font." 271 00:15:03,000 --> 00:15:05,000 >> Natin makita kung ang maaari naming gawin ito. 272 00:15:05,000 --> 00:15:07,000 Okay, sa tingin ko ito ay ang website na ginamit ko. 273 00:15:07,000 --> 00:15:11,000 Maaari naming sabihin EC 10, halimbawa, at gumawa ng mga ito sa kanilang sariling. 274 00:15:11,000 --> 00:15:13,000 Maaari mong i-play na ito buong araw ang haba at pagkatapos ay i-right click dito 275 00:15:13,000 --> 00:15:16,000 at pagkatapos ay i-download ang aktwal na GIF, na sa lahat na aking ginawa. 276 00:15:16,000 --> 00:15:19,000 At sa katunayan, na ang dahilan kung bakit sa aking HTML, isipin ang, sa paglipas dito 277 00:15:19,000 --> 00:15:22,000 Ko ay may isang imahe tag, na kung saan nakita namin maikling noong nakaraang linggo 278 00:15:22,000 --> 00:15:24,000 na pinagmulan ay logo.gif. 279 00:15:24,000 --> 00:15:28,000 At kung ano muli ang pagganyak para sa pagkakaroon ng alt attribute na ito, 280 00:15:28,000 --> 00:15:31,000 ito alternatibong attribute? 281 00:15:31,000 --> 00:15:33,000 Oo. 282 00:15:33,000 --> 00:15:35,000 [Hindi marinig na mag-aaral ng tugon] 283 00:15:35,000 --> 00:15:37,000 Mabuti, kaya 2 dahilan talaga, kung ang browser ay hindi maaaring hilahin ang imahe 284 00:15:37,000 --> 00:15:40,000 dahil mayroon kang isang mabagal na koneksyon sa network o Nasira ang imahe ay 285 00:15:40,000 --> 00:15:44,000 o isang bagay tulad na hindi bababa sa tao ang maaaring makakita ng "CS50 paghahanap," 286 00:15:44,000 --> 00:15:46,000 at pagkatapos din para sa accessibility dahilan. 287 00:15:46,000 --> 00:15:48,000 Kung mayroon ka ng isang user na bulag at ay gumagamit ng screen reader 288 00:15:48,000 --> 00:15:50,000 at samakatuwid ay malinaw naman ay hindi maaaring makita ang mga imahe na maaari nila ng hindi bababa sa 289 00:15:50,000 --> 00:15:52,000 marinig ang teksto kung ang kanilang mga computer na nagsasalita sa kanila. 290 00:15:52,000 --> 00:15:56,000 >> Sa pangkalahatan, ito ay pinakamahusay na pagsasanay pagdating sa accessibility ng mga pahina 291 00:15:56,000 --> 00:16:00,000 sa gayon ay kahit na gumagamit sa sitwasyon na marinig o tingnan, kaya na magsalita, 292 00:16:00,000 --> 00:16:03,000 kung ano ang ito ay na sa iyong pahina. 293 00:16:03,000 --> 00:16:05,000 May isa pang bagay na ginawa ko dito 294 00:16:05,000 --> 00:16:09,000 na ng kaunti kawili-wili, at makikita namin makita ang higit pa tungkol dito sa problema na magtakda ng 7 295 00:16:09,000 --> 00:16:12,000 sa pamamagitan ng isa ng shorts na pinangunahan ng isa sa mga Fellows pagtuturo. 296 00:16:12,000 --> 00:16:15,000 Subalit # nilalaman ay tumutukoy sa ang tag 297 00:16:15,000 --> 00:16:20,000 na ID ng nilalaman, ngunit pagkatapos ay mayroong isang puwang ng character, at pagkatapos ay may input ang salitang. 298 00:16:20,000 --> 00:16:25,000 Well, kung ano ang kawili-wiling tungkol sa CSS na maaari mong 299 00:16:25,000 --> 00:16:29,000 sumangguni sa mga tag sa isang pahina ng uri ng hierarchically, 300 00:16:29,000 --> 00:16:33,000 at kung ano ang snippet ng CSS ay nangangahulugan hanapin ang tag 301 00:16:33,000 --> 00:16:37,000 na ID ng nilalaman, at pagkatapos ay ilapat ang mga sumusunod na mga katangian ng 302 00:16:37,000 --> 00:16:42,000 sa lahat ng ang mga tag ng input na descendents ng nilalaman, 303 00:16:42,000 --> 00:16:44,000 iyon na naka-indent sa loob nito. 304 00:16:44,000 --> 00:16:48,000 Indentation, muli, ay mahalaga lamang sa computer, hindi sa tao, 305 00:16:48,000 --> 00:16:51,000 ngunit sa pamamagitan ng convention indent ng namin ang mga bagay bilang pumunta kami ng mas malalim sa isang pahina, 306 00:16:51,000 --> 00:16:54,000 kaya ang ibig sabihin nito ay ilapat ang isang margin ng 5 pixel sa anumang elemento ng input 307 00:16:54,000 --> 00:16:57,000 na ang isang lugar sa loob ng o nested sa loob ng 308 00:16:57,000 --> 00:16:59,000  ang elemento na ang ID ay nilalaman. 309 00:16:59,000 --> 00:17:01,000 >> Sino ang na nalalapat sa? 310 00:17:01,000 --> 00:17:03,000 Well, may aktwal na lamang ang 2 guys dito. 311 00:17:03,000 --> 00:17:05,000 Pansinin na sa loob ng form may 2 input, 312 00:17:05,000 --> 00:17:07,000 bilang mayroong para sa lahat ng mga halimbawa. 313 00:17:07,000 --> 00:17:11,000 Ngunit paunawa na mga 2 input mangyayari sa nested sa loob, 314 00:17:11,000 --> 00:17:13,000 kahit na isang maliit na malalim, ng ilang mga layer ng indentation, 315 00:17:13,000 --> 00:17:16,000 sa loob ng tag na ang ID ay nilalaman. 316 00:17:16,000 --> 00:17:18,000 Ano ang ibig sabihin nito? 317 00:17:18,000 --> 00:17:21,000 Kung pumunta kami sa browser dito maaari mong makita ang napaka bahagyang- 318 00:17:21,000 --> 00:17:23,000 hayaan mo akong mag-zoom in-na doon ay isang bit ng padding sa pagitan ng pindutan 319 00:17:23,000 --> 00:17:25,000 at sa pagitan ng mga patlang ng teksto. 320 00:17:25,000 --> 00:17:27,000 >> Hayaan akong pansamantalang i na off. 321 00:17:27,000 --> 00:17:30,000 Hayaan akong pumunta hanggang sa aking CSS, at ipaalam sa akin sige at 322 00:17:30,000 --> 00:17:34,000 baguhin ang margin mula sa 5 pixel 0 pixels. 323 00:17:34,000 --> 00:17:37,000 Ipaalam sa akin magpatuloy pagkatapos at i-save ang file, pumunta pabalik sa search engine 324 00:17:37,000 --> 00:17:40,000 at i-reload, at panoorin ang gitna ng pahina. 325 00:17:40,000 --> 00:17:43,000 Lahat Nakakuha naka-compress na sama-sama, at kapag ako ay nag-unang whipped halimbawang ito 326 00:17:43,000 --> 00:17:46,000 Naisip ko na mukhang bobo sa patlang ng teksto at pagkatapos ay ang pindutan agad sa ibaba nito. 327 00:17:46,000 --> 00:17:50,000 Nais kong sa pad ng kaunti, kaya ipinakilala ko margin. 328 00:17:50,000 --> 00:17:55,000 Ano ang hindi namin gawin sa panayam ay pumunta sa pamamagitan ng ilang dosena 329 00:17:55,000 --> 00:17:58,000 CSS mga katangian na umiiral dahil, muli, may mga bagay na tulad ng laki ng font, 330 00:17:58,000 --> 00:18:02,000 bigat ng font, margin, teksto ihanay, at ilang dosenang iba, 331 00:18:02,000 --> 00:18:06,000 at kami na sumangguni ka sa problema ang 7 sa iba't-ibang mga tutorial online 332 00:18:06,000 --> 00:18:08,000 at mga reference na nagbibigay-daan sa iyo upang pumili ng mga bagay na ito. 333 00:18:08,000 --> 00:18:10,000 Ngunit ano ang talagang mahalaga sa pagtatapos ng araw 334 00:18:10,000 --> 00:18:12,000 >> ay upang maunawaan kung paano ang mga bagay na ito ay inilapat. 335 00:18:12,000 --> 00:18:15,000 Muli, kung kami ay may sa loob ng estilo tag ng 336 00:18:15,000 --> 00:18:19,000 maaaring pumunta ang tagapili, ang uri ng mga kumikilala sa na tumutukoy 337 00:18:19,000 --> 00:18:21,000 sa kanino ang gusto mong ilapat ang mga pag-aari, 338 00:18:21,000 --> 00:18:24,000 at pagkatapos ay inilagay mo ang mga katangian bilang key halaga pares 339 00:18:24,000 --> 00:18:28,000 na pinaghiwalay ng isang tutuldok at pagkatapos ay natapos na may semicolon, 340 00:18:28,000 --> 00:18:32,000 o maaari mong punitin ang lahat ng na out at ilagay ang mga ito sa isang hiwalay na CSS file 341 00:18:32,000 --> 00:18:35,000 unto mismo. 342 00:18:35,000 --> 00:18:39,000 Lahat ng karapatan, anumang mga katanungan sa konsepto 343 00:18:39,000 --> 00:18:41,000 o ang malaking larawan ng CSS? 344 00:18:41,000 --> 00:18:43,000 Ka na muling makita ang higit pa ito sa pset 7, 345 00:18:43,000 --> 00:18:47,000 ngunit itinatago namin ito pangkalahatan ay medyo simple. 346 00:18:47,000 --> 00:18:49,000 Hindi? Ayos lang. 347 00:18:49,000 --> 00:18:51,000 Ito ay oras para sa isang aktwal na wika ng programming, 348 00:18:51,000 --> 00:18:54,000 at kami na bumalik sa isang kaunti ng CSS sa form ng isang halimbawa. 349 00:18:54,000 --> 00:18:58,000 PHP ay talagang isang kamangha-mangha na naa-access na wika 350 00:18:58,000 --> 00:19:02,000 na ito ay syntactically halos katumbas C. 351 00:19:02,000 --> 00:19:06,000 Sa ibang salita, kung alam mo ang C, alam mo para sa pinaka-bahagi PHP, 352 00:19:06,000 --> 00:19:08,000 hindi bababa sa syntactically, kahit na may ilang mga bagong tampok 353 00:19:08,000 --> 00:19:10,000 at ilang mga bagong konsepto na makikita namin upang tumingin sa. 354 00:19:10,000 --> 00:19:13,000 >> Ngunit para sa pinaka-bahagi, ngayon na namin ang paglipat mula sa C sa PHP 355 00:19:13,000 --> 00:19:16,000 karamihan ng bagong bagay-bagay talaga sa malaking larawan, 356 00:19:16,000 --> 00:19:19,000 kung paano mo ginagamit ang isang wika sa programa sa Web kumpara sa 357 00:19:19,000 --> 00:19:23,000 sa command line o sa isang kumikislap prompt bilang namin ang paggawa sa gayon ay malayo. 358 00:19:23,000 --> 00:19:27,000 Para sa sanggunian, lalo na pset 7 at ang panghuling proyekto pasulong, 359 00:19:27,000 --> 00:19:31,000 huwag samantalahin ng ang URL na ito dito kung nais mong upang basahin sa formalities ng PHP. 360 00:19:31,000 --> 00:19:34,000 Aktwal na ito ng isang libreng online na aklat-aralin epektibo, 361 00:19:34,000 --> 00:19:37,000 at makikita mo rin makita na kung ano ang talagang magaling tungkol sa PHP 362 00:19:37,000 --> 00:19:41,000 na may mga daan-daang mga function na ay may ito, 363 00:19:41,000 --> 00:19:44,000 samantalang sa C hindi mo kinakailangang magkaroon ng access sa 364 00:19:44,000 --> 00:19:47,000 higit pang mga function kaysa sa library ng matematika, CS50 library. 365 00:19:47,000 --> 00:19:51,000 Sa PHP at ng maraming modernong mga wika, Python at Ruby kasama ng mga ito, 366 00:19:51,000 --> 00:19:54,000 makakakuha ka ng access sa mga kaya maraming iba pang mga pag-andar, na nangangahulugan na sa iyo na magsulat 367 00:19:54,000 --> 00:19:57,000 ng maraming mas code dahil maaari mong tumayo sa balikat ng ibang tao 368 00:19:57,000 --> 00:19:59,000 na na nakasulat na ang ilang mga bagay para sa iyo. 369 00:19:59,000 --> 00:20:03,000 >> Natin gumawa ng isang mabilis na tour ng syntax ng PHP at pagkatapos ay magsulat ng ilang mga halimbawa. 370 00:20:03,000 --> 00:20:06,000 Ano ang magaling tungkol sa PHP unang at pinakamagaling 371 00:20:06,000 --> 00:20:08,000 ay hindi pangunahing function na. 372 00:20:08,000 --> 00:20:10,000 Kung nais mong magsulat ng isang programa sa PHP mo lamang simulan ang pagsusulat ng code, 373 00:20:10,000 --> 00:20:12,000 at hindi mo na kailangang mag-alala tungkol sa pangunahing. 374 00:20:12,000 --> 00:20:14,000 Mayroong ang walang int. Mayroong ang walang return. 375 00:20:14,000 --> 00:20:17,000 Walang argv, argc na kinakailangan kapag sumulat sa programa. 376 00:20:17,000 --> 00:20:20,000 Sa halip maaari mo lamang simulan ang pagsusulat ng code, at ito ay bahagi 377 00:20:20,000 --> 00:20:23,000 dahil ang PHP ay kung ano ang tinatawag na isang kahulugan wika. 378 00:20:23,000 --> 00:20:26,000 C ay pinagsama-sama, at ito ay pinagsama-sama sa kamalayan na simulan mo 379 00:20:26,000 --> 00:20:29,000 may source code, patakbuhin ang mga ito sa pamamagitan ng kumalatong, na kung saan ay isang tagatala, 380 00:20:29,000 --> 00:20:33,000 at kalaunan makalipas ang ilang bilang ng mga hakbang na makakakuha ka ng code ng bagay, 0s at 1s. 381 00:20:33,000 --> 00:20:36,000 PHP at Python at Ruby at Pearl at iba 382 00:20:36,000 --> 00:20:39,000 mga iba't ibang mga uri ng mga wika na hindi mo ipunin ang mga ito. 383 00:20:39,000 --> 00:20:42,000 Hindi ka pumunta mula sa source code sa 0s at 1s. 384 00:20:42,000 --> 00:20:45,000 Mo lang patakbuhin ang source code, at patakbuhin mo ang source code 385 00:20:45,000 --> 00:20:49,000 sa pamamagitan ng pagsulat sa isang karaniwang file ng teksto, na nagtatapos sa. php sa kasong ito 386 00:20:49,000 --> 00:20:53,000 sa halip na. c, at kung anong programa ang ginagawa sa iyong computer 387 00:20:53,000 --> 00:20:57,000 ito literal na kahulugan ng iyong code sa linya sa pamamagitan ng linya sa pamamagitan ng linya. 388 00:20:57,000 --> 00:21:00,000 >> Sa ibang salita, sa halip na magsulat ng isang programa at patakbuhin ang programa 389 00:21:00,000 --> 00:21:04,000 direkta sa halip ay magsulat ng isang programa na may isang file na nagtatapos sa. php. 390 00:21:04,000 --> 00:21:09,000 Pagkatapos mong patakbuhin ang isang aktwal na programa na tinatawag na php.exe, kung ikaw ay sa Windows, 391 00:21:09,000 --> 00:21:12,000 o PHP kung ikaw ay sa Mac OS o Linux, 392 00:21:12,000 --> 00:21:17,000 at magbigay sa iyo bilang input sa PHP programa ang iyong sariling source code, 393 00:21:17,000 --> 00:21:20,000 at ang mga layunin sa buhay ay upang basahin ang iyong code itaas hanggang sa ibaba, kaliwa papuntang kanan, 394 00:21:20,000 --> 00:21:23,000 at anumang mo na sinabi ito upang gawin. 395 00:21:23,000 --> 00:21:25,000 >> Natin makita kung ano ito ay pagpunta sa ibig sabihin syntactically. 396 00:21:25,000 --> 00:21:27,000 Sa PHP mayroon kami ng mga kondisyon. 397 00:21:27,000 --> 00:21:29,000 Slide na ito ay kapareho ng sa kung ano ang nakita mo sa linggo 1 398 00:21:29,000 --> 00:21:33,000 dahil syntactically kundisyon, ifs at iba pa ifs at ibang tao sa PHP 399 00:21:33,000 --> 00:21:35,000 tumingin eksakto tulad nito. 400 00:21:35,000 --> 00:21:38,000 Pagdating sa boolean expression sila ay pagpunta upang tumingin nang eksakto tulad nito. 401 00:21:38,000 --> 00:21:43,000 Pagdating sa anding mga bagay na sama-sama bilang booleans ito upang tumingin nang eksakto tulad nito. 402 00:21:43,000 --> 00:21:46,000 Lilipat tumingin sa parehong, at makuha mo ang mga idinagdag na pakinabang sa PHP 403 00:21:46,000 --> 00:21:51,000 na switch sa C ay maaari lamang lumipat sa isang pansamantalang trabaho o sa isang int. 404 00:21:51,000 --> 00:21:53,000 Hindi ka maaaring lumipat sa isang halaga ng string. 405 00:21:53,000 --> 00:21:55,000 Sa PHP aktwal mong magkaroon ng isang expression 406 00:21:55,000 --> 00:21:58,000 na ay isang variable na ang mga nilalaman ay isang string, 407 00:21:58,000 --> 00:22:01,000 at maaari mong aktwal na gawin ang string paghahambing sa tunay intuitive na paraan, 408 00:22:01,000 --> 00:22:06,000 hindi pointer paghahambing, upang magpasya kung gawin kaso i o j o iba pa. 409 00:22:06,000 --> 00:22:09,000 Susubukan naming makita na potensyal na bago mahaba. 410 00:22:09,000 --> 00:22:11,000 >> Loop masyadong kamangha-mangha ay ang parehong. 411 00:22:11,000 --> 00:22:15,000 Para sa loop ay isang Pinasimulan, kundisyon, at ilang bilang ng mga update. 412 00:22:15,000 --> 00:22:18,000 Habang loop din umiiral sa PHP. 413 00:22:18,000 --> 00:22:21,000 Gawin habang loop ring umiiral sa PHP, 414 00:22:21,000 --> 00:22:26,000 at array umiiral sa PHP, ngunit narito ang kung saan ang syntax ang nagsimulang upang makakuha ng kaunti ibang, 415 00:22:26,000 --> 00:22:29,000 ngunit ang konsepto ay pareho, at ang mga konsepto ay talagang ang parehong 416 00:22:29,000 --> 00:22:32,000 bilang sila ay sa Linggo 0 na may scratch. 417 00:22:32,000 --> 00:22:34,000 Una sa lahat ay ang $ sign. 418 00:22:34,000 --> 00:22:37,000 Ito ay isang disenyo na desisyon sa PHP kung saan anumang variable 419 00:22:37,000 --> 00:22:41,000 sa PHP sa pamamagitan ng disenyo ay nagsisimula sa $ sign. 420 00:22:41,000 --> 00:22:46,000 Walang higit pa X, Y, Z. ngayong $ X, $ Y, $ Z dahil lang. 421 00:22:46,000 --> 00:22:49,000 Ito ay isang bagay na dapat tandaan, at ngayon sa kanang bahagi 422 00:22:49,000 --> 00:22:52,000 ito ay mukhang katulad sa isang array, 423 00:22:52,000 --> 00:22:54,000 ngunit hindi namin ang paggamit ng mga square bracket dito. 424 00:22:54,000 --> 00:22:57,000 Sa PHP at sa JavaScript, bilang namin ay makakita, 425 00:22:57,000 --> 00:23:01,000 idedeklara ng isang array gagawin mo bukas square bracket at sarado square bracket, 426 00:23:01,000 --> 00:23:04,000 at pagkatapos ay mayroon kang isang comma separated na listahan ng mga halaga, kung ang mga ints 427 00:23:04,000 --> 00:23:09,000 o string o char, anumang nais mo, sa loob ng na expression doon. 428 00:23:09,000 --> 00:23:11,000 >> Ngayon, paano ginawa namin ang isang bagay tulad nito sa C? 429 00:23:11,000 --> 00:23:16,000 Ano ang syntax para sa statically deklarasyon ng isang array ng mga kilalang numero? 430 00:23:16,000 --> 00:23:19,000 Ito ay kulot tirante, kaya menor de edad pagkakaiba dito, ngunit sa parehong PHP 431 00:23:19,000 --> 00:23:22,000 at kalaunan JavaScript ito ay gumagamit ng mga square bracket, kaya talagang 432 00:23:22,000 --> 00:23:25,000 ang tanging kawili-wiling mga detalye dito ang $ mag-sign para sa mga pangalan ng variable 433 00:23:25,000 --> 00:23:28,000 at ang mga square bracket, at may isang hindi pangkaraniwang bagay 434 00:23:28,000 --> 00:23:32,000 na tinanggal pati na rin sa kaliwang bahagi ng sign =. 435 00:23:32,000 --> 00:23:36,000 Ano kulang na kami ay nangangailangan para sa mga linggo na ngayon? Oo. 436 00:23:36,000 --> 00:23:38,000 [Hindi marinig na mag-aaral ng tugon] 437 00:23:38,000 --> 00:23:41,000 Ang laki, kaya walang pagbanggit ng laki ng array. 438 00:23:41,000 --> 00:23:45,000 Lantaran, walang pagbanggit ng mga square bracket sa kaliwang bahagi 439 00:23:45,000 --> 00:23:47,000 ng = sign, at kung ano ang tao ay nawawala mula sa linya? 440 00:23:47,000 --> 00:23:49,000 Oo. >> [Hindi marinig na mag-aaral tugon] 441 00:23:49,000 --> 00:23:52,000 Uri, kaya kung ano ang kawili-wili sa mga partikular na tungkol sa PHP 442 00:23:52,000 --> 00:23:56,000 ay na ito ay hindi Mahigpit na-type na wika bilang C ay, 443 00:23:56,000 --> 00:23:58,000 at na Matindi ang nai-type sa kamalayan na dapat mong sabihin magpasinda, 444 00:23:58,000 --> 00:24:00,000 dapat mong sabihin int, dapat mong sabihin Float. 445 00:24:00,000 --> 00:24:03,000 >> Anumang oras na gusto mo sa isang variable na mayroon kang sabihin sa kumalatong kung ano ang uri nito ay. 446 00:24:03,000 --> 00:24:05,000 PHP ay isang maliit na lazier. 447 00:24:05,000 --> 00:24:08,000 Maluwag ito type sa kamalayan na 448 00:24:08,000 --> 00:24:11,000 maaari kang magkaroon ng mga kamay at char at mga string 449 00:24:11,000 --> 00:24:14,000 at mga ints at iba pa, ngunit ang wika mismo 450 00:24:14,000 --> 00:24:17,000 ay hindi talagang pakialam kung ano ang inilagay mo sa loob ng isang variable. 451 00:24:17,000 --> 00:24:20,000 Hindi ka upang ipagbigay-alam ito nang maaga kung anong uri ng data 452 00:24:20,000 --> 00:24:22,000 pagpunta sa isang variable. 453 00:24:22,000 --> 00:24:24,000 Ito ay ganap na nakasalalay sa iyo, kaya ito ay magaling 454 00:24:24,000 --> 00:24:27,000 na hindi mo na kailangang mag-alala ng mas maraming tungkol sa data ng pag-type 455 00:24:27,000 --> 00:24:29,000 at nag-aalala kung ano ang iyong mga argumento at iba pa. 456 00:24:29,000 --> 00:24:32,000 Nangangahulugan din kalaunan ang mga function sa PHP upang bumalik 457 00:24:32,000 --> 00:24:36,000 alinman sa isang int karamihan ng oras, at maaaring sabay-sabay sa isang sandali 458 00:24:36,000 --> 00:24:40,000 makikita nila bumalik ng bool, isang boolean false, halimbawa, upang magpahiwatig ng isang bagay na nangyaring mali. 459 00:24:40,000 --> 00:24:44,000 Ito ay nagbibigay sa amin ilang mga upsides, ngunit ito rin ay amin uri ng sa pamamagitan ng disenyo 460 00:24:44,000 --> 00:24:47,000 Medyo lazier pagdating sa data ng pagta-type. 461 00:24:47,000 --> 00:24:50,000 >> Ano pa doon na dapat tandaan dito? 462 00:24:50,000 --> 00:24:54,000 Variable tumingin medyo bang ito, kaya $ s = "hoy, mundo." 463 00:24:54,000 --> 00:24:57,000 Iyon ay marahil inferable mula sa nakaraang halimbawa, 464 00:24:57,000 --> 00:24:59,000 at kami ay may isa pang uri ng loop. 465 00:24:59,000 --> 00:25:02,000 Ang isang ito gagamitin namin aktwal na makita ang isang beses sa isang habang dahil ito ay medyo madaling gamiting, 466 00:25:02,000 --> 00:25:04,000 isang foreach bumuo. 467 00:25:04,000 --> 00:25:11,000 Sa kasong ito, ang foreach loop tumatagal sa loob ng mga panaklong 3 salita karaniwang, 468 00:25:11,000 --> 00:25:16,000 $ Isang bagay unang, na kung ano ang array ang gusto mong umulit sa ibabaw ng mga kasapi ng, 469 00:25:16,000 --> 00:25:19,000 literal ang keyword bilang, at pagkatapos ay sa wakas, 470 00:25:19,000 --> 00:25:21,000 isa pang pangalan ng variable na makakakuha ka upang pumili. 471 00:25:21,000 --> 00:25:23,000 Maaari itong foo, bar, o elemento, 472 00:25:23,000 --> 00:25:26,000 at kung ano bumuo ng mga ito ang 473 00:25:26,000 --> 00:25:29,000 ay kung ang $ array ay naglalaman ng 10 mga elemento 474 00:25:29,000 --> 00:25:34,000 sa bawat pag-ulit ng mga ito array-paumanhin, sa bawat pag-ulit ng loop na ito 475 00:25:34,000 --> 00:25:37,000 ang variable na tinatawag na elemento ay pagpunta sa ma-update 476 00:25:37,000 --> 00:25:40,000 sa unang elemento sa array, pagkatapos ay ang pangalawang elemento sa array, 477 00:25:40,000 --> 00:25:44,000 pagkatapos ay ang ikatlong elemento ng array, at dahil doon obviating ang pangangailangan 478 00:25:44,000 --> 00:25:46,000 upang gawin ang bahagyang nakakainis square bracket pagtatanda at 479 00:25:46,000 --> 00:25:49,000 $ I upang i-index sa isang array. 480 00:25:49,000 --> 00:25:53,000 PHP ginagawa ang lahat ng na gumagana para sa iyo at sa bawat pag-ulit 481 00:25:53,000 --> 00:25:55,000 kamay mo lang ang susunod na elemento mula sa array 482 00:25:55,000 --> 00:26:01,000 nang hindi mo kinakailangang malaman tungkol sa o pakialam tungkol sa numeric na index ng lokasyon. 483 00:26:01,000 --> 00:26:04,000 >> At pagkatapos ay sa wakas, sa ngayon, may isang iba pang mga tampok ng PHP 484 00:26:04,000 --> 00:26:08,000 na hugely kapaki-pakinabang, lalo na kapag nagsimula kami ng programming sa Web, 485 00:26:08,000 --> 00:26:10,000 at na kilala bilang isang nag-uugnay array. 486 00:26:10,000 --> 00:26:13,000 Ang array na alam namin samakatuwid ay malayo ng 20 segundo ang nakalipas 487 00:26:13,000 --> 00:26:17,000 at para sa nakalipas na 8 linggo ayon sa bilang na-index array, 488 00:26:17,000 --> 00:26:20,000 uri ng tradisyonal na array kung saan ang mga indeks ng mga ints, 489 00:26:20,000 --> 00:26:23,000 0, 1, 2, ang lahat ng mga paraan sa up. 490 00:26:23,000 --> 00:26:25,000 Nag-uugnay array ng maraming mas malakas na. 491 00:26:25,000 --> 00:26:28,000 Pinapayagan nila mong arbitrary key, 492 00:26:28,000 --> 00:26:31,000 arbitrary mga indeks at arbitrary halaga. 493 00:26:31,000 --> 00:26:34,000 Sapagkat sa isang tradisyonal na array 0, 1, 2, 494 00:26:34,000 --> 00:26:37,000 sa isang nag-uugnay array maaari kang magkaroon ng isang index 495 00:26:37,000 --> 00:26:41,000 o isang key ng foo na ang halaga ay bar. 496 00:26:41,000 --> 00:26:46,000 Pagkatapos ay maaari mong magkaroon ng isa pang key na ang pangalan ay baz at na ang halaga ay qux. 497 00:26:46,000 --> 00:26:49,000 >> Muli, ang bobo computer science generic na mga variable na pangalan dito, 498 00:26:49,000 --> 00:26:55,000 ngunit ang punto ay ang array na ito ay hindi bracket 0 o bracket 1. 499 00:26:55,000 --> 00:26:59,000 Sa halip ito bracket foo at bracket baz. 500 00:26:59,000 --> 00:27:03,000 Ito ay ng maraming mas maraming nagagawa na namin nagagawang i-ugnay 501 00:27:03,000 --> 00:27:07,000 mga salita sa ibang salita, ang mga key na may halaga ganap mang, 502 00:27:07,000 --> 00:27:12,000 at kami ay upang makakuha ng mga halagang iyon pabalik sa pare-pareho ang oras 503 00:27:12,000 --> 00:27:14,000 dahil sa ilalim ng hood kung ano ang isang nag-uugnay array 504 00:27:14,000 --> 00:27:16,000 talaga ay ng hash table. 505 00:27:16,000 --> 00:27:20,000 Manariwa sa diwa ng hash table ay nagpapahintulot sa iyo na ilalagay sa ilang mga input 506 00:27:20,000 --> 00:27:25,000 bang ilagay sa ang salita ng David kung nais mong upang ipasok ang David sa ilang uri ng diksyunaryo, 507 00:27:25,000 --> 00:27:27,000 at pagkatapos kang makakuha ng ilang mga halaga karaniwang. 508 00:27:27,000 --> 00:27:29,000 Sa kaso ng speller, true o false. 509 00:27:29,000 --> 00:27:33,000 David o anumang salita o hindi sa diksyunaryo. 510 00:27:33,000 --> 00:27:36,000 Ang isang nag-uugnay array ay talagang lamang ng hash table, 511 00:27:36,000 --> 00:27:38,000 subalit ito ay higit pa user friendly na pagkakatawang-tao nito. 512 00:27:38,000 --> 00:27:41,000 Tulad ng makikita namin makita, pagpunta sa-daan sa amin upang gawin ang ilang mga bagay 513 00:27:41,000 --> 00:27:43,000 napaka, napaka-madali. 514 00:27:43,000 --> 00:27:45,000 >> Natin tingnan sa ilang mga pangunahing PHP 515 00:27:45,000 --> 00:27:47,000 halimbawa at makita kung ano ang maaari naming gawin sa wikang ito. 516 00:27:47,000 --> 00:27:51,000 Hayaan akong sige at buksan sa aming direktoryo ng pinagmulan ngayon 517 00:27:51,000 --> 00:27:54,000 isang file na tinatawag hello1.php. 518 00:27:54,000 --> 00:27:57,000 Ang file na ito ay pang komento kaysa ito ay aktwal na code, 519 00:27:57,000 --> 00:28:00,000 kaya ipaalam sa akin aktwal na alisin ang lahat ng mga komento mula sa file 520 00:28:00,000 --> 00:28:05,000 at kasalukuyan mo marahil ang pinakasimpleng PHP programa dito mismo. 521 00:28:05,000 --> 00:28:07,000 5 linya, at ang ilan ng mga puting espasyo, 522 00:28:07,000 --> 00:28:09,000 mapansin kaya ang ilang mga pangunahing pagkakaiba dito. 523 00:28:09,000 --> 00:28:12,000 Ang file ay tinatawag na hello1.php. 524 00:28:12,000 --> 00:28:16,000 Ang unang linya, bagaman, ay 00:28:18,000 Katulad sa espiritu sa HTML, 526 00:28:18,000 --> 00:28:21,000 na pagkakasunud-sunod ng mga character ay nagsasabi sa ang computer 527 00:28:21,000 --> 00:28:25,000 "Uy, computer, dito ay isang programa na hindi namin in sa PHP." 528 00:28:25,000 --> 00:28:28,000 Tinitiyak hindi ito nalilito na ito ang ilang iba pang mga wika. 529 00:28:28,000 --> 00:28:30,000 Linya 2 ay isang kawili-wiling white space. 530 00:28:30,000 --> 00:28:32,000 Linya 3 sa aming mga lumang kaibigan printf, 531 00:28:32,000 --> 00:28:34,000 oras na ito sa konteksto ng PHP. 532 00:28:34,000 --> 00:28:37,000 PHP ay may sarili nitong bersyon ng printf na behaves eksakto ang parehong, 533 00:28:37,000 --> 00:28:39,000 kaya ito ay pagpunta sa i-print ang "hoy, mundo." 534 00:28:39,000 --> 00:28:46,000 At pagkatapos ito sa tapat tag dito,?>, Nangangahulugan na ito para sa aking mga code na PHP. 535 00:28:46,000 --> 00:28:48,000 >> Natin makita kung paano patakbuhin ang. 536 00:28:48,000 --> 00:28:50,000 Ako pagpunta upang bumalik sa aking terminal na window dito. 537 00:28:50,000 --> 00:28:52,000 Ako pagpunta sa pumunta sa aking PHP direktoryo. 538 00:28:52,000 --> 00:28:56,000 Pansinin na mayroon kami ng buong bungkos ng mga file, ang unang na kung saan ay hello.php. 539 00:28:56,000 --> 00:29:01,000 Hayaan akong magpatuloy at patakbuhin ito, hello1.php, ipasok. 540 00:29:01,000 --> 00:29:03,000 Pagpapahintulot ay hindi pinayagan. Okay. 541 00:29:03,000 --> 00:29:06,000 Paano namin maayos ang mga bagay na tulad nito sa nakaraan? 542 00:29:06,000 --> 00:29:08,000 Ano iyon? >> [Hindi marinig na mag-aaral tugon] 543 00:29:08,000 --> 00:29:11,000 Kailangan naming basahin at isulat, ngunit ipaalam sa akin ls-l. 544 00:29:11,000 --> 00:29:14,000 Tandaan ang medyo misteriyoso output kung saan hello1 545 00:29:14,000 --> 00:29:17,000 Mukhang nababasa at writable ko 546 00:29:17,000 --> 00:29:19,000 ngunit nababasa ng lahat ng tao. 547 00:29:19,000 --> 00:29:22,000 Ito ay lumiliko ang aktwal na ay hindi isang hakbang sa tamang direksyon. 548 00:29:22,000 --> 00:29:25,000 Ang pagkakaiba, muli, na may isang kahulugan ng wika 549 00:29:25,000 --> 00:29:27,000 ay hindi mo patatakbuhin mo ang program nang direkta. 550 00:29:27,000 --> 00:29:30,000 Sa halip mong magpatakbo ng isang interpreter at ibigay ito sa code 551 00:29:30,000 --> 00:29:33,000 mo na ang nakasulat sa gayon ay maaari itong bigyang-kahulugan ang mga ito linya ng linyang. 552 00:29:33,000 --> 00:29:36,000 Sa kasong ito, ang mga interpreter o programa gusto ko aktwal na tumakbo 553 00:29:36,000 --> 00:29:38,000 ay literal na tinatawag na PHP. 554 00:29:38,000 --> 00:29:41,000 >> Sa isang lugar sa hard drive ng appliance ang isang programa 555 00:29:41,000 --> 00:29:45,000 ibang tao sinulat ni tinatawag na PHP, o sa Windows php.exe. 556 00:29:45,000 --> 00:29:48,000 Ano ako pagpunta sa gawin dito ako pagpunta sa aktwal na patakbuhin ang PHP 557 00:29:48,000 --> 00:29:51,000 ngunit bigyan ito bilang isang argument ng linya ng command code na aking sinulat ni, 558 00:29:51,000 --> 00:29:54,000 at pagkatapos ay kukunin ko na mag-zoom out at pindutin ang enter. 559 00:29:54,000 --> 00:29:58,000 Tumatakbo ito ang aking programa para sa akin, itaas hanggang sa ibaba, kaliwa papuntang kanan. 560 00:29:58,000 --> 00:30:01,000 Hayaan akong sige at buksan ang isang bahagyang pagkakaiba ng mga ito. 561 00:30:01,000 --> 00:30:05,000 Sa hello2.php abiso na ito masyadong 562 00:30:05,000 --> 00:30:08,000 halos komento, kaya hayaan mo akong makakuha ng mapupuksa ng mga bilang isang paggambala, 563 00:30:08,000 --> 00:30:13,000 at kung ano ang malinaw iba't ibang tungkol sa ang file na ito ngayon? 564 00:30:13,000 --> 00:30:15,000 May ito bagong linya, medyo misteriyoso sa tuktok. 565 00:30:15,000 --> 00:30:20,000 Sa linya 1 #! / Bin / php. 566 00:30:20,000 --> 00:30:24,000 Bin ay isang convention sa Linux at Mac OS para sa binaries, 567 00:30:24,000 --> 00:30:27,000 kaya / bin ay nangangahulugan na ito ay isang folder na naglalaman ng isang bungkos ng binaries 568 00:30:27,000 --> 00:30:29,000 na program, isa sa kung saan ay PHP. 569 00:30:29,000 --> 00:30:32,000 Ang #! ay palayaw shebang, 570 00:30:32,000 --> 00:30:35,000 kung saan ay ang mabilis na paraan ng pagsabi nito, at kung ano ang ibig sabihin nito ay 571 00:30:35,000 --> 00:30:40,000 ay na kapag nagpatakbo ka ng programang ito ngayon ay may isang pahiwatig sa tuktok ng file 572 00:30:40,000 --> 00:30:44,000 na nagsasabi sa ang computer kung ano interpreter sa gamitin. 573 00:30:44,000 --> 00:30:47,000 >> Ay nakakakuha ng kaunti nakakainis na kung mayroon kang upang sabihin sa iyong mga gumagamit at ang iyong mga customer 574 00:30:47,000 --> 00:30:50,000 "Uy, namin sinulat ni programang ito na tinatawag na hello1.php." 575 00:30:50,000 --> 00:30:54,000 Ang kailangan mo lang gawin ay magpakailanman patakbuhin ang PHP at pagkatapos ay ang pangalan ng programang ito. 576 00:30:54,000 --> 00:30:58,000 Lantaran, ito lamang ay nicer upang patakbuhin ang hello1.php, 577 00:30:58,000 --> 00:31:00,000 at sa katunayan, maaari naming kung gagawin namin ang mga sumusunod. 578 00:31:00,000 --> 00:31:05,000 Hayaan akong magpatuloy at gawin ang ls-l, at paunawa sa hello2 pa rin ito lamang basahin ang sumulat 579 00:31:05,000 --> 00:31:10,000 at pagkatapos ay basahin basahin, kaya hindi pa ako makapag gawin ito, hello2.php. 580 00:31:10,000 --> 00:31:15,000 Ngunit ipinakilala namin ito napaka maikling nakaraang oras, ang chmod utos. 581 00:31:15,000 --> 00:31:20,000 Kung gagawin ko chmod isang + x, na kung saan ay nangangahulugan na ang lahat ng plus executability, 582 00:31:20,000 --> 00:31:26,000 at pagkatapos hello2.php at pagkatapos ay ls-l muli mapansin kung ano ay nagbago. 583 00:31:26,000 --> 00:31:29,000 One, Linux ay nagpapakita sa akin ang pangalan ng file sa berdeng upang ihatid ang ideya 584 00:31:29,000 --> 00:31:32,000 na ito ay executable, ngunit mas mahalaga, sa kaliwang bahagi 585 00:31:32,000 --> 00:31:36,000 mapansin na bit na kumakatawan ang mga x para sa executable ngayon ay nakatakda. 586 00:31:36,000 --> 00:31:42,000 Ano ito ngayon ay nangangahulugan ay maaari ba akong magpatakbo ng ./hello2.php gaya ng dati, 587 00:31:42,000 --> 00:31:45,000 pindutin ang enter, at dahil sa shebang sa pinakatuktok ng file 588 00:31:45,000 --> 00:31:48,000 na isang hint, muli, sa Linux na nagsasabing 589 00:31:48,000 --> 00:31:51,000 gamitin ang interpreter upang patakbuhin ang file na ito. 590 00:31:51,000 --> 00:31:54,000 Huwag mag-alala tungkol sa pagpilit user na aktwal type ang mga ito. 591 00:31:54,000 --> 00:31:57,000 >> At kung ano ang magaling ngayon ito ay uri ng walang kinalaman sa aking mga customer o ang aking mga kaibigan 592 00:31:57,000 --> 00:32:01,000 anong wika ko sinulat ni programang ito sa, kaya ang maaari kong magpatuloy na may mv 593 00:32:01,000 --> 00:32:04,000 at palitan ang pangalan ang bagay na ito sa hello2, halimbawa. 594 00:32:04,000 --> 00:32:07,000 At ngayon kung gagawin ko ./hello2 595 00:32:07,000 --> 00:32:10,000 at mag-zoom out ang aking programa ay patuloy na tumakbo. 596 00:32:10,000 --> 00:32:13,000 Mga file extension ng isang tao convention na kinakailangan 597 00:32:13,000 --> 00:32:15,000 para sa isang bagay tulad ng kumalatong at Gawing na tumitingin para sa kanila. 598 00:32:15,000 --> 00:32:18,000 Ngunit para sa PHP, maaari kong tumawag sa anumang extension ang file na ito Gusto kong. 599 00:32:18,000 --> 00:32:22,000 Maaari ko linlangin ang mundo sa pag-iisip na ako mahusay talaga sa Ruby, 600 00:32:22,000 --> 00:32:25,000 at maaari kong isulat hello2.rb at pagkatapos patakbuhin ang, 601 00:32:25,000 --> 00:32:28,000 at voila, ngayon mayroon akong ang bersyon ng Ruby, na kung saan ay isang kumpletong kasinungalingan. 602 00:32:28,000 --> 00:32:30,000 Ngunit ang mga extension ng file ay walang kahulugan 603 00:32:30,000 --> 00:32:35,000 kung ang file ay executable at may espesyal na pahiwatig na ito sa tuktok ng file. 604 00:32:35,000 --> 00:32:38,000 >> Ngayon, bilang isang bukod, hayaan mo akong ipakita sa iyo ang mabilis na bersyon 3, 605 00:32:38,000 --> 00:32:40,000 na uri ng isang kapaki-pakinabang na panlinlang upang malaman. 606 00:32:40,000 --> 00:32:45,000 Sa hello3 ginawa ko ng isang bagay na bahagyang mali 607 00:32:45,000 --> 00:32:47,000 na kailangan ko i-update ang code ng pinagmulan online. 608 00:32:47,000 --> 00:32:50,000 Sa bersyon 3 lumiliko out na sa karamihan ng mga Linux na mga computer 609 00:32:50,000 --> 00:32:53,000 may isang programa na tinatawag na env para sa kapaligiran, 610 00:32:53,000 --> 00:32:56,000 at kung ano ang maaari mong gawin dito ay kung mayroon kang walang ideya kung saan PHP 611 00:32:56,000 --> 00:33:00,000 ay naka-install sa lokal na hard drive, dahil sa katunayan, maaaring ito ay nag-iiba batay sa computer 612 00:33:00,000 --> 00:33:03,000 na ang isang tao ay gumagamit, env lang sabi magpatakbo ng env, 613 00:33:03,000 --> 00:33:07,000 na sa karamihan ng mga system, at malaman kung saan PHP ay. 614 00:33:07,000 --> 00:33:11,000 Lamang ng isang karaniwang nanlilinlang upang hindi mo na kailangang mag-alala tungkol sa paghahanap kung saan ay ang programa. 615 00:33:11,000 --> 00:33:14,000 Ngunit kung gagawin mo pag-aalaga upang malaman kung saan ay ang programa at hindi mo pa cared sa gayon ngayon 616 00:33:14,000 --> 00:33:16,000 maaari mong gamitin ang kung aling mga utos. 617 00:33:16,000 --> 00:33:19,000 >> Hayaan akong mag-zoom out at i-type na php, 618 00:33:19,000 --> 00:33:23,000 at mapansin ang mga ito ay nagsasabi sa akin ito ay aktwal na sa usr / bin / php. 619 00:33:23,000 --> 00:33:25,000 Ito ay uri ng isang kasinungalingan. Rin sa bin. 620 00:33:25,000 --> 00:33:27,000 Lamang ito nagpapakita sa akin ang unang hit. 621 00:33:27,000 --> 00:33:31,000 Kung sakaling nagtaka kung saan kumalatong ay, na kumalatong, na sa usr / bin / kumalatong, 622 00:33:31,000 --> 00:33:34,000 na ginagawang, usr / bin / gawin, at kung ano na Nangangahulugan ang lahat oras na ito 623 00:33:34,000 --> 00:33:38,000 maaari mong na-type ng usr / bin / kumalatong ipasok upang tumakbo ng kumalatong, 624 00:33:38,000 --> 00:33:41,000 ngunit ito uri ng nakakapagod na gawin na, kaya ang ilang mga folder 625 00:33:41,000 --> 00:33:44,000 tulad ng usr / bin at bin ay ipinapalagay na ang mga default 626 00:33:44,000 --> 00:33:50,000 kaya computer alam upang tumingin sa mga ito para sa iyo. 627 00:33:50,000 --> 00:33:53,000 Anumang mga katanungan sa pagsusulat ng sobrang, sobrang simple Hello World programa 628 00:33:53,000 --> 00:33:55,000 sa PHP at pagkatapos ay tumatakbo ito? 629 00:33:55,000 --> 00:33:59,000 Dahil ngayon magsisimula kami upang ipakilala ang mas nakakahimok syntax. 630 00:33:59,000 --> 00:34:01,000 Lahat ng karapatan, dito namin pumunta. 631 00:34:01,000 --> 00:34:03,000 Mga programang ito na nakakita kami aktwal na lahat ng mga ito bago. 632 00:34:03,000 --> 00:34:07,000 >> Kung buksan ko up, halimbawa, sabihin gawin beer1.php, 633 00:34:07,000 --> 00:34:09,000 hindi namin pumunta sa pamamagitan ng maraming mga bersyon ng mga ito, ngunit kung ano ang ko ginawa 634 00:34:09,000 --> 00:34:13,000 ako nakaupo down at poured ito o-convert 635 00:34:13,000 --> 00:34:15,000 aking C code sa PHP code dito. 636 00:34:15,000 --> 00:34:18,000 Karamihan ng tuktok ng file komento dito. 637 00:34:18,000 --> 00:34:20,000 Lumiliko out may isang bagong function na kailangan namin tinatawag readline. 638 00:34:20,000 --> 00:34:23,000 GetString, manariwa sa diwa, mula Linggo 0 pasulong CS50 bagay. 639 00:34:23,000 --> 00:34:27,000 PHP ay may sarili nitong mga user-friendly na function na tinatawag na readline 640 00:34:27,000 --> 00:34:30,000 na tumatagal ng 1 argumento na tumutukoy sa prompt 641 00:34:30,000 --> 00:34:33,000 na gusto mong ipakita sa gumagamit, at kung ano ang readline ginagawa 642 00:34:33,000 --> 00:34:35,000 ito nagbabalik ng anumang user ang uri. 643 00:34:35,000 --> 00:34:39,000 Sa kasong ito, ako ang deklarasyon ng isang variable na tinatawag na $ n. 644 00:34:39,000 --> 00:34:42,000 Ako pag-iimbak sa ito ang return halaga ng readline 645 00:34:42,000 --> 00:34:44,000 pagkatapos ng pagdikta sa gumagamit na may string na ito. 646 00:34:44,000 --> 00:34:47,000 Lang i-back up, aktwal na patakbuhin ang bagay, hayaan mo akong magpatuloy 647 00:34:47,000 --> 00:34:50,000 at magpatakbo ng php beer1.php. 648 00:34:50,000 --> 00:34:53,000 Gaano karaming mga bote ay doon? Sabihin lang gawin 2 oras na ito. 649 00:34:53,000 --> 00:34:55,000 Enter. Iyon lang. 650 00:34:55,000 --> 00:34:59,000 >> Programa pagtakbo kapareho ng C bersyon mula linggo ang nakalipas. 651 00:34:59,000 --> 00:35:01,000 Ngunit syntactically sabihin makita kung ano ang iba't ibang. 652 00:35:01,000 --> 00:35:05,000 Matapos na nakukuha ko sa isang int mula sa paunawa ng user na ako paggawa ng ilang error checking, 653 00:35:05,000 --> 00:35:08,000 at kung ang n ay mas mababa sa 1 isinara ko at i-print ko ang 654 00:35:08,000 --> 00:35:11,000 ng paumanhin mensahe sa gumagamit at exit na may 1. 655 00:35:11,000 --> 00:35:13,000 Ito ay masyadong ng kaunti ibang. 656 00:35:13,000 --> 00:35:16,000  Sa C kung ano ang naming gawin? Sa C ibinalik namin 1. 657 00:35:16,000 --> 00:35:20,000 Sa PHP lumabas ka na may 1, kung saan ay lantaran tingin ko ng kaunti mas magaling 658 00:35:20,000 --> 00:35:22,000 dahil literal ka paglabas sa programa. 659 00:35:22,000 --> 00:35:25,000 Lahat ng karapatan, at pagkatapos ay down na dito ang nakakairitang kanta ay kapareho syntactically 660 00:35:25,000 --> 00:35:29,000 maliban para sa mga variable, kaya down na dito sa linya 24 pasulong 661 00:35:29,000 --> 00:35:31,000 mapansin ang aking para sa loop ay halos ang parehong, 662 00:35:31,000 --> 00:35:34,000 ngunit mayroon akong $ sa harap ng i at ng n, 663 00:35:34,000 --> 00:35:37,000 at kung ano rin ang nawawala mula sa linya 26 na kami ay may sa nakalipas 664 00:35:37,000 --> 00:35:39,000 kapag deklarasyon ng variable i? 665 00:35:39,000 --> 00:35:41,000 Mayroong ang walang uri. 666 00:35:41,000 --> 00:35:43,000 Ay hindi tama sa PHP sabihin int. 667 00:35:43,000 --> 00:35:45,000 Mo lamang ay hindi kailangan upang gawin iyon. 668 00:35:45,000 --> 00:35:48,000 Ang computer, ang interpreter PHP na smart sapat upang mapagtanto 669 00:35:48,000 --> 00:35:51,000 na kung kang maglagay ng numero sa $ ko ito ituring ito 670 00:35:51,000 --> 00:35:53,000 bilang isang numero para sa iyo. 671 00:35:53,000 --> 00:35:57,000 At pagkatapos ay down na dito namin plug sa $ i, $ i, $ i - 1. 672 00:35:57,000 --> 00:36:00,000 Ang lahat ng na ay pareho, at pagkatapos ay down na dito ginagawa namin "Wow, na nakakainis" printf 673 00:36:00,000 --> 00:36:02,000 at pagkatapos ay lumabas (0). 674 00:36:02,000 --> 00:36:05,000 >> Muli, ang takeaway dito ay na kahit kami ay pagpunta sa gastos relatibong 675 00:36:05,000 --> 00:36:09,000 maliit na oras sa PHP, tiyak kumpara sa kung ano ang ginawa namin sa C, 676 00:36:09,000 --> 00:36:12,000 ito ay halos ang parehong, at kaya kung ano ang gagawin namin ngayon at sa susunod na linggo 677 00:36:12,000 --> 00:36:14,000 at higit pa ay talagang tumutok sa ilan ng mga bagong ideya. 678 00:36:14,000 --> 00:36:17,000 Lamang upang makita na ang isa pang bagay ay isalin ang mula C, 679 00:36:17,000 --> 00:36:20,000 ito ay isang napaka-simpleng programa na ginawa namin sa Linggo 1 680 00:36:20,000 --> 00:36:22,000 o 2 na nakakubo ng halaga. 681 00:36:22,000 --> 00:36:25,000 Ngunit kung ano ang kawili-wili sa oras tungkol sa programang ito ay na ito 682 00:36:25,000 --> 00:36:28,000 ipinakilala ang paniwala ng isang pasadyang nakasulat function na namin ating sarili sinulat ni. 683 00:36:28,000 --> 00:36:31,000 Ang syntax sa PHP ay halos pareho. 684 00:36:31,000 --> 00:36:33,000 Narito ang aking programa up tuktok. 685 00:36:33,000 --> 00:36:35,000 Pansinin muli wala anumang paniwala ng pangunahing. 686 00:36:35,000 --> 00:36:39,000 Sisimulan ko ang pagsulat code, at ito ay kung ano ang nangyayari upang maisakatuparan ng interpreter. 687 00:36:39,000 --> 00:36:42,000 -Print ko ang x na ngayon ang 2, baka. 688 00:36:42,000 --> 00:36:44,000 Pagkatapos i-claim ko cubing ... 689 00:36:44,000 --> 00:36:47,000 Pagkatapos kong tumawag sa kubo function na at pumasa sa $ x 690 00:36:47,000 --> 00:36:50,000 at italaga ang return halaga sa $ x. 691 00:36:50,000 --> 00:36:53,000 Pagkatapos inaangkin ko na ito nakakubo, at pagkatapos ay sabihin ko ito, na sana 692 00:36:53,000 --> 00:36:55,000 sasabihin x ay ngayon 8. 693 00:36:55,000 --> 00:36:59,000 Ang syntax para sa mga katangian sa PHP ay kailanman kaya bahagyang naiiba. 694 00:36:59,000 --> 00:37:01,000 Muli nawawala ang return uri. 695 00:37:01,000 --> 00:37:05,000 Muli nawawala ay ang uri ng return at nawawala ay kung ano ang iba pang uri? 696 00:37:05,000 --> 00:37:07,000 [Hindi marinig na mag-aaral ng tugon] 697 00:37:07,000 --> 00:37:10,000 Well, okay, na mahusay. Natin bumalik sa isang segundo. 698 00:37:10,000 --> 00:37:12,000 >> Wala kaming, halimbawa, int dito. 699 00:37:12,000 --> 00:37:15,000 Hindi namin, halimbawa, na int dito dahil, muli, sa PHP 700 00:37:15,000 --> 00:37:18,000 huwag mo lang kailangan mong at hindi dapat gawin na, 701 00:37:18,000 --> 00:37:20,000 kundi ang bagong keyword na ito na tinatawag na function na. 702 00:37:20,000 --> 00:37:23,000 Sa PHP halos isang maliit na mas malinaw dahil kapag nais mo ang isang function 703 00:37:23,000 --> 00:37:26,000 sabihin mo literal function, bigyan ito ng isang pangalan at isang comma separated listahan 704 00:37:26,000 --> 00:37:28,000 kung sa anumang ng mga argumento. 705 00:37:28,000 --> 00:37:32,000 Hindi na kailangang sabihin walang bisa o anumang bagay tulad na, at pagkatapos return ay pareho, 706 00:37:32,000 --> 00:37:35,000 $ Ng * $ ng * $ a. 707 00:37:35,000 --> 00:37:38,000 Ano din ang nawawala? Sammy tulis ito dito. 708 00:37:38,000 --> 00:37:43,000 Sa tuktok ng file ganap na wala sa PHP din ng prototype. 709 00:37:43,000 --> 00:37:45,000 Masyadong ay sa pamamagitan ng disenyo. 710 00:37:45,000 --> 00:37:48,000 Wika at interprete tulad ng PHP ay mas matalinong kaysa C kailanman ay 711 00:37:48,000 --> 00:37:50,000 sa compiler tulad kalatungin. 712 00:37:50,000 --> 00:37:53,000 >> Isipin ang na kumalatong, kung hindi mo sabihin nito na kubo umiiral, 713 00:37:53,000 --> 00:37:56,000 kung hindi mo sabihin dito na printf umiiral na may prototype 714 00:37:56,000 --> 00:38:00,000 o na may # include, maayos, ito ay upang sumigaw sa iyo at hindi kahit makatipon ng iyong code. 715 00:38:00,000 --> 00:38:03,000 PHP at mas modernong mga wika ng maraming mas matalinong pagdating sa ito. 716 00:38:03,000 --> 00:38:07,000 Sila ay tumagal ang mga ito kapag ang kanilang mga sarili na basahin ang lahat ng iyong code 717 00:38:07,000 --> 00:38:11,000 at pagkatapos ay sumigaw sa iyo lamang kung nahahanap nito kubo wala saanman. 718 00:38:11,000 --> 00:38:15,000 Hindi mahalaga kung kubo sa ilalim o sa itaas o kahit na sa ilang mga hiwalay na file. 719 00:38:15,000 --> 00:38:18,000 PHP at katulad na wika ngayon ang smart sapat upang tumingin sa kinabukasan 720 00:38:18,000 --> 00:38:26,000 sa lahat bago deeming bilang pag-nagkamali. 721 00:38:26,000 --> 00:38:28,000 Kung saan ay na-iwan sa amin? 722 00:38:28,000 --> 00:38:32,000 >> Natin gawin ang isa huling halimbawa dito sa mga kondisyon, 723 00:38:32,000 --> 00:38:35,000 at kung buksan ko conditions2.php paunawa masyadong 724 00:38:35,000 --> 00:38:37,000 syntax dito ay halos pareho. 725 00:38:37,000 --> 00:38:40,000 Gumagamit ako ng readline sa halip ng GetString, ngunit linya na ang parehong tulad ng dati, 726 00:38:40,000 --> 00:38:42,000 "Gusto ko ng integer isang." 727 00:38:42,000 --> 00:38:45,000 Ko pagkatapos ay may kung kundisyon, ng ibang tao kung, at pagkatapos ng isang tao, 728 00:38:45,000 --> 00:38:48,000 ngunit pagtakbo Ang program na ito ay pareho sa kung ano ang ginawa namin linggo ang nakalipas, 729 00:38:48,000 --> 00:38:51,000 kaya kung nagpatakbo ako ang bagay na ito, php ng ​​conditions2, 730 00:38:51,000 --> 00:38:54,000 at ako bigyan ito ng isang numero tulad ng 23 - 731 00:38:54,000 --> 00:38:57,000 Kinuha ko ang isang positibong numero. Kung bigyan ko ito -1 pinili ko ang isang negatibong numero. 732 00:38:57,000 --> 00:39:00,000 Kung bigyan ko ito 0 pinili ko katunayan 0. 733 00:39:00,000 --> 00:39:02,000 Kaya na nagmamalasakit tungkol sa lahat ng ito? 734 00:39:02,000 --> 00:39:06,000 Well, isa ng masaya uri ng pagsasanay dito 735 00:39:06,000 --> 00:39:10,000 para sa akin ng hindi bababa sa ay upang bumalik at makita kung gaano kabilis ang maaari kong ipatupad pset 5, 736 00:39:10,000 --> 00:39:12,000 ang pset mga maling spelling. 737 00:39:12,000 --> 00:39:15,000 Manariwa sa diwa na may ang file na ito na tinatawag na speller.c, 738 00:39:15,000 --> 00:39:17,000 at nagkaroon ng isang file na tinatawag na dictionary.c. 739 00:39:17,000 --> 00:39:20,000 Ano ko ay ko ang uri ng ginugol ng ilang minuto at convert ko ang C code 740 00:39:20,000 --> 00:39:23,000 PHP code, at hindi namin gastusin karaming oras sa speller 741 00:39:23,000 --> 00:39:26,000 dahil tulad ng sa pset 5 hindi mo talaga kailangang 742 00:39:26,000 --> 00:39:29,000 gastusin karaming oras sa speller mismo dahil ang iyong pansin sa diksyunaryo. 743 00:39:29,000 --> 00:39:32,000 >> Sumapat ito sa sabihin na kung mong basahin sa pamamagitan ng speller, 744 00:39:32,000 --> 00:39:35,000 ang file na ito dito, medyo mas katumbas sa ang C code 745 00:39:35,000 --> 00:39:37,000 ay ibinigay para sa pset 5 namin. 746 00:39:37,000 --> 00:39:39,000 Lamang Nagdagdag ako ng ilang $ sa mga lugar. 747 00:39:39,000 --> 00:39:43,000 Binago ko ang ilang mga pangalan ng function na kung hindi nila umiiral sa PHP. 748 00:39:43,000 --> 00:39:45,000 May isang karagdagang bagay dito, preg_match, 749 00:39:45,000 --> 00:39:48,000 na ng kaunti may interes paraan ng paggawa ng isang bagay, ngunit makikita namin bumalik na kalaunan. 750 00:39:48,000 --> 00:39:51,000 Ngunit sa maikling salita, speller ay halos magkakahawig, at kung titingnan mo sa pinakailalim 751 00:39:51,000 --> 00:39:54,000 kung ano ito kalaunan spits out ito dito, 752 00:39:54,000 --> 00:39:57,000 salita tamang spelling, ang mga salita sa diksyunaryo, ang mga salita sa teksto. 753 00:39:57,000 --> 00:40:00,000 Lahat ng karapatan, kaya kung ano ang kawili-wili ngayon ay ang mga sumusunod. 754 00:40:00,000 --> 00:40:05,000 Sa tuktok ng aking mga file ako na nangangailangan ng dictionary.php. 755 00:40:05,000 --> 00:40:09,000 Tulad ng C na # include PHP ay may isang espesyal na function na tinatawag na nangangailangan 756 00:40:09,000 --> 00:40:14,000 na medyo mas ipinapakita ang parehong bagay, nangangailangan ng isang file na tinatawag na dictionary.php. 757 00:40:14,000 --> 00:40:18,000 Paano ko pumunta tungkol sa pagpapatupad ng pset 5? 758 00:40:18,000 --> 00:40:21,000 Hayaan akong sige at buksan ang isang file dito. 759 00:40:21,000 --> 00:40:24,000 Hayaan akong maglaan ng kaunting reference dito. 760 00:40:24,000 --> 00:40:29,000 At hayaan mo akong lumikha ng isang bagong file at simulan ang pagtawag na ito dictionary.php. 761 00:40:29,000 --> 00:40:31,000 Hayaan akong ilagay ang mga ito sa ibang folder upang maaari naming gawin ito nakatira. 762 00:40:31,000 --> 00:40:33,000 At ngayon kukunin ko na mag-zoom in. 763 00:40:33,000 --> 00:40:37,000 Ako pagpunta upang simulan ang ang aking PHP file na may bukas php bracket sarado bracket. 764 00:40:37,000 --> 00:40:40,000 At pagkatapos in dito ng ilang mga function na kailangan ko upang ipatupad para sa pset 5, 765 00:40:40,000 --> 00:40:42,000 kaya ipaalam sa akin simulan ang pagpapatupad ng ilan sa mga, 766 00:40:42,000 --> 00:40:47,000 kaya function na tseke, na kung saan ay upang gumawa ng isang salita sa bilang isang argument. 767 00:40:47,000 --> 00:40:49,000 Gagawin namin na at bumalik dito sa ilang sandali. 768 00:40:49,000 --> 00:40:53,000 >> Nagkaroon ng function na load, kung saan kinuha sa kung ano ang bilang isang argument? 769 00:40:53,000 --> 00:40:56,000 Diksyunaryo, kaya ang file na aktwal ko nais upang i-load. 770 00:40:56,000 --> 00:41:00,000 Nagkaroon ng function na laki, na kung saan ay hindi gumawa ng anumang mga argumento 771 00:41:00,000 --> 00:41:04,000 at nagkaroon function na-kung ano ang iba pang? 772 00:41:04,000 --> 00:41:06,000 Mag-ibis maglapag, na kung saan ay hindi gumawa ng anumang mga argumento alinman. 773 00:41:06,000 --> 00:41:10,000 Ito ang 4-andar na kailangan ko ngayon ipatupad sa PHP, 774 00:41:10,000 --> 00:41:13,000 at kung ano ako pagpunta sa gawin ay magpatuloy at gawin ito. 775 00:41:13,000 --> 00:41:16,000 Isang maraming ginamit ng hash table sa pset 5, 776 00:41:16,000 --> 00:41:21,000 kaya hayaan mo akong magpatuloy at lumikha ng hash table sa PHP. 777 00:41:21,000 --> 00:41:23,000 Tapos na. 778 00:41:23,000 --> 00:41:25,000 Na nagbibigay sa akin ng hash table. Well, bakit? 779 00:41:25,000 --> 00:41:30,000 Isa, variable ang tinatawag na $ talahanayan, upang manawagan up ang ideya ng isang hash table. 780 00:41:30,000 --> 00:41:34,000 Ang mga square bracket, bagaman, isipin ang, kumakatawan sa kung ano ang? 781 00:41:34,000 --> 00:41:37,000 Isang array, ngunit sa PHP array ay hindi ayon sa bilang na-index. 782 00:41:37,000 --> 00:41:41,000 Maaari din silang nag-uugnay array, 783 00:41:41,000 --> 00:41:44,000 na nangangahulugan na maaari kang magkaroon ng mga arbitrary na mga susi at halaga. 784 00:41:44,000 --> 00:41:49,000 >> Karamihan gusto sa pset 5, mga mo na ginawa hash pagpapatupad talahanayan 785 00:41:49,000 --> 00:41:53,000 malamang na ipinasok ang salita at pagkatapos ay ipinasok na ito sa isang hanay ng mga naka-link na listahan, 786 00:41:53,000 --> 00:41:56,000 o inimbak mo ang halaga ng totoo sa isang lugar o isang bagay na epekto. 787 00:41:56,000 --> 00:41:59,000 Sa paanuman remembered ang katotohanan na ang salita ay naroon. 788 00:41:59,000 --> 00:42:01,000 Sa ngayon, na na ang aking hash talahanayan, 789 00:42:01,000 --> 00:42:06,000 at kaya ngayon upang pumunta tungkol sa pagpapatupad ng tseke function na 790 00:42:06,000 --> 00:42:09,000 Ko lang ang kailangan upang tumingin sa loob ng talahanayan na hash 791 00:42:09,000 --> 00:42:11,000 at makita kung ang isang salita ay doon. 792 00:42:11,000 --> 00:42:15,000 Ano ako pagpunta sa gawin ay ako pagpunta upang sabihin kung- 793 00:42:15,000 --> 00:42:20,000 sabihin nating isset, kung saan ay isang PHP function na literal lamang ay nangangahulugan ang key set, 794 00:42:20,000 --> 00:42:24,000 kaya isset ($ talahanayan [$ salita], 795 00:42:24,000 --> 00:42:29,000 at kung kaya nagbabalik ng tunay. 796 00:42:29,000 --> 00:42:32,000 Iyan na ang lahat. Na pset 5 sa PHP. 797 00:42:32,000 --> 00:42:34,000 Well, sa pagkamakatarungan, okay. 798 00:42:34,000 --> 00:42:37,000 Iba Pa bumalik false, kaya hindi doon. 799 00:42:37,000 --> 00:42:39,000 Kung ano talaga ang pagpunta sa dito? 800 00:42:39,000 --> 00:42:42,000 Well, kung ang talahanayan ng-o hash talahanayan dito sa mas pangkalahatang- 801 00:42:42,000 --> 00:42:46,000 ay isang nag-uugnay array na nangangahulugan na maaari mong index ito 802 00:42:46,000 --> 00:42:50,000 may isang salita tulad ng "salita," at mayroon kang upang makakuha ng pabalik ilang halaga. 803 00:42:50,000 --> 00:42:52,000 >> Humihingi kami ng uri ng pagkuha ng isang hakbang nangunguna sa ating sarili. 804 00:42:52,000 --> 00:42:56,000 Ito ay uri ng magaling kung namin ang aktwal na-load ang file unang, 805 00:42:56,000 --> 00:42:58,000 kaya ng pagkarga ay hindi lubos na simple, ngunit hayaan mo akong magpatuloy at gumawa ng 806 00:42:58,000 --> 00:43:00,000  isang talagang mabilis na pagpapatupad ng ng pagkarga. 807 00:43:00,000 --> 00:43:07,000 Hayaan akong magpatuloy at sabihin ang salita ay nakakakuha ng file diksyunaryo. 808 00:43:07,000 --> 00:43:10,000 Ang file na function sa PHP ay nagbukas ng isang file 809 00:43:10,000 --> 00:43:12,000 at babalik sa iyo ng isang array ng lahat ng salita sa file na iyon, 810 00:43:12,000 --> 00:43:14,000 kamay lamang sa mga ito sa iyo. 811 00:43:14,000 --> 00:43:16,000 Iyon ay isang malaking sakit masyadong, ay hindi ito? 812 00:43:16,000 --> 00:43:21,000 Ngayon foreach, ito ay ang aming bagong bumuo, foreach ($ salita ng $ salita). 813 00:43:21,000 --> 00:43:25,000 Loop na ito upang simulan ang iterating sa ibabaw ng mga salita ng array 814 00:43:25,000 --> 00:43:30,000 at italaga ang $ variable salita bawat salita sa file 815 00:43:30,000 --> 00:43:32,000 mula sa unang sa pangalawang sa third sa ang ika-apat sa lahat ng mga paraan 816 00:43:32,000 --> 00:43:35,000 kaya hindi ko na gawin ang nakakainis [i] pagtatanda at ang gusto. 817 00:43:35,000 --> 00:43:38,000 At kung ano lamang ako pagpunta sa gawin para sa bawat isa ng mga salitang ito 818 00:43:38,000 --> 00:43:43,000 ay-imbak ang mga ito sa aking mga talahanayan sa pamamagitan ng pag-i-index sa talahanayan 819 00:43:43,000 --> 00:43:47,000 at pagkatapos ay paggawa totoo dahil tandaan 820 00:43:47,000 --> 00:43:50,000 na ang isang salita sa aking diksyunaryo lahat ko talagang gawin 821 00:43:50,000 --> 00:43:55,000 ang uri ng i-flip ng kaunti at sabihin ang salitang ito sa aking hash talahanayan ay doon, totoo. 822 00:43:55,000 --> 00:43:58,000 At kung ito ay hindi doon, hindi ko na kailangang tahasang ilagay ang maling, 823 00:43:58,000 --> 00:44:01,000 kung hindi man Gusto ko upang ilagay ang maling para sa lahat ng mga posibleng salita sa uniberso. 824 00:44:01,000 --> 00:44:05,000 >> Suffices para sa akin lamang magtakda ng isang halaga ng index 825 00:44:05,000 --> 00:44:09,000 sa totoo kung ang isang salita ay aktwal na sa aking hash talahanayan. 826 00:44:09,000 --> 00:44:12,000 Ngayon, ako paggupit ng ilang ng sulok dito na makikita ko iwagayway ang aking mga kamay sa sa ngayon, 827 00:44:12,000 --> 00:44:15,000 ngunit ngayon ng pagkarga function na ay tapos na. 828 00:44:15,000 --> 00:44:18,000 Ako-load ang lahat ng mga salita mula sa file sa isang array. 829 00:44:18,000 --> 00:44:21,000 Ako umulit sa paglipas na array, at para sa bawat salita sa array 830 00:44:21,000 --> 00:44:24,000 Plug ko ito sa aking hash talahanayan sa 1 linya ng code. 831 00:44:24,000 --> 00:44:26,000 Ito ay masaya. Alam mo kung paano namin ipatupad ang laki ngayon? 832 00:44:26,000 --> 00:44:28,000 Well, laki ay laging medyo madali, sa pagkamakatarungan. 833 00:44:28,000 --> 00:44:32,000 Dito maaari naming lamang huwag ibalik ang bilang ng talahanayan. 834 00:44:32,000 --> 00:44:34,000 Na medyo madaling masyadong, bilangin ang bilang ng mga bagay sa talahanayan. 835 00:44:34,000 --> 00:44:36,000 Na ang aktwal na uri ng hindi ang pinaka mahusay. 836 00:44:36,000 --> 00:44:39,000 Ang dapat kong malamang na magkaroon ng isang variable na tinatawag na laki upang maaari naming gawin ito 837 00:44:39,000 --> 00:44:41,000 sa pare-pareho ang oras, ngunit na medyo madali. 838 00:44:41,000 --> 00:44:45,000 Oh, at pagkatapos ay mag-ibis maglapag, kung gusto talaga namin sa anal dito 839 00:44:45,000 --> 00:44:47,000 maaari naming sabihin na kung paano kang tanggalin ng. 840 00:44:47,000 --> 00:44:49,000 Mo lamang itakda ang variable na katumbas sa isang walang laman na array, 841 00:44:49,000 --> 00:44:51,000 at nakakakuha ng mapupuksa ng lahat ng doon. 842 00:44:51,000 --> 00:44:53,000 Hindi na kailangang tumawag libreng. 843 00:44:53,000 --> 00:44:56,000 >> Muli, ko na cut ilang mga sulok, at humihingi ako ng paumanhin para sa nagtatalaga ng problema sa set 5 844 00:44:56,000 --> 00:45:00,000 marahil sa C, ngunit kung namin ngayon sige at patakbuhin ang, 845 00:45:00,000 --> 00:45:02,000 Ako pagpunta sa aktwal na patakbuhin ang bersyon na sinulat ni ako nang maaga 846 00:45:02,000 --> 00:45:05,000 lang kaya na hindi ako gumawa ng anumang syntactical pagkakamali sa anumang. 847 00:45:05,000 --> 00:45:08,000 Hayaan akong magpatuloy at patakbuhin ang speller. Ang paggamit ay ang parehong. 848 00:45:08,000 --> 00:45:12,000 Narito ang isang diksyunaryo file na lamang naglalaman ng mga salita foo. 849 00:45:12,000 --> 00:45:15,000 Narito ang isang text file na lamang naglalaman ng foo bar. 850 00:45:15,000 --> 00:45:19,000 Natin ang pang-check ng ito, kaya speller, gamit ang diksyunaryo file sa text file na ito. 851 00:45:19,000 --> 00:45:21,000 May isang maling nabaybay salita, bar, at voila. 852 00:45:21,000 --> 00:45:23,000 Tapos may pset 5. 853 00:45:23,000 --> 00:45:30,000 Natin ng isang 5-minutong break na dito, at magpapadala kami bumalik at higit pa sa PHP. 854 00:45:30,000 --> 00:45:32,000 Karapatan lahat, hindi namin pabalik. 855 00:45:32,000 --> 00:45:34,000 Natin ang mapoot akin para sa isang sandali. 856 00:45:34,000 --> 00:45:37,000 Natin ngayon aktwal na makita kung ito ay hindi isang positibong 857 00:45:37,000 --> 00:45:39,000 aktwal na pagpapatupad ang bagay na ito sa PHP. 858 00:45:39,000 --> 00:45:43,000 Ipinagkaloob, ito kinuha 45 segundo upang ipatupad. 859 00:45:43,000 --> 00:45:45,000 >> Ngunit sabihin magpatuloy ngayon at patakbuhin ang mga bagay. 860 00:45:45,000 --> 00:45:49,000 Hayaan akong magpatuloy at magpatakbo ng isang C bersyon 861 00:45:49,000 --> 00:45:52,000 ng speller, at kami na patakbuhin ito sa isa sa mga pinakamalaking mga file, 862 00:45:52,000 --> 00:45:54,000 na ang King James Bibliya. 863 00:45:54,000 --> 00:45:57,000 At na dito ay sabihin sa aming folder sa C, 864 00:45:57,000 --> 00:46:01,000 speller sa King James ika-5. 865 00:46:01,000 --> 00:46:03,000 Isang maraming mga maling nabaybay na mga salita. 866 00:46:03,000 --> 00:46:06,000 Okay, sa gayon na ang output Nakakuha marahil kahit na ang mga oras ng kaunti ibang, 867 00:46:06,000 --> 00:46:09,000 kung nakuha mo lahat gumagana nang tama, at kaya oras kabuuang sa pang-check 868 00:46:09,000 --> 00:46:13,000 King James Bibliya ay .38 segundo, kaya medyo magandang gamit na pagpapatupad. 869 00:46:13,000 --> 00:46:16,000 Ngayon hayaan mo akong pumunta sa ang PHP bersyon, na lang namin sinulat ni. 870 00:46:16,000 --> 00:46:18,000 Hayaan akong magpatakbo ng speller sa King James. 871 00:46:18,000 --> 00:46:21,000 Whoops, balewalain ang error na iyon. Ako sa maling direktoryo. 872 00:46:21,000 --> 00:46:24,000 Speller sa King James ika-5. 873 00:46:46,000 --> 00:46:48,000 Halos tapos na. 874 00:46:48,000 --> 00:46:51,000 >> Okay, ang matalas tagamasid ay mapagtanto na higit sa 3 segundo ang doon. 875 00:46:51,000 --> 00:46:54,000 Iyon ay ang tunay na tumatakbo oras. 876 00:46:54,000 --> 00:46:58,000 Ito lumiliko out na ito ay tumatagal ng oras sa tuhugan ng maraming teksto out 877 00:46:58,000 --> 00:47:00,000 dahil sa buffering ng mga isyu, ngunit mahabang kuwento maikling, 878 00:47:00,000 --> 00:47:04,000 na 3.15 segundo ng oras ng machine, CPU oras, 879 00:47:04,000 --> 00:47:07,000 kumpara sa kung ano ang ito ng ilang sandali ang nakalipas? 880 00:47:07,000 --> 00:47:09,000 Tulad ng 0.3. 881 00:47:09,000 --> 00:47:11,000 Ibig kong sabihin, isang order ng magnitude na mas mabagal, kaya kung saan ay ang 882 00:47:11,000 --> 00:47:14,000 katawa-tawa paghina nagmumula? 883 00:47:14,000 --> 00:47:17,000 Well, bilang ay ang kaso sa karamihan sa anumang desisyon ng disenyo na ginawa naming 884 00:47:17,000 --> 00:47:21,000 sa klase sa nakalipas na 9 linggo halos palaging tradeoff ito. 885 00:47:21,000 --> 00:47:24,000 Minsan sa pagitan lamang espasyo, minsan sa pagitan ng espasyo at oras, 886 00:47:24,000 --> 00:47:27,000 espasyo, oras at pagsisikap sa pag-unlad, at sa katunayan dito, kahit na 887 00:47:27,000 --> 00:47:31,000 naka-save na namin ang isang malaking halaga ng oras, maaaring potensyal 10-20-30 oras 888 00:47:31,000 --> 00:47:34,000 ng oras ng pag-unlad na pagpapatupad spell checker 889 00:47:34,000 --> 00:47:36,000 sa pamamagitan ng paghagupit ito sa loob ng 45 segundo gamit ang wikang ito 890 00:47:36,000 --> 00:47:40,000 ang presyo na binabayaran namin na ito ay isang order ng magnitude na mas mabagal bilang isang resulta, 891 00:47:40,000 --> 00:47:43,000 at ito ay ang kaso sa karamihan sa anumang kahulugan na wika, 892 00:47:43,000 --> 00:47:46,000 PHP, Python, Ruby, Pearl o sa iba kung saan 893 00:47:46,000 --> 00:47:49,000 kung ikaw ay pagpunta upang patakbuhin ang mga ito sa pamamagitan ng interpreter at may basahin ang iyong code 894 00:47:49,000 --> 00:47:52,000 linya sa pamamagitan ng linya, itaas hanggang sa ibaba, kaliwa hanggang kanang, 895 00:47:52,000 --> 00:47:55,000 na mamamakyaw ay pagpunta sa tumagal ng ilang oras sa sarili nitong, 896 00:47:55,000 --> 00:47:59,000 at kung ano ang pakiramdam dito sa 3 segundo bilang kabaligtaran sa 0.3 segundo 897 00:47:59,000 --> 00:48:02,000 ay ang katunayan na ito mamamakyaw na may sa literal na bigyang-kahulugan ang aming code 898 00:48:02,000 --> 00:48:05,000 linya sa pamamagitan ng linya, at ang Diyos ipagbawal kung ikaw ay sa loob ng isang loop 899 00:48:05,000 --> 00:48:08,000 may isang malaking file na naglalaman ng daan-daang libu-libong ng mga salita. 900 00:48:08,000 --> 00:48:11,000 >> Na overhead ay pagpunta sa magdagdag ng hanggang at magdagdag at magdagdag at magdagdag ng hanggang. 901 00:48:11,000 --> 00:48:16,000 Para sa isang tool tulad ng ito ay marahil hindi ang pinakamahusay na wika upang gamitin para sa pagpapatupad 902 00:48:16,000 --> 00:48:20,000 isang spell checker kung kamadalian ng interes sa iyong mga gumagamit at sa iyo. 903 00:48:20,000 --> 00:48:23,000 Ngunit ang luxury na mayroon kami sa isang sandali kung ikaw 904 00:48:23,000 --> 00:48:27,000 gumamit ng wika tulad ng PHP o ng maraming mga kahulugan wika 905 00:48:27,000 --> 00:48:30,000 sa konteksto ng Web, para sa bagay na iyon, mayroon kang ang pakinabang 906 00:48:30,000 --> 00:48:34,000 na ang internet sa maraming mas mabagal kaysa sa karamihan ng mga computer. 907 00:48:34,000 --> 00:48:38,000 GHz CPU sa iyong computer, 2 GHz, marahil ng mas maraming mga araw na ito. 908 00:48:38,000 --> 00:48:41,000 Ngunit ang katotohanan ay sa internet ay isang mataas na halaga ng latency 909 00:48:41,000 --> 00:48:45,000 kung saan para sa isang browser upang makipag-usap sa isang server, kahit na nakita natin noong nakaraang linggo 910 00:48:45,000 --> 00:48:47,000 na na medyo mabilis, kalahating millisecond o kaya, 911 00:48:47,000 --> 00:48:51,000 na masyadong nagdadagdag, at kung nagda-download ka ng mga bagay tulad ng isang imahe 912 00:48:51,000 --> 00:48:54,000 o isang larawan sa Facebook o pagkuha ng mga instant message sa paglipas ng Facebook magdaldalan, 913 00:48:54,000 --> 00:48:57,000 Gchat o tulad ng, ang lahat ng mga round-trip beses 914 00:48:57,000 --> 00:49:00,000 sa pagitan ng mga browser at ang pagsisimula ng server upang magdagdag ng hanggang, 915 00:49:00,000 --> 00:49:03,000 na gumagawa ng iyong partikular na pagpili ng wika sa maraming mga kaso 916 00:49:03,000 --> 00:49:07,000 hindi lahat na may-katuturan, kaya ikaw masarap na gamit ang isang bahagyang mas mabagal wika 917 00:49:07,000 --> 00:49:10,000 tulad ng PHP o Python o Ruby 918 00:49:10,000 --> 00:49:13,000 ngunit kung saan may malaking upsides sa iyo at sa iyong mga kasamahan 919 00:49:13,000 --> 00:49:17,000 at ang iyong mga kaibigan dahil maaari mong ipatupad ang mga bagay ito, kaya mas mabilis. 920 00:49:17,000 --> 00:49:20,000 At bukod doon, mayroon kang higit na mas mababa panganib ng ilang mga flaws sa seguridad. 921 00:49:20,000 --> 00:49:22,000 Walang payo sa PHP. 922 00:49:22,000 --> 00:49:25,000 Walang seg faults na maaari mong madaling ibuyo 923 00:49:25,000 --> 00:49:27,000 sa parehong paraan na maaari mong sa C. 924 00:49:27,000 --> 00:49:29,000 Na may C ikaw sobrang malapit sa hardware. 925 00:49:29,000 --> 00:49:33,000 Gamit ang PHP at katulad na mga wika na uri ng mas mataas na antas, kaya na magsalita, 926 00:49:33,000 --> 00:49:37,000 na may maraming ng mga panlaban sa pagitan mo at kung ano ang aktwal na pagpunta sa 927 00:49:37,000 --> 00:49:39,000 sa loob ng machine, at isang tradeoff. 928 00:49:39,000 --> 00:49:42,000 >> Namin nakuha ang punto ng pagkakaroon ng mga mas modernong, mataas na antas ng wika 929 00:49:42,000 --> 00:49:47,000 tulad ng PHP dahil sa ang mga aralin na natutunan sa mga wika tulad ng PHP sa C. 930 00:49:47,000 --> 00:49:50,000 Ngunit kung hindi mo maintindihan kung ano ang nangyayari sa ilalim ng hood lahat oras na ito 931 00:49:50,000 --> 00:49:53,000 tiyak na hindi mo maaaring gawin ang karapatan na desisyon ng disenyo, 932 00:49:53,000 --> 00:49:56,000 at tiyak na pagdating sa nagtatrabaho sa isang lugar tulad ng Facebook o Google 933 00:49:56,000 --> 00:49:59,000 o anumang ng mga lugar na ito na ay nagiging paglalaro ng may malaking data nagtatakda 934 00:49:59,000 --> 00:50:01,000 kahit na bumalik at premed at pakikipagtulungan sa ilang MD 935 00:50:01,000 --> 00:50:04,000 sa ilang malaking data ang kinasasangkutan ng mga pasyente at mga doktor 936 00:50:04,000 --> 00:50:08,000 at ang mga tulad ng paggamit ng mga tamang tool hugely nakapanghihimok 937 00:50:08,000 --> 00:50:11,000 dahil kung hindi man ang iyong pag-aaral ng ilang mga hanay ng data ay maaaring tumagal ng ilang segundo, 938 00:50:11,000 --> 00:50:14,000 o baka literal tumagal ng mga oras. 939 00:50:14,000 --> 00:50:17,000 Ito ay isang halimbawa lamang, hindi sa siphayuin sa iyo kung magkano pa pagsisikap 940 00:50:17,000 --> 00:50:21,000 ito ay sa C ngunit upang matulungan Pinapahalagahan mo na kapag ikaw ipatupad ang isang bagay sa C 941 00:50:21,000 --> 00:50:24,000 mo ba talagang maunawaan, o sa teorya, talagang maunawaan 942 00:50:24,000 --> 00:50:28,000 kung paano ang lahat ng bagay ay o dapat na gumagana, at mayroon kang halos buong kontrol 943 00:50:28,000 --> 00:50:31,000 sa kung ano ang nangyayari sa ilalim ng hood, at may mga mas mataas na antas ng wika 944 00:50:31,000 --> 00:50:34,000 mayroon kang mag-iwan ng higit pang kontrol sa mga tao na imbento kanila 945 00:50:34,000 --> 00:50:37,000 at nakabatay higit pa sa kanilang mga desisyon sa disenyo kaysa sa iyo. 946 00:50:37,000 --> 00:50:41,000 Ngunit kung namin mang-ahas na ang pagganap 947 00:50:41,000 --> 00:50:44,000 hindi pa bilang mahalaga sa Web dahil sa mga iba pang mga isyu na, 948 00:50:44,000 --> 00:50:47,000 lamang bilis ng network ay isang maliit na mas mabagal kaysa sa mga bilis ng CPU pa rin, 949 00:50:47,000 --> 00:50:50,000 upang maaari naming pag-uri-uriin ng kayang gamitin ang isang bahagyang mas mabagal wika 950 00:50:50,000 --> 00:50:55,000 kung ang mga upsides ay maaari kaming bumuo ng mga bagay na 10 beses na mas mabilis o kahit pa. 951 00:50:55,000 --> 00:50:57,000 >> Natin makita kung paano maaari naming simulan ang paggamit ng. 952 00:50:57,000 --> 00:51:00,000 Hayaan akong pumunta sa isang folder 953 00:51:00,000 --> 00:51:03,000 kabilang sa mga halimbawa sa ngayon na tinatawag frosh.ims, 954 00:51:03,000 --> 00:51:06,000 at ito ay aktwal na personal motivated sa pamamagitan ng ang katunayan na ang unang bagay 955 00:51:06,000 --> 00:51:10,000 Sinulat ni ko para sa Web taon na ang nakalipas pagkatapos ng pagkuha ng CS50 at CS51 956 00:51:10,000 --> 00:51:14,000 ay isang website para sa programa ng Frosh IMs, presman nasa loob ng lunsod sports, 957 00:51:14,000 --> 00:51:16,000 na sa oras na ito ay sapat na taon na ang nakakaraan na sa panahon 958 00:51:16,000 --> 00:51:19,000 walang website para sa programa, kahit na nagkaroon ng Web, 959 00:51:19,000 --> 00:51:22,000 at sa halip ay nagkaroon ng Proctor sa Wigglesworth kung saan kung gusto mo 960 00:51:22,000 --> 00:51:26,000 upang magrehistro para sa volleyball o soccer o anumang nais mong punan ang isang piraso ng papel. 961 00:51:26,000 --> 00:51:28,000 Gusto mong maglakad sa kabuuan ng bakuran. 962 00:51:28,000 --> 00:51:31,000 Pagkatapos mong kumatok sa kanilang pinto at slide sa kanilang pinto o sa Proctor 963 00:51:31,000 --> 00:51:34,000 isang piraso ng papel sa iyong pangalan dito, kung gusto o ayaw mo sa isang koponan kapitan, 964 00:51:34,000 --> 00:51:37,000 kung ano ang sport na gusto mo gawin, at kung ano ang dorm mo. 965 00:51:37,000 --> 00:51:39,000 Ito ay uri ng isang lumang paraan ng paaralan ng paggawa ng mga bagay, at ito ay isang de-kalidad na 966 00:51:39,000 --> 00:51:41,000 pagkakataon na i-automate ng maraming ng prosesong ito. 967 00:51:41,000 --> 00:51:43,000 Ka pumunta lamang sa website. Kang mag-type ng. 968 00:51:43,000 --> 00:51:46,000 Makakuha ka ng email sa pagkumpirma, at boom, tapos ka na. 969 00:51:46,000 --> 00:51:49,000 >> Ito ay ang unang bagay na ko ginawa, kahit na sa isang wika na tinatawag na Pearl, 970 00:51:49,000 --> 00:51:52,000 pero medyo madali upang gawin sa PHP, at ito ay uri ng kinatawan 971 00:51:52,000 --> 00:51:55,000 ng problema, maaari mong simulan ang paglutas kapag maaari mong ipahayag ang iyong sarili 972 00:51:55,000 --> 00:51:58,000 programa at huwag umasa sa mga bagay tulad ng mga site ng Google 973 00:51:58,000 --> 00:52:01,000 o Excel o tool na ipinasa sa iyo. 974 00:52:01,000 --> 00:52:03,000 Mong guys ay mayroon na ngayong kakayahan upang gawin ang mga bagay tulad nito. 975 00:52:03,000 --> 00:52:06,000 Ito ay isang sobrang pangit na bersyon ng isang form, 976 00:52:06,000 --> 00:52:09,000 ngunit sabihin lamang gamitin ito para sa simula ng pag-uusap kung saan ito ay 977 00:52:09,000 --> 00:52:12,000 halos kung ano ang form mukhang taon na ang nakakaraan para sa amin 978 00:52:12,000 --> 00:52:14,000 upang paganahin ang mga tao sa Web upang mag-sign up para sa Frosh IMs. 979 00:52:14,000 --> 00:52:18,000 Hiniling namin para sa isang pangalan, isang checkbox para sa man o hindi nila gusto na ang kapitan, 980 00:52:18,000 --> 00:52:21,000 lalaki o babae, at pagkatapos ay kung ano ang dorm sila ay sa, 981 00:52:21,000 --> 00:52:23,000 at pagkatapos ay sila ay isumite ang form na ito. 982 00:52:23,000 --> 00:52:27,000 Natin ang unang hitsura sa ilalim ng hood sa HTML na kumakatawan ang webpage na ito. 983 00:52:27,000 --> 00:52:31,000 Hayaan akong pumunta sa froshims0, 984 00:52:31,000 --> 00:52:35,000 at bilang isang bukod, pset 7 ako pagkuha para sa ipinagkaloob 985 00:52:35,000 --> 00:52:37,000 ang mga direktoryo at ang mga folder na ako ng paglalagay ng mga bagay. 986 00:52:37,000 --> 00:52:40,000 Gagabayan ka namin sa pamamagitan ng eksakto kung saan ang mga bagay-bagay ay may upang pumunta sa appliance, 987 00:52:40,000 --> 00:52:43,000 kung aling mga mod utos mayroon kang upang tumakbo, kaya huwag mag-alala tungkol sa lahat ng 988 00:52:43,000 --> 00:52:46,000 bobo mga detalye ng pag-sync mula sa makakuha-pumunta dito. 989 00:52:46,000 --> 00:52:49,000 >> Lahat ng karapatan, narito ang froshims0.php. 990 00:52:49,000 --> 00:52:52,000 Hayaan sa akin na mag-scroll pababa, at kung ano ang usyoso dito, 991 00:52:52,000 --> 00:52:56,000 ito ay isang PHP file, ngunit kung ano ang sa loob nito, malinaw? 992 00:52:56,000 --> 00:52:59,000 Ito ay isang buong maraming ng HTML, at sa katunayan, PHP ng pinagmulan 993 00:52:59,000 --> 00:53:02,000 talaga ay para sa Web-sentrik wika. 994 00:53:02,000 --> 00:53:04,000 Isang sandali ang nakalipas ginamit namin ito ipatupad ang halimbawa ng beer, 995 00:53:04,000 --> 00:53:07,000 ang mga kondisyon ng Halimbawa, kumusta Halimbawa, at na fine. 996 00:53:07,000 --> 00:53:11,000 Maaari mong gamitin ang PHP bilang isang scripting wika 997 00:53:11,000 --> 00:53:15,000 kung saan ang script ng ay talagang lamang ang mga katawagan na ibinigay sa isang mabilis at marumi na programa 998 00:53:15,000 --> 00:53:19,000 o isang bagay na magsulat sa scripted o higit pa sa pangkalahatan ng kahulugan na wika. 999 00:53:19,000 --> 00:53:22,000 PHP ay sobrang kapaki-pakinabang para sa dahil nakita mo kung gaano kabilis 1000 00:53:22,000 --> 00:53:24,000 medyo maaari naming gumawa ng mga programa sa PHP. 1001 00:53:24,000 --> 00:53:27,000 Ngunit talagang ito ay dinisenyo upang magamit para sa Web, 1002 00:53:27,000 --> 00:53:31,000 at dinisenyo para sa Web sa kamalayan na mapansin dito sa tuktok ng file 1003 00:53:31,000 --> 00:53:34,000 Ko magsimula sa 00:53:38,000 Pagkatapos Mayroon akong ng grupo ng mga walang silbi komento, ipinagkaloob, ngunit pagkatapos kong isara ang PHP mode. 1005 00:53:38,000 --> 00:53:41,000 Ngunit pagkatapos ko drop sa HTML mode. 1006 00:53:41,000 --> 00:53:45,000 >> Ano ang mga kawili-wiling tungkol sa PHP kahit file na nagtatapos sa. Php 1007 00:53:45,000 --> 00:53:48,000 pangkalahatan ito ay nilalayong co-pinaghalo sa HTML, 1008 00:53:48,000 --> 00:53:50,000 ilang PHP code, ang ilang mga HTML. 1009 00:53:50,000 --> 00:53:53,000 At kami na makita malaon na maaari naming magsimula sa manunudyo mga bukod 1010 00:53:53,000 --> 00:53:56,000 at panatilihin ang aming HTML hiwalay na mula sa aming PHP kabuuan, 1011 00:53:56,000 --> 00:53:59,000 ngunit ang mga pinagmulan ng PHP talagang ay upang bigyan ito ng kakayahang umangkop, 1012 00:53:59,000 --> 00:54:02,000 kung nais mo ng ilang mga HTML magsulat lamang ito, at na magiging 1013 00:54:02,000 --> 00:54:04,000 sabihin ang lahat identically sa browser. 1014 00:54:04,000 --> 00:54:07,000 Ngunit kung kailangan mo ng ilang mga diskarte sa programming, 1015 00:54:07,000 --> 00:54:12,000 ilang programming code, maaari mo ring ilagay ito sa parehong eksaktong file, dahil kakailanganin namin sa lalong madaling panahon makita. 1016 00:54:12,000 --> 00:54:14,000 Narito ang aking HTML. 1017 00:54:14,000 --> 00:54:16,000 Mayroon akong isang pamagat ng ito para sa Frosh IMs. 1018 00:54:16,000 --> 00:54:20,000 Mayroon akong isang tag ng katawan na nakuha ng ilang CSS dito sa lahat ng center sa gitna, 1019 00:54:20,000 --> 00:54:23,000 at pagkatapos ay down na dito Mayroon akong isang form na kung saan ay tila pagpunta sa isumite 1020 00:54:23,000 --> 00:54:27,000 sa isang bagong file na tinatawag na register0.php, kaya ipapakita namin makita na sa ilang sandali. 1021 00:54:27,000 --> 00:54:31,000 Ito gamit ang isang pamamaraan na tinatawag na post, na magpapadala kami bumalik sa pati na rin. 1022 00:54:31,000 --> 00:54:34,000 Pagkatapos Mayroon akong ilang mga input form, isang tinatawag na pangalan, na ang uri ng teksto, 1023 00:54:34,000 --> 00:54:37,000 isa na ang pangalan ay kapitan, na ang uri ay checkbox, 1024 00:54:37,000 --> 00:54:40,000 at ito, hindi namin nakita ito bago, ngunit ginagawa nito eksakto kung ano ang sinasabi nito. 1025 00:54:40,000 --> 00:54:42,000 Kang makakuha ng isang checkbox sa halip ng isang kahon ng teksto. 1026 00:54:42,000 --> 00:54:46,000 Down dito mayroon kang isang radio button, na kung saan ay isa ng mga paikot na pindutan 1027 00:54:46,000 --> 00:54:48,000 na maaari mong alinman sa piliin ang isa o ang isa. 1028 00:54:48,000 --> 00:54:52,000 >> Mapansin ito ay sinadya na ibinigay ko parehong radio button ang pangalan ng kasarian. 1029 00:54:52,000 --> 00:54:55,000 Ito ay kung paano makakakuha ka ng magkaparehong pagbubukod kung saan kailangan mong i-click ang 1030 00:54:55,000 --> 00:54:58,000 alinman ito ng isa o na ang isa, at sa pamamagitan ng pag-click sa iba pang mga 1031 00:54:58,000 --> 00:55:01,000 ito unchecks ang iba pa, kaya mayroon kang upang bigyan ang mga ito ng parehong pangalan 1032 00:55:01,000 --> 00:55:03,000 kung nais mong ang mga ito sa kapwa eksklusibong tulad na. 1033 00:55:03,000 --> 00:55:07,000 At pagkatapos ay para sa dorm, hindi ko tingin nasaksihan namin ito pa, ngunit ito ay piliin ang menu, isang drop-down menu. 1034 00:55:07,000 --> 00:55:09,000 Ang tag para sa ay piliin ang. 1035 00:55:09,000 --> 00:55:11,000 Mo nang ibigay ang drop-down menu ng pangalan, 1036 00:55:11,000 --> 00:55:13,000 at pagkatapos ay mayroon kang isang buong grupo ng mga pagpipiliang ito. 1037 00:55:13,000 --> 00:55:16,000 Ang unang isa, para lamang sa aesthetics, ay isang walang laman na string. 1038 00:55:16,000 --> 00:55:20,000 Gusto ko lang sa drop down blangko sa pamamagitan ng default, 1039 00:55:20,000 --> 00:55:22,000 at pagkatapos ay mayroong sa Apley, Canaday, Grays, at iba pa. 1040 00:55:22,000 --> 00:55:24,000 At mapansin ang paghihiwalay sa dalawang bahagi dito. 1041 00:55:24,000 --> 00:55:27,000 Ang pagpipilian sa drop down na may isang halaga, 1042 00:55:27,000 --> 00:55:30,000 ngunit ito ay isang tao-friendly pangalan, na sa halimbawang ito 1043 00:55:30,000 --> 00:55:33,000 ay magkakahawig, ngunit kung gusto talaga namin na anal kami 1044 00:55:33,000 --> 00:55:36,000 ang halaga ng mga ito drop down na lamang ang maikling bersyon, 1045 00:55:36,000 --> 00:55:39,000 Grays, ngunit maaari kaming talagang sabihin Grays Hall na ang tao ang aktwal na nakikita, 1046 00:55:39,000 --> 00:55:43,000 ngunit hindi ang lahat ng mga kawili-wiling, kaya ko lang iningatan itong simple at ginawa kanila magkakahawig. 1047 00:55:43,000 --> 00:55:46,000 Pagkatapos pababa sa ibaba mayroon kaming isumite pindutan 1048 00:55:46,000 --> 00:55:49,000 na aming nakita bago, ngunit mapansin ko lang nagbigay ito ng ibang salita. 1049 00:55:49,000 --> 00:55:53,000 Sa halip ng CS50 paghahanap ibinigay ko ang label "Magrehistro." 1050 00:55:53,000 --> 00:55:56,000 >> Ang resulta ay ang webpage na ito dito, at muli, 1051 00:55:56,000 --> 00:56:00,000 kung saan ay ang makapag isinumite sa? 1052 00:56:00,000 --> 00:56:04,000 Ito ay makakakuha ng isinumite sa ilang mga file, ang halaga ng katangian ng pagkilos, 1053 00:56:04,000 --> 00:56:07,000 na register0.php. 1054 00:56:07,000 --> 00:56:09,000 Natin makita kung ano ang aktwal na mangyayari dito. 1055 00:56:09,000 --> 00:56:13,000 Hayaan akong sige at punan ang form na ito, sabihin nating David, 1056 00:56:13,000 --> 00:56:16,000 lalaki, Matthews, at pagkatapos ay Sasabihin kong magparehistro. 1057 00:56:16,000 --> 00:56:18,000 Hayaan akong mag-zoom out at i-click ang magparehistro. 1058 00:56:18,000 --> 00:56:22,000 Okay, sa gayon uri ng walang kasaysayan, ngunit sabihin makita kung ano ang aktwal na pagpunta sa. 1059 00:56:22,000 --> 00:56:26,000 Pansinin na ang URL ay nagbago na register0.php. 1060 00:56:26,000 --> 00:56:34,000 Ano ang pausisa wala mula sa URL, bagaman, kahit kami ay nagsumite lamang ng isang form? 1061 00:56:34,000 --> 00:56:37,000 [Hindi marinig na mag-aaral ng tugon] 1062 00:56:37,000 --> 00:56:39,000 Okay, na lamang Chrome pagiging user friendly na mga araw na ito. 1063 00:56:39,000 --> 00:56:42,000 Na ang aktwal na doon. Lang nila itago ang mga ito upang i-save ng puwang. 1064 00:56:42,000 --> 00:56:44,000 Ngunit magandang pag-iisip, mabuting pag-iisip. 1065 00:56:44,000 --> 00:56:46,000 Patungo sa iba pang mga dulo ng URL, bagaman, kung ano kulang? Oo. 1066 00:56:46,000 --> 00:56:48,000 [Mag-aaral] Ang query string. 1067 00:56:48,000 --> 00:56:51,000 Ang query string, kaya isipin ang mula sa aming simpleng halimbawa ng paghahanap ng Google. 1068 00:56:51,000 --> 00:56:54,000 Sa lalong madaling ko i-click ang isumite ang pindutan ng URL 1069 00:56:54,000 --> 00:57:00,000 kinuha ako sa Google, ngunit pagkatapos ay nagkaroon? q = computer science o anumang ko ay nai-type. 1070 00:57:00,000 --> 00:57:04,000 Iyon ay dahil ginamit namin ang get paraan sa mga halimbawa ng paghahanap. 1071 00:57:04,000 --> 00:57:06,000 >> Oras na ito na ginagamit namin kung ano ang paraan ng sa halip? 1072 00:57:06,000 --> 00:57:10,000 Mag-post, at isa ng agarang pagkakakilanlan 1073 00:57:10,000 --> 00:57:14,000 sa pagitan makakuha ng at i-post ang post na hindi ilagay ang input ng user sa URL. 1074 00:57:14,000 --> 00:57:16,000 Itinatago ito ito. Nagpapadala pa rin ito dito. 1075 00:57:16,000 --> 00:57:19,000 Sa katunayan, kung ano ang aming nakikita sa browser dito, dahil kakailanganin namin magbunyag sa isang sandali 1076 00:57:19,000 --> 00:57:22,000 sa pamamagitan ng pagtingin sa register0, lang ako nakakakita ng mga nilalaman 1077 00:57:22,000 --> 00:57:25,000 ng array na isinumite mula sa browser sa server. 1078 00:57:25,000 --> 00:57:29,000 Ngunit ang URL ay hindi magkaroon ng?, Ay hindi magkakaroon ng anumang mga keyword 1079 00:57:29,000 --> 00:57:31,000 o mga halaga sa loob nito, at kung bakit ay na? 1080 00:57:31,000 --> 00:57:35,000 Well, post pinapayagan mo pa rin isumite ang mga data mula sa form sa isang server, 1081 00:57:35,000 --> 00:57:38,000 ngunit hindi ito ilagay ang mga ito sa URL, kaya kung anong uri ng impormasyon post 1082 00:57:38,000 --> 00:57:41,000 partikular na naaangkop para sa marahil kapag ikaw ay hinihiling ang gumagamit sa 1083 00:57:41,000 --> 00:57:44,000 type sa input sa isang form? 1084 00:57:44,000 --> 00:57:48,000 Isang bagay tulad ng isang password, ang isang bagay tulad ng ano pa? 1085 00:57:48,000 --> 00:57:50,000 Numero ng credit card. 1086 00:57:50,000 --> 00:57:53,000 Anumang bagay na nang mahinahon sensitive mo marahil hindi nais na nagtatapos sa URL 1087 00:57:53,000 --> 00:57:56,000 kung lamang dahil ito ay nangangahulugan na ang iyong kasama o miyembro ng pamilya ay maaaring lamang awitin sa pamamagitan ng 1088 00:57:56,000 --> 00:57:59,000 ang iyong kasaysayan ng internet at pagkatapos ay literal makita ang iyong mga password, 1089 00:57:59,000 --> 00:58:02,000 literal na makita ang iyong numero ng credit card dahil sa karamihan sa mga browser 1090 00:58:02,000 --> 00:58:05,000 tandaan sa kasaysayan anumang URL pa sa, 1091 00:58:05,000 --> 00:58:09,000 kaya kung lamang dahil iyon ay isang masamang ideya. 1092 00:58:09,000 --> 00:58:11,000 Paggamit ng mga Itinatago ng post na detalye mula sa user. 1093 00:58:11,000 --> 00:58:14,000 >> Gayundin, kung paano mo mag-upload ng isang larawan sa Facebook? 1094 00:58:14,000 --> 00:58:17,000 Well, lamang ang 2 mekanismo Maaari mo ba talagang gamitin, 1095 00:58:17,000 --> 00:58:21,000 kahit na may ilang iba pang higit pa arcane mga, makakuha at mag-post. 1096 00:58:21,000 --> 00:58:26,000 Paano mo posibleng mag-upload ng isang larawan sa pamamagitan ng isang URL? 1097 00:58:26,000 --> 00:58:28,000 Maaari mong aktwal na gawin ito. 1098 00:58:28,000 --> 00:58:30,000 Maaari kang kumuha ng JPEG o bitmap o GIF at maaari mong kumatawan ang mga ito sa hexadecimal 1099 00:58:30,000 --> 00:58:32,000 o isang bagay na tinatawag na base 64. 1100 00:58:32,000 --> 00:58:35,000 Sa halip na base 16 gumamit ka ng base 64, na mahalagang kamukha 1101 00:58:35,000 --> 00:58:38,000 ASCII na mga character, at aktwal na mag-upload ng isang larawan sa pamamagitan ng isang URL 1102 00:58:38,000 --> 00:58:41,000 pagkatapos ng tandang pananong, ngunit may pangkalahatang limitasyon sa laki. 1103 00:58:41,000 --> 00:58:44,000 Karamihan sa mga browser ay piliting URL upang maging hindi hihigit sa 1,000 na mga character, 1104 00:58:44,000 --> 00:58:47,000 siguro 2,000 mga character o ang tulad ng, kaya hindi mo maaaring mag-upload 1105 00:58:47,000 --> 00:58:50,000 may 10 MB Facebook larawan. 1106 00:58:50,000 --> 00:58:54,000 Para na gamitin mo ang post pati na rin, kaya sa ngayon makapag Inilalagay ng ang mga parameter sa URL, 1107 00:58:54,000 --> 00:58:57,000 na maganda at kapaki-pakinabang minsan, ngunit para sa anumang sensitibong o malaking 1108 00:58:57,000 --> 00:58:59,000 post ang paraan upang pumunta. 1109 00:58:59,000 --> 00:59:02,000 Ano ang register0 aktwal na ginagawa dito? 1110 00:59:02,000 --> 00:59:05,000 Well, kung buksan ko register0 paunawa na ito ay isang sobrang simple na pahina, 1111 00:59:05,000 --> 00:59:09,000 ngunit ito ay nagpapakita ng katotohanan na maaari kong co-makisalamuha, para sa mas mahusay o para sa mas masahol pa, 1112 00:59:09,000 --> 00:59:12,000 HTML sa PHP. 1113 00:59:12,000 --> 00:59:15,000 Ang buong file, maliban para sa mga komento sa itaas, HTML 1114 00:59:15,000 --> 00:59:19,000 maliban sa mga tao na ito dito. 1115 00:59:19,000 --> 00:59:22,000 >> Mapansin sa gitna ng aking code sa PHP, 1116 00:59:22,000 --> 00:59:26,000 sa gitna ng aking HTML, mayroon akong uri ng pansamantalang 1117 00:59:26,000 --> 00:59:28,000 ipinasok PHP mode. 1118 00:59:28,000 --> 00:59:31,000 Pagtawag ako ng isang espesyal na function na tinatawag na naka-print r. 1119 00:59:31,000 --> 00:59:34,000 Ito ay nangangahulugan na-print recursive, at kung ano ang ginagawa nito ay recursively mga Kopya 1120 00:59:34,000 --> 00:59:38,000 anumang variable mo ipasa ang mga ito, semicolon, PHP mode exit. 1121 00:59:38,000 --> 00:59:40,000 At ang pre tag ay nagbibigay sa iyo ng pre-formatted na teksto, 1122 00:59:40,000 --> 00:59:43,000 mono puwang ng teksto upang ang bawat espasyo iyong aktwal na makita ito. 1123 00:59:43,000 --> 00:59:46,000 Hindi ito mawala. Ano ang post na ito? 1124 00:59:46,000 --> 00:59:48,000 Well, kung ano ang kawili-wili at nakapanghihimok tungkol sa PHP 1125 00:59:48,000 --> 00:59:52,000 ay na kapag nagsumite ka ng isang form gamit makakuha o mag-post 1126 00:59:52,000 --> 00:59:56,000 anumang bagay na isinumite sa iyo sa pamamagitan ng isang browser 1127 00:59:56,000 --> 01:00:00,000 PHP mismo figure kung ano ang mga key na mga pares ng halaga, 1128 01:00:00,000 --> 01:00:02,000 figure kung may katumbas na mga palatandaan, mga numero kung may isang tandang pananong. 1129 01:00:02,000 --> 01:00:07,000 Ginagawa nito ang lahat ng mahirap na trabaho para sa iyo, at pagkatapos kamay ka ng isang nag-uugnay array 1130 01:00:07,000 --> 01:00:10,000 na naglalaman ng lahat na ang user type sa form. 1131 01:00:10,000 --> 01:00:12,000 Well, kung ano ang mga patlang ang form na ito? 1132 01:00:12,000 --> 01:00:14,000 >> Ito ay may 4 na mga patlang. 1133 01:00:14,000 --> 01:00:16,000 Ay isa isang patlang ng teksto na tinatawag na pangalan. 1134 01:00:16,000 --> 01:00:18,000 Isa isang checkbox na tinatawag na kapitan. 1135 01:00:18,000 --> 01:00:22,000 Ay isa isang radio button na tinatawag na kasarian, 1136 01:00:22,000 --> 01:00:24,000 at ang isa ay isang drop-down menu na tinatawag na dorm, 1137 01:00:24,000 --> 01:00:27,000 kaya mapansin kapag-print ko recursively 1138 01:00:27,000 --> 01:00:29,000 ang mga nilalaman ng mga ito ng espesyal na variable. 1139 01:00:29,000 --> 01:00:34,000 Ito ay isang espesyal na global variable na tinatawag na literal $ _POST, sa lahat ng mga cap. 1140 01:00:34,000 --> 01:00:39,000 Ito ay isang espesyal na global variable na lumilikha lamang ng PHP para sa iyo 1141 01:00:39,000 --> 01:00:42,000 at mga kamay sa iyo upang maaari mong ma-access ang lahat 1142 01:00:42,000 --> 01:00:45,000 na isinumite sa pamamagitan ng isang form ng isang user. 1143 01:00:45,000 --> 01:00:48,000 At sa pamamagitan ng pagtawag r ng naka-print na ito hindi mo nais gawin ito sa isang normal na application. 1144 01:00:48,000 --> 01:00:50,000 Ginagawa namin ito upang makita ang loob ng variable na ito, 1145 01:00:50,000 --> 01:00:53,000 at kung ano ang sa loob nito, na rin, 4 key, 1146 01:00:53,000 --> 01:00:56,000 4 http parameter, kaya na magsalita, 1147 01:00:56,000 --> 01:00:59,000 pangalan, kapitan, kasarian, dorm, at pagkatapos ay ang halaga na ang user 1148 01:00:59,000 --> 01:01:01,000 na nai-type sa may isang pagbubukod. 1149 01:01:01,000 --> 01:01:03,000 Ginawa ko ang uri ng D-A-V-I-D. 1150 01:01:03,000 --> 01:01:05,000 Sinuri ko ang kahon, bagaman, para sa lalaki, na tila nagsumite ng halaga 1151 01:01:05,000 --> 01:01:07,000 ng m na ang maikli at malinaw. 1152 01:01:07,000 --> 01:01:10,000 >> Kapag pinili ko Matthews na ang halaga na Nakakuha napili, 1153 01:01:10,000 --> 01:01:12,000 at ito ay isang maliit na bobo, ngunit ang convention. 1154 01:01:12,000 --> 01:01:17,000 Kapag Sinuri ko ang kahon, ang isang halaga ng sa, "sa," Nakakuha na isinumite para sa checkbox. 1155 01:01:17,000 --> 01:01:21,000 Kung hindi ako ay naka-check ito, ang halaga na hindi sana ay naipadala anumang. 1156 01:01:21,000 --> 01:01:26,000 Ito ay nagbibigay sa amin ng mga pananaw sa kung ano ang sa loob ng mga ito ng espesyal na global variable, 1157 01:01:26,000 --> 01:01:29,000 at ito ay kaya espesyal na ito ay tinatawag na isang super global variable. 1158 01:01:29,000 --> 01:01:33,000 Umiiral sa lahat ng dako para sa iyo sa loob ng iyong code sa gayon na maaari mong aktwal na ma-access ang mga ito. 1159 01:01:33,000 --> 01:01:36,000 Na ito ay hindi na nakapanghihimok, kaya sabihin aktwal na gamitin ang sobrang pandaigdigang 1160 01:01:36,000 --> 01:01:38,000 at aktwal na subukan upang magrehistro ng isang tao. 1161 01:01:38,000 --> 01:01:41,000 Sa froshims1 ako pagpunta upang gumawa ng isang pagbabago. 1162 01:01:41,000 --> 01:01:44,000 Ako sa pagbabago ng pagkilos na ang register1.php, 1163 01:01:44,000 --> 01:01:46,000 at ako ang paggawa ng isa pang bagay. 1164 01:01:46,000 --> 01:01:48,000 Ako ay uri ng napahiya sa pamamagitan ng ang kalidad ng aking mga webpage doon. 1165 01:01:48,000 --> 01:01:52,000 Medyo kahindik-hindik, totoo lang, kaya lumiliko ang 1166 01:01:52,000 --> 01:01:56,000 na maaari mong gamitin ang napaka madaling sa Web 1167 01:01:56,000 --> 01:01:59,000 ng ibang tao JavaScript code, ng ibang tao CSS 1168 01:01:59,000 --> 01:02:02,000 na sila nakasulat at bukas inaning at ginawang magagamit bilang isang library, 1169 01:02:02,000 --> 01:02:06,000 kaya magsalita, at halimbawa, narito ako gamit ang isang malayang magagamit library, 1170 01:02:06,000 --> 01:02:08,000 ng grupo ng code na sinulat ni ang ibang tao. 1171 01:02:08,000 --> 01:02:11,000 >> Twitter nangyari upang isulat ang code na ito, at ito ay tinatawag bootstrap library, 1172 01:02:11,000 --> 01:02:15,000 at ng grupo ng mga CSS style sheet, ng grupo ng css file 1173 01:02:15,000 --> 01:02:19,000 isang tao na tao na sinulat ni at naisip kung paano upang makakuha ng lahat ng maganda at medyo 1174 01:02:19,000 --> 01:02:22,000 sa gayon ay maaari mag-alala ang mga tao tulad ng sa amin ng kaunti mas tungkol sa aesthetics at tumuon higit pa 1175 01:02:22,000 --> 01:02:24,000 sa logic at ang aktwal na programming. 1176 01:02:24,000 --> 01:02:30,000 Sa pamamagitan ng pag-link nito sa may na tag, na kung saan ay ang parehong tag ko ginamit Tandaan para sa styles3.css mas maaga, 1177 01:02:30,000 --> 01:02:34,000 Ako ngayon ay may access sa isang file na tinatawag na bootstrap.min.css. 1178 01:02:34,000 --> 01:02:37,000 Min lamang nangangahulugan sila na minified ito at sila na nakuha mapupuksa ng lahat ng mga puting espasyo at iba pa 1179 01:02:37,000 --> 01:02:40,000 lamang upang matiyak na hindi nila pagpapadala ng sa akin ang higit pang mga byte kaysa sa aktwal na ako kailangan. 1180 01:02:40,000 --> 01:02:45,000 Ngunit doon ay isang buong bungkos ng CSS, kaya kung ako ngayon buksan bersyon 1 ng Frosh IMs 1181 01:02:45,000 --> 01:02:49,000 mapansin ang aking file ay talagang prettier. 1182 01:02:49,000 --> 01:02:54,000 Ngayong pa rin lamang itim at puti, ngunit mapapansin na ang sa pamamagitan ng lamang gamit ang kanilang mga style sheet 1183 01:02:54,000 --> 01:02:58,000 at paggamit ng ilang mga tampok nito sa aking form hindi kamangha-manghang, 1184 01:02:58,000 --> 01:03:01,000 pero talagang cleaner kaysa ito ay bago, at ang projector ay hindi ginagawa ito ng katarungan. 1185 01:03:01,000 --> 01:03:05,000 Mayroong maliit na kulay-abo na mga linya sa paligid ng mga pindutan at sa buong patlang ng teksto sa dito mismo, 1186 01:03:05,000 --> 01:03:07,000 ngunit tiyak na cleaner kaysa ito ay bago. 1187 01:03:07,000 --> 01:03:09,000 >> Ngayon, sa pagkamakatarungan, ako ay upang baguhin ang aking markup ng kaunti. 1188 01:03:09,000 --> 01:03:12,000 Ito ay bersyon 1, at mapansin ko na ginagamit ng ilang mga bagong tag, 1189 01:03:12,000 --> 01:03:17,000 at sa totoo lang, Mayroon akong walang ideya kung paano gawin ito hanggang ko basahin ang dokumentasyon 1190 01:03:17,000 --> 01:03:20,000 para sa bootstrap library Twitter, at sinabi nila sa akin kung nais mong gamitin ang aming library 1191 01:03:20,000 --> 01:03:23,000 gumamit ng isang fieldset elemento sa loob ng iyong form, 1192 01:03:23,000 --> 01:03:27,000 ilagay ang salita na gusto mong ipakita sa tabi ng isang patlang sa loob ng isang tag ng label, 1193 01:03:27,000 --> 01:03:30,000 pagkatapos ay bigyan ang iyong input ng pangalan, tulad ng bago, 1194 01:03:30,000 --> 01:03:34,000 at pagkatapos ay para sa checkbox, hindi lamang mo I-wrap ito sa isang elemento ng label, 1195 01:03:34,000 --> 01:03:36,000 gumamit ka ng isang bagay na tinatawag na isang klase, kaya hindi namin nakita ito bago, 1196 01:03:36,000 --> 01:03:39,000 ngunit makikita mo ang sa isa ng short ng pset 7. 1197 01:03:39,000 --> 01:03:43,000 Isang klase sa CSS ay nagbibigay-daan sa ka ng isang bagay na halos kapareho sa ID, 1198 01:03:43,000 --> 01:03:46,000 ngunit bago kapag kami ay isang ID na may simbolo # 1199 01:03:46,000 --> 01:03:48,000 na para sa isa at ang isang elemento lamang. 1200 01:03:48,000 --> 01:03:51,000 Ano ang maganda ang tungkol sa isang klase ay ang maramihang mga elemento ng parehong klase 1201 01:03:51,000 --> 01:03:54,000 o ang parehong bagay sa CSS inilapat dito. 1202 01:03:54,000 --> 01:03:57,000 >> Ngunit muli, higit pa sa mga sa maikling, at ang natitira sa ay kopyahin lamang at i-paste 1203 01:03:57,000 --> 01:04:00,000 mula sa kanilang dokumentasyon kung saan Nagdagdag ako ng isang label dito at doon. 1204 01:04:00,000 --> 01:04:03,000 At sa dulo, dahil ko na kasama tag ang link sa itaas, 1205 01:04:03,000 --> 01:04:06,000 lahat mukhang prettier awtomatikong 1206 01:04:06,000 --> 01:04:10,000 sa pamamagitan ng simpleng pag-minarkahan ang aking pahina sa isang paraan na 1207 01:04:10,000 --> 01:04:12,000 Twitter inaasahan, at may kaya maraming iba't ibang paraan 1208 01:04:12,000 --> 01:04:14,000 ng paggawa na ito, at ito ay talagang napaka naaangkop. 1209 01:04:14,000 --> 01:04:17,000 Sa puntong ito sa semestre, tulad ng makikita mo ang sa spec ng pset 7, 1210 01:04:17,000 --> 01:04:20,000 Googling sa paligid, pagbabasa sa mga aklatan, gamit ng ibang tao CSS 1211 01:04:20,000 --> 01:04:23,000 at JavaScript upang malutas mababa problema 1212 01:04:23,000 --> 01:04:26,000 sa hanay problema tiyak mismo ay hinihikayat at ang paraan 1213 01:04:26,000 --> 01:04:29,000 Web ay binuo mga araw na ito, sa pamamagitan ng nakatayo sa sa balikat ng iba pang mga tao 1214 01:04:29,000 --> 01:04:32,000 sa gayon ay maaari mo ba talagang tumuon sa bago at kawili-wiling mga problema. 1215 01:04:32,000 --> 01:04:34,000 Ngunit ipaalam sa ngayon tumuon sa, muli, ang logic. 1216 01:04:34,000 --> 01:04:38,000 >> Na isang mabilis na liko sa mga aesthetics lamang upang ipakita sa iyo ang direksyon kung saan maaari kang pumunta. 1217 01:04:38,000 --> 01:04:40,000 Ako pagpunta sa bumalik sa hindi maganda ang isa sa ngayon dahil lang 1218 01:04:40,000 --> 01:04:44,000 walang distractions sa Twitter bagay, at ipaalam sa akin sige at buksan 1219 01:04:44,000 --> 01:04:51,000 froshims2, kung saan, muli, naiiba lamang sa pagkilos, register2.php, 1220 01:04:51,000 --> 01:04:55,000 at sabihin tumagal ng isang pagtingin sa kung ano ang epekto ng dito. 1221 01:04:55,000 --> 01:04:57,000 Hayaan akong magpatuloy at i-type sa David. 1222 01:04:57,000 --> 01:04:59,000 Hindi ko ay kapitan oras na ito. 1223 01:04:59,000 --> 01:05:01,000 Sasabihin kong lalaki, Matthews, rehistro. 1224 01:05:01,000 --> 01:05:05,000 Diyablo. Okay, na ang isang tornilyo sa aking bahagi. 1225 01:05:05,000 --> 01:05:07,000 Panigan. 1226 01:05:07,000 --> 01:05:17,000 Register2, linya 22, kung walang laman o-paumanhin. 1227 01:05:17,000 --> 01:05:19,000 Natin reload. 1228 01:05:19,000 --> 01:05:22,000 Okay, kapag pagsusumite ng form na ito kung ano lamang ang nangyari? 1229 01:05:22,000 --> 01:05:25,000 Ko na nai-type sa David, nasuri lalaki, click Matthews, rehistro. 1230 01:05:25,000 --> 01:05:27,000 Ikaw ay nakarehistro. (Well, hindi talaga.) 1231 01:05:27,000 --> 01:05:32,000 Malinaw na ito ay isang hakbang na lampas lamang ang pag-print out ang mga nilalaman ng ilang mga variable, 1232 01:05:32,000 --> 01:05:34,000 ngunit kung ano ang file na ito ay aktwal na ginagawa? 1233 01:05:34,000 --> 01:05:37,000 Sa register2.php 1234 01:05:37,000 --> 01:05:40,000 mapansin na mayroon akong ilang bagong code. 1235 01:05:40,000 --> 01:05:44,000 Sa loob ng aking katawan tag mayroon akong mahalagang isang kung tao bumuo, 1236 01:05:44,000 --> 01:05:47,000 ngunit dahil ako co-mingling ito na may ilang mga HTML 1237 01:05:47,000 --> 01:05:51,000 Mayroon akong upang ipasok at lumabas sa PHP mode at pabalik, kaya sabihin makita kung ano ang ako ginagawa. 1238 01:05:51,000 --> 01:05:55,000 >> Sa unang linya dito ako sinasabi kung ito ang kaso 1239 01:05:55,000 --> 01:06:00,000 na post sobrang global ay walang laman para sa key ng pangalan, 1240 01:06:00,000 --> 01:06:04,000 ito sa ibang salita, kung ang user ay hindi nagbibigay sa akin ng isang halaga para sa pangalan sa form, 1241 01:06:04,000 --> 01:06:07,000 pagkatapos ay walang laman ay nagbabalik ng tunay dahil ang halaga ay walang laman. 1242 01:06:07,000 --> 01:06:11,000 O mapansin ang vertical bar-kung ang kasarian ay walang laman 1243 01:06:11,000 --> 01:06:15,000 sa loob ng mga ito ng espesyal na sobrang global, kung saan, muli, kumakatawan sa mga nilalaman ng form, 1244 01:06:15,000 --> 01:06:19,000 o dorm ay walang laman, pagkatapos ay ako pagpunta upang magpatuloy at sumigaw sa user. 1245 01:06:19,000 --> 01:06:22,000 Paano? Well, mapansin ako pagpunta sa sabihin dapat kang magbigay ng iyong pangalan, kasarian, at dorm. 1246 01:06:22,000 --> 01:06:24,000 Natin ibuyo aktwal na pagkakamali. 1247 01:06:24,000 --> 01:06:27,000 Hayaan akong bumalik sa aking form na. Hayaan akong i-reload upang i-clear ito. 1248 01:06:27,000 --> 01:06:30,000 At ako pagpunta upang mabigyan sila David, at hindi nila kailangang alam kung saan ako nakatira. 1249 01:06:30,000 --> 01:06:33,000 Magrehistro. Tila ko kailangan upang sabihin sa kanila kung saan nakatira ko. 1250 01:06:33,000 --> 01:06:35,000 Dapat kang magbigay ng iyong pangalan, kasarian at dorm. Bumalik. 1251 01:06:35,000 --> 01:06:39,000 >> At maaari kong i-click ang upang bumalik sa form na iyon, ngunit kung bakit ay na? 1252 01:06:39,000 --> 01:06:43,000 Well, sa kaso na pangalan ay hindi walang laman, ngunit kasarian ay, at dorm ay, 1253 01:06:43,000 --> 01:06:47,000 kaya ito buong expression na sinusuri sa true, at kahit na ang syntax ng kaunti bagong, 1254 01:06:47,000 --> 01:06:51,000 muli, ipasok namin PHP mode, pamilyar kung pahayag, 1255 01:06:51,000 --> 01:06:54,000 ngunit ang bagong bahagi dito ay tutuldok na ito, at ako ay screwed up sa pamamagitan ng omitting ng panaklong 1256 01:06:54,000 --> 01:06:57,000 sa pamamagitan ng aksidente, ngunit mapansin tutuldok, at nangangahulugan iyon na 1257 01:06:57,000 --> 01:07:00,000 kahit na namin ang paglabas ng PHP mode lahat 1258 01:07:00,000 --> 01:07:03,000 na sumusunod sa dapat na sabihin ang lahat walang kulang ang pangungusap sa browser 1259 01:07:03,000 --> 01:07:07,000 hanggang sa makita mo ang isang pang tao bloke, tulad ng ginagawa namin dito, 1260 01:07:07,000 --> 01:07:10,000 kung saan dapat mong sa halip tuhugan ito ang 1261 01:07:10,000 --> 01:07:13,000 hanggang sa makita mo ang endif, kaya ang ilang bahagyang bagong syntax 1262 01:07:13,000 --> 01:07:16,000 na nagbibigay-daan sa akin upang i-toggle sa pagitan ng HTML at PHP. 1263 01:07:16,000 --> 01:07:19,000 Maaari naming linisin ang up na ito sa kalaunan, ngunit sa ngayon, 1264 01:07:19,000 --> 01:07:22,000 ito ay uri ng isang nakapanghihimok na paraan ng error check ang form. 1265 01:07:22,000 --> 01:07:25,000 >> Ngayon, sinasabi ko hindi ka talagang nakarehistro dahil malinaw naman tapos kami na walang anuman kundi ang data, 1266 01:07:25,000 --> 01:07:28,000 kaya sabihin aktwal na subukan upang gawin ang isang bagay na cool na. 1267 01:07:28,000 --> 01:07:33,000 Sa froshims3 ang pagkakaiba lamang ay ako pagpunta upang isumite sa register3, 1268 01:07:33,000 --> 01:07:35,000 kaya ang HTML ay pareho. 1269 01:07:35,000 --> 01:07:38,000 Sa register3 mapansin ito. 1270 01:07:38,000 --> 01:07:40,000 Ito ay uri ng sexy. 1271 01:07:40,000 --> 01:07:44,000 Sa tuktok gumagamit ako ng isang require pahayag, kaya ito ay tulad ng # include. 1272 01:07:44,000 --> 01:07:46,000 Oras na ito ito ay hindi stdio.h o anumang bagay tulad na. 1273 01:07:46,000 --> 01:07:50,000 Ito ay isang PHP library, at ito ay tinatawag na PHPMailer. 1274 01:07:50,000 --> 01:07:53,000 Paano ko malalaman isama ang tiyak na ito naka-quote na string? 1275 01:07:53,000 --> 01:07:56,000 Basahin ko ito sa papeles, kaya kapag Sinabi nila sa akin ilagay ito sa tuktok ng file 1276 01:07:56,000 --> 01:08:00,000 kung nais mong gamitin ang isang espesyal na library na tinatawag na PHPMailer na ginagawa kung ano ang nakasulat. 1277 01:08:00,000 --> 01:08:03,000 Nagpapahintulot sa iyo na magpadala ng email sa pamamagitan ng PHP. 1278 01:08:03,000 --> 01:08:05,000 Ngayon sabihin mag-scroll pababa sa karagdagang. 1279 01:08:05,000 --> 01:08:08,000 >> Pansinin upang simulan ako sa PHP mode buong oras na ito, 1280 01:08:08,000 --> 01:08:11,000 kaya ngayon mapansin pababa dito pagkatapos import na library, 1281 01:08:11,000 --> 01:08:13,000  kaya upang magsalita, ako paggawa ng ilang mga tseke ng katinuan. 1282 01:08:13,000 --> 01:08:16,000 Kung ito ang kaso na ang pangalan ay hindi walang laman 1283 01:08:16,000 --> 01:08:19,000 at kasarian ay hindi walang laman-mapansin ang mga tandang padamdam 1284 01:08:19,000 --> 01:08:24,000 at dorm ay hindi walang laman, pagkatapos ay ang gumagamit ay lohikal na napunan ang form, hindi bababa sa sapat. 1285 01:08:24,000 --> 01:08:28,000 Wala akong pakialam kung hindi sila kapitan o hindi. Kailangan ko lang ang kanilang pangalan, kasarian, at dorm. 1286 01:08:28,000 --> 01:08:31,000 Kung sila pa napunan ang mga kaya na wala ng mga patlang ay walang laman 1287 01:08:31,000 --> 01:08:33,000 ito ay bahagyang bagong syntax. 1288 01:08:33,000 --> 01:08:36,000 PHP, bilang isang bukod, ay isang bagay na nakatuon sa programming language 1289 01:08:36,000 --> 01:08:39,000 kung saan ang ilan sa ka guys ay maaaring isipin ang mula APCS o katulad. 1290 01:08:39,000 --> 01:08:42,000 Sa ngayon, kung pamilyar, lamang malaman na gamitin ang library 1291 01:08:42,000 --> 01:08:45,000 mayroon kang magsulat ng isang linya ng code tulad nito gamit ang isang bagong keyword, 1292 01:08:45,000 --> 01:08:47,000 literal isang bagong keyword na tinatawag na bagong. 1293 01:08:47,000 --> 01:08:50,000 Ngunit lampas na, mayroon kaming ilang mga pamilyar na syntax. 1294 01:08:50,000 --> 01:08:54,000 Isang arrow operator, na kung saan ay katulad sa kung ano ang ginamit namin para sa mga structs sa konteksto ng payo. 1295 01:08:54,000 --> 01:08:57,000 Para sa araw na PHP ay hindi magkaroon ng mga payo, 1296 01:08:57,000 --> 01:09:01,000 ngunit alam sa ngayon na sa loob ng variable ng mail 1297 01:09:01,000 --> 01:09:05,000 mahalagang uri ng isang pointer sa isang espesyal na library 1298 01:09:05,000 --> 01:09:08,000 na ang ibang tao sinulat ni, at kung gusto ko upang ma-access ng mga tiyak na pag-andar 1299 01:09:08,000 --> 01:09:12,000 sa loob ng library na ko, tulad ng sa C, gamitin ang mga arrow operator, 1300 01:09:12,000 --> 01:09:14,000 kahit na ito ay hindi tunay na payo. 1301 01:09:14,000 --> 01:09:16,000 Uri ng sariling bersyon ng PHP nito. 1302 01:09:16,000 --> 01:09:20,000 Nangangahulugan ito na pumunta sa library at tawagan ang IsSMTP function na. 1303 01:09:20,000 --> 01:09:23,000 SMTP, manariwa sa diwa, mula sa aming mga Warriors ng Net ay tumutukoy sa email, 1304 01:09:23,000 --> 01:09:28,000 at lamang ay nangangahulugan na gamitin ang isang email server para sa Frosh IMs pagpaparehistro. 1305 01:09:28,000 --> 01:09:30,000 >> Ano host ko nais na gumamit? 1306 01:09:30,000 --> 01:09:34,000 Well, Harvard, kung mo ang Google paligid, may isang email server na tinatawag na smtp.fas.harvard.edu. 1307 01:09:34,000 --> 01:09:37,000 Kung ikaw ay paglalaro ng kasama sa bahay o nakatira ka sa isang Comcast network 1308 01:09:37,000 --> 01:09:40,000 maaaring ito ay bagay tulad smtp.comcast.net. 1309 01:09:40,000 --> 01:09:43,000 Lubos na ito ay depende sa kung saan ka nakatira at ang iyong ISP ay. 1310 01:09:43,000 --> 01:09:47,000 Pagkatapos na ako pagpunta upang i-set ang aking mula sa address mang na jharvard@cs50.net. 1311 01:09:47,000 --> 01:09:52,000 Pagkatapos ay ako pagpunta upang itakda ang upang matugunan na jharvard@cs50.net. 1312 01:09:52,000 --> 01:09:55,000 Ang tanging paraan na alam ko ang mga function ay tinatawag na SetFrom at AddAddress 1313 01:09:55,000 --> 01:09:57,000 , muli, ako basahin ang dokumentasyon. 1314 01:09:57,000 --> 01:09:59,000 Ito ay hindi uri ng magically kilala sa lahat ng mga programmer. 1315 01:09:59,000 --> 01:10:02,000 Pagkatapos ako magse-set ng paksa sa "pagpaparehistro." 1316 01:10:02,000 --> 01:10:07,000 At ngayon ang linya na ito ay isang bit pangit dahil sa kung ano ang tuldok operator ibig sabihin sa PHP? 1317 01:10:07,000 --> 01:10:09,000 Sinuman alam? 1318 01:10:09,000 --> 01:10:11,000 Pagdugtungin. 1319 01:10:11,000 --> 01:10:14,000 Sa C ay isang sakit sa ulo upang pagdugtungin ang 2 string. 1320 01:10:14,000 --> 01:10:17,000 Mayroon kang humarap sa malloc o realloc o lahat ng na mga bagay-bagay 1321 01:10:17,000 --> 01:10:20,000 lamang para i-extend ang haba ng isang string. 1322 01:10:20,000 --> 01:10:22,000 Sa PHP, sa JavaScript at iba pang mga wika 1323 01:10:22,000 --> 01:10:24,000 maaari mong karaniwang gawin ito na may isang solong character. 1324 01:10:24,000 --> 01:10:28,000 Sa kasong ito, tuldok ibig sabihin nito ay ang string na ito dito 1325 01:10:28,000 --> 01:10:30,000 at ikabit ang string na ito. 1326 01:10:30,000 --> 01:10:32,000 >> Oh, at sa pamamagitan ng ang paraan, maglagay dito ang string na ito, 1327 01:10:32,000 --> 01:10:34,000 na mangyayari sa isang variable sa loob ng na sobrang global. 1328 01:10:34,000 --> 01:10:37,000 Pagkatapos magkabit ng dito ng isang bagong linya, kaya ang lahat ng mga tuldok ibig sabihin 1329 01:10:37,000 --> 01:10:39,000 panatilihin ang paggawa ng isang mas malaki at mas malaking at mas malaking string, 1330 01:10:39,000 --> 01:10:43,000 at wala kang pakialam sa lahat ng tungkol sa malloc o tulad sa isang wika tulad nito, 1331 01:10:43,000 --> 01:10:46,000 at may iba pang mga paraan upang gawin ito, ngunit ito ay isa ng pinakamabilis na 1332 01:10:46,000 --> 01:10:48,000 paraan upang maglatag ito. 1333 01:10:48,000 --> 01:10:50,000 Ano ito ginagawa? 1334 01:10:50,000 --> 01:10:55,000 Ito ay lumilikha ng isang email na katawan na pagpunta sa sabihin ng Pangalan: Captain: Kasarian: Dorm: 1335 01:10:55,000 --> 01:10:58,000 lahat sa hiwalay na linya, at pagkatapos ay sa wakas, 1336 01:10:58,000 --> 01:11:00,000 isang linya ng code, at ako pagpunta upang huwag pansinin ito sa ngayon. 1337 01:11:00,000 --> 01:11:02,000 Kung == false ay nangangahulugan lamang kung may nangyaring mali, 1338 01:11:02,000 --> 01:11:04,000 ngunit magic ang mangyayari dito. 1339 01:11:04,000 --> 01:11:08,000 Mail ang ipadala ay nangangahulugan na magpadala ng mga email na ito. 1340 01:11:08,000 --> 01:11:10,000 Natin makita kung ano ang net resulta ay. 1341 01:11:10,000 --> 01:11:13,000 Sa ilalim ng file, mapansin ito pagpunta sa sabihin ikaw ay nakarehistro talaga 1342 01:11:13,000 --> 01:11:15,000 kung nakakuha ako na malayo. 1343 01:11:15,000 --> 01:11:18,000 Kung, bagaman, ang user Turnilyo, mapapansin na na sinimulan namin ito 1344 01:11:18,000 --> 01:11:21,000 kung ang kundisyon dito, kung hindi walang laman at hindi walang laman 1345 01:11:21,000 --> 01:11:24,000 at hindi alisan ng laman namin ipadala ang mail. 1346 01:11:24,000 --> 01:11:27,000 Kung hindi namin ay pagpunta sa ipadala ang linya ng code, 1347 01:11:27,000 --> 01:11:30,000 na ang epekto, tulad ng makikita mo sa pset 7, ng pag-redirect ang user 1348 01:11:30,000 --> 01:11:35,000 bumalik sa kung saan sila nanggaling, froshims3.php. 1349 01:11:35,000 --> 01:11:38,000 >> Daliri tumawid, kung hindi man, ito ay ang pinaka-disappointing demo ngayon. 1350 01:11:38,000 --> 01:11:40,000 Narito kami. 1351 01:11:40,000 --> 01:11:42,000 Hayaan akong buksan ang aking email inbox para sa jharvard sa Gmail. 1352 01:11:42,000 --> 01:11:44,000 Walang e-mail ngayon. Ayos lang. 1353 01:11:44,000 --> 01:11:53,000 Ngayon hayaan mo akong magbukas ng froshims3, na ang ikatlo at huling halimbawa titingnan namin dito. 1354 01:11:53,000 --> 01:11:55,000 Okay, dito namin pumunta. 1355 01:11:55,000 --> 01:12:00,000 Nate, makikita niya na ang kapitan, lalaki, mula sa, sabihin nating, Apley. 1356 01:12:00,000 --> 01:12:04,000 Magrehistro. Okay, ikaw ay nakarehistro talaga. 1357 01:12:04,000 --> 01:12:07,000 Ngayon kung mag-scroll ko sa aking email, oh, aking Diyos. 1358 01:12:07,000 --> 01:12:09,000 Ko dynamic na nagpadala ng email sa Web. 1359 01:12:09,000 --> 01:12:11,000 >> Natin iwanan sa na tandaan. 1360 01:12:11,000 --> 01:12:16,000 Video ay nalalapit para sa panayam na namin nasagot ang. Nakikita mo sa susunod na linggo. 1361 01:12:16,000 --> 01:12:18,000 [CS50.TV]