[TÓNLIST spila] Ræðumaður 1: Þetta er CS50 og þetta er endir viku sjö. Í dag er kannski þar sem við í raun að kenna þér tungumálum. Við kynnt í undanförnum tveimur vikur HTML og CSS, hvorki sem eru forritunarmál. Og reyndar, jafnvel þótt við gerðum ekki líta á næstum öllum merkjunum sem HTML koma með og næstum allt af þeim eiginleikum sem CSS koma með, það er góður af því fyrir HTML og CSS. Við munum bara almennt byrja að því gefnu að þú skilja almennar hugmyndir tags, og eiginleika, og síður að senda frá viðskiptavini til miðlara. Því í dag við byrjum að líta á annar forritunarmál, PHP. Við erum að fara að gera þetta frábær fljótur. Við erum ekki að fara að kenna þér PHP í sjálfu sér, mikið eins og við ekki stefna að kenna þér C, í sjálfu sér, heldur forritun. Og reyndar, einn af markmið fyrir þetta námskeið er ekki að kenna þér C, eða HTML, eða CSS eða PHP, eða allir tala af öðrum suð orð eða skammstafanir, heldur að tölvunarfræði og hvernig á að forrita í grundvallaratriðum. Og reyndar, í dag erum við að byrja að taka þessir þjálfun hjól burt alla frekar því að fljúga í gegnum a tungumál kallast PHP, eins og hér segir. Hér er það sem þetta mál lítur út. Það kemur í ljós að það er engin þörf fyrir a aðalæð virka í forrit skrifuð á tungumáli sem heitir PHP. Svo sem þegar hljómar svolítið einfaldara en C, sem við erum kunnugir. Það kemur í ljós að ef þú langar að lýsa yfir breytu, þú gerir það næstum samur til C. En það er greinilega einn munur hér þegar ég lýsa yfir band, eða kannski tveir munur. Hvað lítur öðruvísi? Áhorfendur: The dollaramerki. Ræðumaður 1: Já, það er dalur undirrita, sem við höfum aldrei séð áður. Og hvað vantar? Já? Áhorfendur: [inaudible] Ræðumaður 1: Já, það er engin gögn tegund. Svo kemur í ljós að PHP er hvað við kalla lauslega slegið tungumál, þar C er mjög tegund. Lauslega gafst bara þýðir að það eru mismunandi gerðir gagna, það eru strengir og ints og fljóta. En tölvan tölur það út. Þú mönnum forritari þarft ekki að reikna það út. Svo allt sem þú þarft að gera að lýsa breytu er dollaramerki, nafn þitt breyta, og þá, til dæmis, vitna unquote, halló heimur. Jæja þetta er það sem ástand lítur út eins og í PHP. Einhver munur? Nei Svo kemur í ljós að þetta eru eins. Og þú gætir hafa færri útibú eða fleiri útibú, en um setningafræði beygjur út nákvæmlega sama. Boolean tjáning getur að panta saman. Boolean tjáning má anded saman. Þú hefur enn rofa. Jafnvel ef þú hefur ekki notað þeim þessu er fyrir hendi í C og þeir eru virkni jafngildi í PHP. Og í raun, í PHP þeir eru smá öflugri. Í C, getur þú aðeins að bera saman ákveðin gagnatög eins ints og stafir, en í PHP þú getur raunverulega bera fullur viðvaningur strengi án þess að þurfa að hafa áhyggjur af ábendingum og þess háttar. Svo hér er til hliðar. Þetta er bara sauðakóðanum kóða, ef þú vilt. En setningafræðilega er það nákvæmlega eins og C Hér er á meðan lykkja, sauðakóðanum therefore-- samhljóða C. Hér er að gera á meðan loop-- eins. Og svo er það eins konar þetta mynstur hér þar það er nokkrar aðrar nokkur dæmi um setningarleg aðgerðir við erum örugglega að fara að sjá. Í raun, hér er gott leið í PHP þar, ef þú vilt að árétta yfir fjölda, og þú vil ekki að hoppa í gegnum andlega og setningafræðilegar hindranir af því að hafa int i jafngildir 0, ég minna en n, ég auk plus-- sem er bara fullt af pirrandi setningafræði. Þú getur sagt aðeins meira fluidly fyrir hvern tölur sem fjölda, þar í þessu tilfelli dollaramerki tölur, ég er hrokafullur, er eins og fylki kallast númer. Og þá er ég hrokafullur tala, eintölu, er að fara til vera a breyta. Og hvað PHP mun gera fyrir mig eins og ég árétta yfir þessa lykkju er á hverri ítrun, það er að fara að uppfæra breytilegan fjölda til vera ith þáttur í tölum, plural. Svo það sér bara allt sem fyrir mig. Engar hornklofum, engin dollaramerki, engar hálf-tvípunkti. Það er bara svolítið einfaldara. Jæja, ef þú vilt að array, snýr það út að þú getur gert eitthvað mjög svipuð að C. The setningafræði er svolítið öðruvísi. En hér er fylki kallast dollara undirritaður tölur. Og ég nota, í PHP, ferningur sviga, snýr það út. Og við erum að fara að sjá þessar aftur í Javascript-- enn annað tungumál. Ég nota bara ferningur krappi tákn að hafa kommu aðskilin lista heiltalna, í þessu tilfelli. En það gefur mér fylki. En enn öflugri í PHP, við höfum líka hvað eru almennt kallað tengin fylki. Og mikið af tungumálum hafa þetta eins og heilbrigður. The hlutur óður C fylki er að Vísitölur fyrir fjölda, það sem maður nota í hornklofum með sem þér aðgang þætti, hlýtur að vera það? Áhorfendur: [inaudible] Ræðumaður 1: Þeir verða að vera númer eða heiltölur, sérstaklega frá núlli á allt. Jæja, í PHP, og það kemur í út, á öðrum tungumálum, þú getur byrjað að hafa Vísitölur sem eru ekki tölustafir. En þeir eru í raun orð eða setningar, þannig að frekar en reyna að muna hvar eitthvað er, eða geymt í breytu i, þú getur notað orð og segja that-- þú getur sagt orð eins og þetta. Svo er dollaramerki nefndu Heiti breytu hér. Þetta er nokkuð angurvær setningafræði það er að tengja tvo takka gildi pör fyrir þessa breytu. Sérstaklega, þetta er að gefa mér An array sem er lengd 2. En Vísitölur eru ekki 0 og 1. Vísitölurnar eru tilvitnun unquote tákn og vitna unquote verð. Og gildi þeirra Vísitölur, hver um sig, er FB Facebook og $ 79,53, þegar ég varað köflóttur verð fyrir þetta. Hvað þýðir það? Jæja, það þýðir að í stað þess að skrifa kóðann eins og þetta, þar sem ég nota til að gera eitthvað eins dollara sign-- eða öllu heldur, í C Ég myndi ekki einu sinni hafa dollaramerki. Ég myndi gera eitthvað eins gæsalappa og þá Ég myndi gera krappi ég að fá á sumir geðþótta tölulega verðtryggð gildi. Byrjar í dag í PHP, ef þú vilt fá einhvern gildi, við höfum konar meira merkingartækni tjáningarkrafturinn. Bara fínt leið til að segja að við getum bara að kalla hlutina það sem þeir eru. Og ef þú vilt fá á eitthvað tákn, nú þú gerir bókstaflega vitna unquote tákn í hornklofum í stað þess að aðeins um fjölda. Svo það er gott þægindi. Og það er tegund af því í bili. Það er bunches af aðrar aðgerðir í PHP. Og reyndar, PHP koma með proverbial eldhúsvaskinn. Tugir, hundruðir af störfum koma með PHP-- svo margir fleiri en kom með C. Og það er ekki ætlað að gagntaka heldur hjálpa þér grein fyrir að við erum ekki lengur að skrifa kóða það er tegund af hérna eðli. Nú getum við bara byrjað að nýta af miklu lengra aðgerðir að tungumál eins og PHP hafa. Þannig að við þurfum ekki að hafa áhyggjur af flytja það í kring í minni. Við þurfum ekki að hafa áhyggjur af malloc og öll þessi neðri hæð, öflugur upplýsingar sem þú mun glíma með, ef ekki glíma við, pset5, en þú getur byrjað að fljótlega taka sem sjálfsögðum hlut. Í raun, við skulum skrifa frábær einföld forrit í PHP, sem hér segir. Ég ætla að fara höfuð til CS50 IDE hér, og það sem ég ætla að gera er að búa til nýja skrá, sem mjög einfaldlega er að fara að vera kölluð halló punktur PHP. Svo í stað þess punktur c, það er fara að vera kölluð punktur PHP. Og þá í þessari skrá, Ég get byrjað að skrifa. En það kemur í ljós að eitt sem ég verð að vita er að allir PHP skrá almennt, þarf til að byrja með einhverjum sérstökum setningafræði. Svipuð í anda og HTML, en aftur, PHP er forritunarmál, ekki Markup Language. Svo hvert skrá og það er tegund heimska að ég viðurkenni. Open krappi, spurningarmerki, PHP. Og það er bara leið tungumál til að segja, hey, tölva hér kemur smá kóða skrifað á tungumáli sem heitir PHP. Og þá á mjög lok skrá, þú gerir svona konar andstæðu. Þú skrifar ekki PHP aftur, þér bara gera spurningarmerki, horn krappi. Og þá eitthvað sem þú setur inn þessara tveggja tags, svo að segja, verður, eða ætti að vera, PHP kóða. Svo skulum gera eitthvað frábær einfalt. Ég ætla að fara á undan og gera prenta def, halló heimur, sviga n, vista. Og nú á hvetja mína, ég ætla að gera, gera hello-- nei, ég ætla að gera, punktur rista halló. Nei, punktur rista, Hm. Svo er eitthvað öðruvísi. Og reyndar, þetta er lykillinn munur milli PHP og tungumál eins C. C var svokölluð saman tungumál. Hvað gerði það fyrir C að vera saman? Hvað var vísbendingu? Já. Áhorfendur: Skrifaði hana í vél númer svo það væri hægt að keyra af tölvunni. Ræðumaður 1: Einmitt. Við verðum að fyrst að umbreyta það inn í svokölluð vél númer, núll og sjálfur, áður en það verður í raun að vera executable og skilið af tölvunni. Með Intel inni. Af CPU inni í tölvunni. PHP, hins vegar er það sem er kallað túlkað tungumál, sem þýðir að þú saman það ekki í núll og sjálfur, vél númer, þú skilur í stað það sem frumkóða. Og þú fara í staðinn það sem inntak á dagskrá, túlkur að einhver annar skrifaði árum sem skilur það línu fyrir línu, staf fyrir staf. Svo í öðrum orðum, menn þarna úti skrifaði a program sem mun líta á kóða línu eftir línu, og reikna út hvað tölva ætti að gera, án þess að breyta henni beint að núll og sjálfur. Þannig að ef það sér fyrir lykkju, þetta svokallaða túlkur er að fara að vera eins, allt í lagi, ég ætti að gera eitthvað aftur og aftur og aftur. Hvað ætti ég að gera? Leyfðu mér að líta á næstu línu. Leyfðu mér að líta á næstu línu. Og það túlkar sannarlega hann línu fyrir línu. Svo til að framkvæma það, ég nota ekki gera. Ég nota ekki punktur rista í þessu tilfelli. Ég staðinn PHP, sem er nafn á program, gengur einnig undir nafninu Túlk, það er pre-setja í embætti í CS50 IDE, og nú þarf ég að fara a stjórn lína rifrildi, sem er einfaldlega nafn sem skrá sem ég vil túlka. Eða meira frjálslegur, sem ég vil að hlaupa. Og ef ég högg inn, þar höfum við það. Halló heimur. Nú kemur í ljós að ég notað prenta skýring vísvitandi að brúa okkur úr C í PHP. Flest PHP forritarar, og þú munt sjá, ekki einu sinni nenna að nota prenta def. Þeir nota bara fall sem kallast prenta, sem C ekki hafa. Og svo ef ég endursýning það núna, það í raun hegðar sér virkni sama. Ég get ekki notað prósent s prósent i og svo framvegis, og en það eru aðrar leiðir í PHP til að gera það. En þetta er aðeins að segja að setningafræðilega, annað en sumir furðulegur hlutum upp efst, og sumir furðulegur stafir niður neðst, hugmyndir nú um forritun í þessu öðru tungumáli eru að fara að vera nákvæmlega sú sama. Í raun, við skulum gera eitt annað dæmi. Þannig að ég ætla að fara á undan og loka þessari skrá. Leyfðu mér að búa annað sem Ég hringi skilyrði 1 punktur PHP. Svo nei núll, því það sem ég gerði var ég leit aftur fyrir nokkrum vikum síðan, við höfðum til skrá sem heitir skilyrði 1 punktur C. Og hvað Ég vissi var breytt henni í mínum höfuð, og hér á pappír, og brátt á námskeiðið er website, línu fyrir línu í PHP. Svo í C útgáfu, gerðum við eitthvað eins band s fær fá band. Svo það er svolítið öðruvísi að gera það í PHP. Í staðinn ætla ég bara að fara að gera, eða öllu heldur, ég gæti hafa gert INT n fær fá Int, í þessu dæmi áður. Svo í stað þess að ég ætla að gera n fær lesa línu, langar mig heiltölu vinsamlegast. Svo er þetta bara hvetja minn. Og svo kemur í ljós, og Ég vildi bara vita þetta frá hafa lesið eða séð virka áður, lesa línur virka í PHP tekur rök að er hvetja fyrir mönnum, og tilgang hennar í lífinu er að lesa línu af texta sem hann eða hún slær inn. Og þá geymir það sem Textinn í breytilegum n. Og nú er ég kannski langar að gera eitthvað eins og ég gerði vikum, í eins viku einn af bekknum. Ef n er stærra en núll, þá er ég að fara að láni að setningafræði við sáum bara, prenta def, þú sóttir jákvæð tala, sviga n. Annars ef n jafngildir jafnt núlli, ég er að fara á undan og segja, prenta def, þú sóttir núll sviga n. Else, málið hér ætti auðvitað að vera, prenta def, þú sóttir neikvæð tala. Og við getum vissulega innleiða röksemdafærsla þetta verk í fullt af mismunandi leiðir, en benda hér er að setningafræðilega, varla nokkuð er nýtt. Það er bara dollaramerki og ný hlutverk og lesa línu. En í grundvallaratriðum, hvað er nýtt nú er ég að túlka þetta. Ég liggur það sem inntak í annað forrit. Þannig að ef ég vil keyra þetta, ef Ég vissi ekki að gera einhver mistök, Ég ætla að keyra PHP, af skilyrði 1 punktur PHP, inn, Ég ætla að slá í númer 50, og við skulum gera ráð fyrir nú það virkar. Þar sem rökfræði er sama efni og viku eitt. Allt í lagi, svo það er ansi underwhelming, ekki satt? Við gætum gert þetta í einhverju fjölda tungumála. Gerum eitthvað leið öflugri. Við skulum ljúka Heimadæmi fimm. Þannig að ég ætla að fara á undan og gera þetta. Ég ætla að búa til skrá kallað orðabók punktur PHP, og hallast eins og þú gætir verið að Scramble niður fullt af athugasemdum, skýringar verða aðeins hjálpa þú ef þú ert að fá að innleiða vandamál setja fimm í PHP. En við munum sjá hversu hratt núna við getur framkvæma þessi sömu vandamál setja. Svo orðabók punktur PHP, ég er að fara að gera ráð fyrir að það er nú þegar skrá í heimi sem heitir Speller. Og reyndar, ég gerði þetta fyrirfram, og við munum ekki ganga í gegnum þessa línu með línu, en ef þú ert forvitinn síðar og virkilega að vefja huga í kring the munur á milli C og PHP, bókstaflega bera saman þessa skrá, Speller frá í dag kóða sem við munum senda síðar í dag, á móti p sett fimm Speller punktur c sem við gefum þér, og það er nánast í sömu línu fyrir línu. Það er sumir fleiri dollara merki. Tveimur aðgerðir eru svolítið öðruvísi. En það er ágætur vegur af konar að sjá hvernig þú þýða einu tungumáli í annað. Og það er nánast eins línu fyrir línu. En ég ætla að gera ráð fyrir að það er til, og það sem ég ætla að gera hér er að reyna að blása þinn hugur um reimplementing heild á Heimadæmi fimm leið hraðar en þú hefur verið að gera svona langt. Svo til dæmis, ég er að fara að fyrsta lýsa alþjóðlegt breytu sem heitir stærð, og setja það á núll. Nú það er ekki mikið sparnað. Stuðlar ert þú framkvæmda stærð laglegur mikill the sami, eða vísbending vísbending, mun í kvöld eða á morgun, bara að nota alþjóðlegt breytu sem heitir stærð, og setja það á núll. Það er ekki sérlega ótrúlegt spoiler. Svo það voru gögn mannvirki val, þeir sem hafa bætti og lesa sérstakur, hvað gögn uppbygging hafa flest ykkar hafa verið að nota? A kjötkássa borð eða reyna, kannski sumir afbrigða þeirra. Svo framkvæmd kjötkássa borð að minnsta kosti, er góður af a einhver fjöldi af línum af kóða, ekki satt? Og ekki allir af þeim gæti verið virkur á þessum tímapunkti í viku, en það er allt í lagi. Vegna þess að í PHP, ef ég vilt kjötkássa borð, gert. Ekki satt? Svo breytunni sem ég hef bara lýst er augljóslega kallað dollaramerki borð, á kynningu áður. En ég virkilega bara á í lok dagsins, fylki. En ekki tölulega verðtryggð array, því það er eins og viku tvö efni, þegar við ræddum um fylki. Ég vil kjötkássa borð. En kjötkássa borð er mjög bara steypu leið til að segja, þú vilt að tengin array. Þú vilt vera fær um að tengja lykla með gildum. Keys með gildi. Hvað er orðabók, virkilega? Jæja það er allt fullt af lyklum. Orð eins epli, perur og banana, og allar þessar enskum orðum sem við hönd þér. Og þau gildi sem þú ert í raun setja inn í orðabókina þína eru annaðhvort satt eða skortur, rangar. Með öðrum orðum þú ert að setja a heild búnt af helstu gildi pör, epli, satt, pera, satt, banani, satt. Þannig að þegar þú sækja eða líta upp þessi gögn í kjötkássa töflunni með innritun fallinu þínu, þú ert annaðhvort að komast aftur svar, já, ég fann það í flóknu mínu kjötkássa borð, eða nei, það er ekki þar, svo þú return false. Svo til að gera það, allt sem ég þarf er gögn uppbygging eins og ég lagði fyrir. Ég þarf bara að vera fær um að tengja orð eins, vitna unquote, tákn, með gildi eins og, satt. Svo er það kjötkássa borð mitt. Notum raun það. Svo er nokkrum virka það Ég þarf að hrinda í framkvæmd. Ég ætla að fara á undan og bíta burt aðgerð sem kallast stærð. Það tekur engin rök. Ég þarf ekki að nenna með orðið, ógilt, í PHP. Ég er einfaldlega að fara að skila stærð. Og eins og til hliðar, PHP hefur þetta minorly pirrandi smáatriði, þar sem ef eitthvað er alþjóðlegt, þú þarft að segja virka sem þú ert að nota það, hey, þetta er alþjóðlegt breytu. Svo, minniháttar heimska, en þér þarft að gera það engu að síður. Svo hvað um álag? Ég ætla að hrinda í framkvæmd fall kallast álag sem tekur í nafni orðabók, rétt eins og í Heimadæmi fimm. Og áður en ég að halda áfram, eftir því að ég hef ekki verið að slá alveg sömu hlutina. Hvað er augljóslega öðruvísi í PHP um hvernig þú lýsa virka móti C? Já. Áhorfendur: [inaudible] Ræðumaður 1: No aftur gerð. Og reyndar, það er raunin, PHP að því leyti sem það er lauslega slegið, er einnig lítið sloppy í þeim skilningi. Þú tilgreinir ekki sem forritari hvað þetta skilar. Þú þyrftir að í raun líta á kóða til að reikna það út. Eða lesa athugasemdir eða skjöl. Svo plús-merkjum og minuses af þessar tegundir af ákvörðunum. En ég verð að segja lykilatriði, virka. Og þegar við lærum JavaScript í nokkra vikur við erum að fara að sjá það sama aftur, en það er sama hugmynd. The nafn af the virka, rök hennar eða rifrildi eða skortur þar, og nú hér er framkvæmd. Þannig að ég ætla að skera nokkrar horn bara að vera dramatísk fyrir réttlátur a augnablik. En ég ætla að fara á undan og segja þetta. Þetta er hvernig ég get hlaða skrá inn í array. Það er fall í PHP heitir skrá. Þú hönd það heiti skráar. Það hendur þér aftur fylki, inni sem er sérhver lína úr skrá. Frá núll, einn, á allt að n mínus 1 línum. Það er það, ekki satt? Það er engin f-lesa. Það er engin f-Fá s. Það er engin prósent s. Það er engin höfuðverkur. Það er engin feof. Öll þessi efni sem þú hefur verið að glíma kannski, með p sett fjögur og fimm, fer í burtu. Svo ég las bara þessar línur í skrá, og þá þú veist hvað? Ef ég vil að árétta yfir þeim orðum, Ég get gert, fyrir hvern línur sem línu. Mundu að þetta var eins konar snjall leið iterating yfir fylki, vísitölu með vísitölu, og á hverjum endurtekning starf núverandi línu, dollaramerki línu. Og hérna ætla ég að fara og segja borð, krappi, lína, fær satt. Með öðrum orðum, þetta er hvernig ég setja inn kjötkássa borð mitt í PHP. Ég segi dollaramerki borð, sem er tengin array minn sem var tómt á línu af kóða upp hér að ofan. Ég Vísitala þá inn í það ekki, með fjölda, en bókstaflega nota leitarorð sem mér þykir vænt um. Kannski er það epli eða pera eða banani eða hvað, en sérstaklega er ég flokkun inn í það eins og ég lagði fyrr. Ég leggja nafn mitt tengin array, og þá er ég nota vitna unquote í hornklofum með streng, í stað formlegra númer. Og svo er það það. Álagið aðgerð er lokið. Þegar þessi lykkja iterates, hef ég sett allt í kjötkássa töflunni. Nú lítil fyrirvari, það er par hlutir sem ég þarf að laga. Og útgáfa Ég skrifa á netinu munt þú hafa öll blæbrigði, en það er að mestu leyti bara að fara að vera einhver villuprófun og sumir minniháttar klip. En það er örugglega GIST það. Ef ég vil nú að innleiða fallið heitir stöðva, sem gerir ráð fyrir að orð sem rök hennar, hvernig gæti ég farið um að gera það? Jæja, ég er einfaldlega að fara að segja, ef inni mitt borð á staðsetningu orði, ef er sett. Þannig að ef það is-- reyndar, þú veist hvað? Ég ætla að gera það í smá sauðakóðanum. En hugmyndin er sú sama. Ef það jafngildir satt, aftur satt. Allt í lagi. Else-- þú getur konar séð hvar þetta er going-- að return false. Lokið. Stöðva er gert. Nokkuð gott, ekki satt? Og svo er það þetta raunverulega að fara? Og þetta líka, ég skera nokkrar horn. Horfðu á útgáfu á netinu fyrir alla hirða blæbrigði. En það er GIST það. Index inn í þinn tengin array, gengur einnig undir nafninu Kjötkássa borð, sjá hvort það er gildi það, ef það er stillt á satt, og ef svo er, return true. Þannig að við höfum tálga niður allt flókið. Svo góður huga blása, ekki satt? Ég mun ekki nenna að klára það með afferma, vegna þess að í fact-- ó, þú veist hvað? Já, við skulum klára það með afferma. Afferma í kjötkássa töflunni getur litið eins virka afferma, aftur. OK þannig er það afferma. Vegna þess að það er ekkert að afferma, ekki satt? Það er engin malloc. Ég vissi ekki beinlínis spyrja stýrikerfi fyrir neitt. Ég byrjaði bara að nota breytur. Og svo er þetta líka birtingarmynd aðgerðir hærra stigi tungumálum. Svo aftur, af þessum tíma við höfum verið að fást hérna með C. Super lágt. Þú getur séð minni tölvunnar. Þú getur snerta neitt þér vilt í vinnsluminni tölvunnar, fyrir betri eða verri. Upp hér, við erum að fara að gefa upp þessi völd. En guð minn, líta hvernig miklu minna númer sem ég skrifaði. Í raun ef ég væri ekki að tala og tala yfir vélritun minn, við hefðum verið gert með þetta dæmi fyrir fimm mínútum. Svo hvað er verðið að greiða? Jæja við skulum taka a líta. Við skulum taka a líta. Ég ætla að fara á undan og keyra CS50. Leyfðu mér að fara fyrst inn dæmi í dag þar sem Ég hef textarnir skrá eins og áður. Ég ætla að keyra lausn sem það kemur með vandamál setja fimm heitir Speller, sem er á reikningnum CS50 er. Og ég ætla að keyra það á eitthvað stór eins King James Biblíunni, bara svo að við setjum í raun starfsfólk lausnir til að prófa. Nú stundum er internetið a svolítið hægar, svolítið hraðar, gæti tekið smá stund að fletta. En það tók samtals .56 sekúndum að stafa athuga King James Biblían nota starfsfólk lausn. Svo nokkuð gott. Kveðja gæti verið mun hægari, og það er algerlega fínt. En það er rétt hérna. Svo er að starfsfólk lausn. Ef ég fer í og ​​hreinsa upp PHP útgáfa. Og ég ætla að gera smá eins bakstur sýna hlutur. Við erum að fara að taka kóðann sem ég skrifaði fyrr, svo það er fullkomlega rétt. Vegna þess að kóðinn sem ég skrifaði er ekki að fara að vera fullkomlega rétt bara núna. En ef ég keyra PHP útgáfa, hvað þarf ég að gefa upp í dag? Tók mig fimm mínútur að innleiða bls sett fimm kröfu I. Hvaða verð ég greitt? Já. Áhorfendur: Speed. Ræðumaður 1: Speed. Hvað meinarðu? Áhorfendur: Það er að fara að taka lengri tíma. Ræðumaður 1: Allt í lagi. Látum okkur sjá. Það er að fara að taka lengri tíma, ekki að skrifa, en að keyra það. Já. Svo skulum reyna þetta. Svo hér er ég ætla að fara á undan og gera PHP á Speller, og vegna þess að skrá er kallað Speller. Þannig að ég ætla ekki að keyra orðabók, muna, Ég er að keyra forrit sem heitir Speller. Ég ætla að fara í sama skrá, King James fimmta. Það er fljúga með. Þetta gæti bara verið internet hraða, svo ekki lesa of mikið í það. En það þýðir finnst lengur fyrir viss. 1.26 sekúndur. Nú er það samt ansi fjandinn hratt, ekki satt? Og eina ástæðan fyrir því að var eins meira eins þrjár eða fjórar eða fimm sekúndur, það er bara vegna þess að internetið var að vera hægur. The tölva tími var 1,26 sekúndur, á móti held ég 0.56. Svo meira en tvisvar sinnum eins og hægur. Nú er það enn laglegur fjári hratt, en það er birtingarmynd af, reyndar, að nákvæmt verð. Vegna þess að við erum að túlka í línu fyrir línu, og að program PHP er að lesa mitt númer toppur til botn, vinstri til hægri, það þarf að gera meira hugsun. Það hefur að eins konar umbreyta það inni af sjálfu við samsvarandi vél númer á flugu, svo að segja, jafnvel þótt aflfræði eru svolítið öðruvísi. Í stað þess bara að fóðra til Intel CPU hrár núll og sjálfur að það skilur innfæddur. Svo algerlega, hendur niður, við höfum greitt verð. Og númerið skrifað á tungumáli eins PHP hefur tilhneigingu til að vera hægari. En guð minn. Svo núna þegar ég villuleit minn skrá, eyða ég auka 0.7 eða svo sekúndur vs 20 klukkustundir til að hrinda í framkvæmd hraðari Villuleit, ekki satt? Það er góður af a viðskipti burt. Og ef þú ert réttlátur byrjun p setja fimm, gæti ekki verið 20 klst. Gæti verið mun færri en það. En það er a viðskipti burt, fyrir alvöru. Og ef þú ert að keyra kóðann á mjög stór gagnagrunnar, eða jafnvel eldri vélbúnað, þeir konar munur getur vissulega bæta upp. Einhverjar spurningar svona langt? Já. Áhorfendur: [inaudible] Ræðumaður 1: Því miður getum þú segir það einu sinni enn? Áhorfendur: [inaudible] Ræðumaður 1: Þú ert að gefa upp tíma. Jæja, svo já. Þú ert sparar tíma með ekki að þurfa að þýða það, ef það er það sem þú ert að spyrja. Og reyndar, í CS50, flest forrit, jafnvel þó þeir gætu tekið smá stund að skrifa, eru þeir tiltölulega stutt. Nokkrum tugum, nokkur hundruð línur af kóða, og svo þeir taka saman ansi hratt. En þegar þú byrjar skrifa stærri forrit, eins og ef þú ert Microsoft eða þú ert Google og skrifa mjög stór forrit í C eða C ++, eða álíka saman tungumál, gæti tekið margar sekúndur, eða jafnvel mínútur eða lengur til saman milljónir línum af kóða. Og það líka, að Munurinn er að fara að bæta upp. Og í raun, þegar við umskipti í dag, sama dag í dag, að forritun vefur nota PHP, þú ert fara að finna það bara svo mikið ánægjulegri að skrifa kóðann þegar þú þarft ekki að gera þetta heimskur skrefum eins breytingu flugstöðinni gluggi, tegund gera halló, með tilvísun keyra það, endurhlaða gluggann. Bara svo margir heimskir vélrænni skref sem bara komast í the vegur af aðgerð áhugavert, gaman að vinna. Og vér henda því í burtu með PHP. Og við getum samskipti með það hraðar. Já. Áhorfendur: [inaudible] Ræðumaður 1: Jú. Get ég skýra hvað það þýðir að túlka? Þegar þú saman tungumál eins og C, fer það niður eins og ég sagði að vél kóða, núll og sjálfur. Og Intel ákveðið árum að ákveðin mynstur núllum og sjálfur tákna viðbót eða frádráttur, eða prenta eða annarra helstu aðgerðir. Í heimi túlkað tungumál eins og PHP eða JavaScript eða Python, eða Ruby, eða bunches af aðrir, í staðinn einhver hefur skrifað interpreter-- í þessu tilfelli, það er einnig kallað PHP, eins og í Heiti Language-- sem í raun hefur stór lykkja í það að iterates yfir allar línur af kóða að ég fæða það sem inntak, eins halló punktur PHP, eða orðabók punktur PHP. Og þá er hægt að hugsa um stór þeirra lykkja sem hafa a einhver fjöldi af aðstæðum. Og þessi skilyrði sagt, ef maður hefur skrifað leitarorð fyrir, byrja að gera hans eða hennar númer aftur og aftur. Eða ef maður hefur skrifað línu af kóða, ef aðeins framkvæma þeirra Næsta lína skilyrðum. Svo það er sannarlega eins túlka það í mönnum vit, línu með línu, og það bara tekur tíma. Það tekur kostnaður. Og svo er að price-- gott question-- við að borga. Svo skulum gera annað demo það er svolítið meira dramatísk. Það er, ég myndi segja, ballpark þetta á 90% líkur á að hafa ekki hryllilegur, en þú verður að vera undrandi með 10% líkum. Svo á hverju ári reynum við til að gera þetta, þar sem við reyna að skrifa forrit sem fer í gegnum Heimadæmi núll, sem þú hefur lögð símanúmer þitt og fullt af öðrum lýðfræðilegar upplýsingar, og við kerfisbundið senda þér textaskilaboð. Og þá síminn allra byrjar Bíphljóð eða titringur, og það er bara ótrúlegt, vegna þess vel, líta á það tölvur geta gert. Þetta virkar sjaldan rétt það virðist, að stórum hluta vegna þess að ég yfirleitt fá svartan lista með Gmail eða einhverjum öðrum þjónustu fyrir í raun að reyna að gera þetta á skala. En það fyndna er líka, þar sem við hafa ekki allir hér í dag, gaman staðreynd að síðast þegar við reynt þetta fyrir tveimur árum, Ég held að ég skrifaði forrit sem sat í lykkju iterating yfir alla nemendur í bekknum, og hver þeirra textaskilaboð, og það sagði eitthvað eins og, hvers vegna er það ekki í fyrirlestri? Elska, CS50 láni. Þú hefur ekki hugmynd um hvernig margir afsakandi og svoleiðis sársaukafullar tölvupóst Ég hef fengið svar frá því n mínus 100 manns sem ekki voru hér sá dagur. Og jafnvel fyndnari, meira skammarlegt story-- þú veist, við skulum setja það þarna úti. Það er nú þegar á myndband fyrir nokkrum árum. Svo þú munt fljótlega sjá mig skrifa fyrir lykkju, þar það er mjög auðvelt að skrifa um galla í því fyrir lykkju, þannig að í fyrsta skipti í gegnum lykkjuna, þú senda eitt SMS skilaboð. Í annað sinn í gegnum lykkju I hefði átt að senda eitt SMS, og svo er eitt texti skilaboð, og einn. En það kemur í ljós ef þú gerir innsláttarvillu þegar forritun, stundum getur skrifað forrit sem senda einn texti skilaboð, síðan tvær textaskilaboð, þá þrisvar textaskilaboð til allra sem er nú þegar fengið textaskilaboð. Og eins og þú veist, að gera eitthvað, plús eitthvað, plús eitthvað, plús eitthvað, er stór O af a einhver fjöldi textaskilaboða eða n veldi, eða á $ 0,10 a texti skilaboð, $ 20.000. Sem betur fer ég lenti Control-C áður gerðist, en ég gerði skulda að minnsta kosti einn forverar þínum $ 20 fyrir 200 sumir stakur textaskilaboð sem, ekki aðeins fór í símann hans, en einnig það var eins og eldri Flip síma svo það eins ýtt út af hans minni annað hvert persónulegt texti Skilaboðin sem hann hafði í raun fengið. Þannig að við höfum eitt markmið í dag, ekki til að gera það. Kannski kveikja á flugvél ham. Allt í lagi. Svo skulum við fara inn í a program hér callled-- sem ég mun kalla texta punktur PHP. Og fyrirfram, ég hef fengið tvær skrár hér. Ég gerði skrá fyrir aðeins starfsmenn, sem fékk allt upplýsingar starfsfólks, öll nöfn frá heimasíðu námskeiðsins er. Og þá fyrir nú ég setti bara sumir falsa tölur 555-1212. Svo þetta myndi í raun ekki fara neitt. En taka innan úr þessum CSV skrá, sem við ræddum um í stutta stund áður en í tengslum við skrá IO. Hvað er CSV skrá? Comma aðskilin breytur. Og þetta er góður af eins og a mjög léttur gagnasafn, ef þú vilt. Það er góður af eins konar fjórum dálkum í þessari skrá, og þar jagged, en um kommum meginatriðum tákna dálka í skrá. Fyrsti dálkurinn er TF eða nafn CA er. Annar dálkurinn er eftirnafnið þeirra. Þriðji dálkur er símanúmer þeirra. Og fjórða dálki virðist is-- Fjórði dálkurinn er greinilega hvað? OK, svo það er flytjandi þeirra. Svo Regin, eða Sprint, eða hvað ekki. Og ef ég misspoke fyrr, CSV. Comma aðskilin gildi er CSV hér. Svo hvað get ég gert við þetta? Jæja þetta er bara stór textaskrá, og það er góður af lengi, ekki satt? Eins og þetta er að fara að vera eins konar pirrandi. Og það kemur í ljós, þó, að ef ég langar að senda textaskilaboð til, við skulum segja Alex hér. Leyfðu mér að fara inn í vafranum mínum og hætta öllum skjánum bara svo ég geti skipta fram og til baka. Það kemur í ljós, við skulum sjá, ef ég fer í hér og skrá þig inn í Gmail, allt í lagi. Ekki líta á þessa hluti. Bara ég fá að sjá. auðvitað LiveStream getur enn hvað ég er að gera. Allt í lagi. Svo er hér bara Gmail með Reikningur John Harvard er. Þannig að ef ég vil senda textaskilaboð til Alex, Ég get auðvitað skrifa skilaboð. Og það kemur í ljós, og ég hef prófað það með Alex áður hér, svo þú getur bæta ákveðna lén nefna að fólks símanúmer, vegna þess að það er í heiminum það heitir SMS til að senda hlið. Sem er fínt leið til að segja öllum okkar sem hafa farsíma sem hafa símanúmer, auðvitað, það er sennilega fyrir fyrirtækið þitt, ákveðin viðskeyti eins og á Vtext.com fyrir Regin textaskilaboðum punktur com, sem hægt er að bæta við þinn eigin persónulega símanúmer, og þá þú eða vinir, eða foreldrar geta texta þér á tilteknu heimilisfangi. Og Verizon hefur miðlara, tölvupóst miðlara, sem við að fá þennan tölvupóst, lítur á töluna hluta og þá notar hvað sem sérstakur iðnaður galdur þeir verða að raunverulega senda hana út yfir Airwaves til ákveðinn reit þinn Síminn. Nú er þetta gott því ég er ekki raunverulega vita hvernig á að senda textaskilaboð eða til að skrifa kóðann enn fyrir farsímann minn, og þú gætir gert nákvæmlega það fyrir lokaverkefni, en nú er allt Ég hef er minn laptop hér. Svo ég vil árétta yfir þessi CSV skrá, lína, eftir línu, með línu, með línu, grípa hvert starfsfólks símanúmer, og flytjandi þeirra og programatically, concatenate, það er, er að tengja símann númer með viðeigandi lén og þá senda tölvupóst. Svo er það mikið af skrefum. Og gangi þér vel að gera það í C. Það er martröð aðstæðum til að opna skrá til að lesa það lína, eftir línu, með línu, eins og þú eru að sjá, eða gæti brátt sjá með setja vandamál fimm, ef ekki Heimadæmi fjórir, og þá við breytilega concatenate tveir strengir saman, vegna þess að í C, að taka tvo strengi og sameina þær, Hvað finnst þér óverulega þarft að gera líklegast? Þú þarft að lýsa meira minni, ekki satt? Og spyrja, malloc, get ég verið með meira minni? Svo ég get sett helmingur af þessu hér, helmingur af þessu hér. Það er bara svo margir stíga. Og með því að þeim tímapunkti sem þú hefur misst áhugi á heimskur litla kynningu þar sem þú gerir allra sími píp. Við skulum gera þessa tegund af PHP stíl, þar sem við bara byrja að nota meira af því eldhúsvaskinum. Og hugmyndir eru í grundvallaratriðum þau sömu, en við þurfum ekki að hafa áhyggjur of mikið um það lægra. Þannig að við skulum sjá hvernig ég gæti fara að gera þetta. Og bara svo að ég er ekki endurtaka fyrri mistök, Ég hef skrifað nokkrar athugasemdir fyrir mig hér. Og við skulum sjá hvort ég get gengið okkur í gegnum sumir af grundvallar skref, og þá fyrir sakir tíminn er munum við kannski skera nokkrar horn í lokin. Ég ætla að fara á undan og gera opinn krappi PHP til að hefja þessa skrá. Og ég ætla að fara á undan og gera þetta. Skrá höndla, eins og þú munt brátt sjá, reyndar kallar fall sem kallast F opinn. Og mundu að þetta opnar skrá. Og vitna, unquote, r þýðir hvað, aftur? Bara opna hana fyrir að lesa. Nú í p sett fyrir, þú gerðir þetta. Og meðhöndla gæti verið hvað sem er, Fu, Bar, Bas, allir breyta heiti. En almennt tölva vísindamaður myndi boða til opins skrá, gefa þér skrá höndla, eitthvað til að halda á svo að segja. Ég ætla bara að fara að gera sumir villuprófun. Svo ef handfangið er ósatt, rétt eins og í C, ég ætla að gera eitthvað eins og, gat ekki opnað skrána, sviga n. Og þá er ég bara að fara að fara á undan og loka. Og það kemur í ljós, í PHP, Ég er ekki inni í virka. Það er engin aðalæð virka hér. Svo ég ekki aftur, í sjálfu sér. Ég loka. Sem er í raun það sama. Og ég er spennandi með einni y líklega. Einn þýðir bara villu af einhverju tagi. Það er ekki núll, svo það er villa. Allt í lagi, þannig að ef ég er hérna núna í áætluninni sem ég hef opnað skrána. Ég ætla að fara á undan og lýsa fylki kallast heimilisföng, og í C ég þyrfti að vita Stærð fylkisins fyrirfram, ekki satt? Eða ég þyrfti að lýsa þessu er bendi, og þá nota malloc. Og þá í hvert skipti sem ég las í gegnum aðra röð í skrá, Ég ætla að þurfa að malloc meira minni, malloc meira minni. Það er með verk í hálsinum. Og sem betur fer, PHP, og Ruby, og Python, og JavaScript, þeir mun vaxa fylki þína fyrir þig sjálfkrafa. Ekkert meira malloc. Ekkert meira minni stjórnun. The tölva sér um það. En það verð sem þú borgar. Það er svolítið hægar. Og fyrir a program eins og þetta við erum ekki að fara að taka eftir. Við erum að fara að senda 100 textaskilaboð. Td ekki að fara að finna það. IT raunverulega byrjar að máli tungumál val þegar gögn eða forrit þín fá virkilega, virkilega töluverður, sem mun vera raunin meira svo með vefur byggir efni okkar. En nú skulum sækja fram. En það kemur í ljós að það er virka í C kallast F fá CSV. File fá CSV, sem tekur a skrá höndla eins og rök hennar, og það gengur þá röð, eftir röð, með röð, til að lesa í röð. Svo það les bara línu texta úr skrá. En hvað er gott um þessa aðgerð, það er ekki bara rétt mér línu af texta. Það lítur út fyrir þeim kommum, og flokka línu. Og til að flokka línu þýðir að skipta það á ákveðnum gildum í þessu samhengi. Með öðrum orðum, dollaramerki röð er breyta sem er að fara að gefa mér fullt af Vísitölur. Þetta er að fara til vera the Fyrsti dálkurinn í CSV mínu. Þetta er að fara að vera annað dálki, þetta er að fara að vera í þriðja, og þetta er að fara að vera fjórða. Vegna muna, og Excel í ekki vinna í síðasta skipti sem við gerðum þetta, en ef ég sækja starfsfólk punktur CSV. Úpps, ekki endurnefna. Ef ég sækja starfsfólk punktur CSV, og reyna að opna það, Ég hef nú þegar registered-- Ó ég ekki uppfæra Excel síðan síðast. Þú munt sjá að í starfsfólk punktur CSV, ég á fjögur dálka. Svo þegar ég las í Fyrsta röð fyrir Abby hér, dollaramerki röð 0 er Abby, dollaramerki röð einn er Lyons, dollaramerki röð tveggja er númerið hennar, og þá flytjandi síma hennar. Svo er það allt. Og það er gott, því ég þurfa ekki að nú reikna út þar sem allar þessar kommur í raun eru. Þannig að ég ætla að fara á undan og gera þetta, í ljósi þess að skilgreining, Ég ætla að segja að nafn hennar er í röð krappi núll, eins og lofað. Og ég ætla að grab-- og reyndar, þú veist hvað? Ég ætla ekki að hafa áhyggjur af nafn hennar, í þessu tilfelli. Ég ætla að halda það einfaldara. Ég ætla að gera númerið hennar er í röð krappi tvö, held ég. Og flytjandi hennar var í þar? Row þrír, einn yfir. Svo ekkert nýtt þar. Það er bara núll flokkun í fylkinu. Og nú ætla ég að fara að gera eftirfarandi. Ef flytjandi jafnt jafnt AT & T-- Ég ætla bara að fara að hafa loop-- Ég vil búa til tölvupóst netfang sem lítur svona út. Það er að fara að vera 617-555-1212 á, hvað er það, text.ATT.net, er það sem ég vil gera. Svo hvernig á ég að gera þetta? Ég ætla að gera eftirfarandi. Netfang hennar er að fara að vera númer hennar, og nú, láta mig fara á undan og gera þetta. Þetta er einhver angurvær setningafræði. Ég gæti gert það prósent s bragð, en ég get í raun bara að gera þetta. Þannig að þetta er PHP hlutur, en skulum íhuga hvað ég er að gera. Dollara undirrita tölu á vinstri, bara breyta. Gefðu mér breytu. Ég þarf ekki að tilgreina tegund. PHP mun reikna það út. Á hægri hönd hlið, hvað er gögn tegund þess heild hlutur á hægri hönd hlið? Lítur út eins og band, vegna þess að það er tvöfaldur vitna lengst til vinstri og lengst til hægri. Nú er það einhver angurvær nýja setningafræði hér. Það er hrokkið axlabönd, og dollaramerki númer. En taka a giska hvað er að setningafræði líklega segja PHP til að gera fyrir mig? Já. Bara setja gildi þar. Þannig að ekki prósent s. Við gætum notað prenta f, eða S prenta f eða eitthvað eins og það, en PHP og a einhver fjöldi af hærra stig tungumál, þú ert að fara að sjá að þú gætir gera það sama virkni, kannski sex mismunandi vegu. Og svo fer hann að verða spurning um hönnun eða stíl. Svo er þetta bara dulinn leita leið segja, gefa mér netfang, en stinga í fjölda í milli þessara hrokkið axlabönd. Og hrokkið axlabönd mun ekki endað í endanlegri heimilisfang. Nú getum við sleppt yfir sumir af þessar línur fyrir sakir tíminn er upp. Svo ef flytjandi jafngildir jafngildir verHorizon-- Úpps, Verizon-- ég vil gera eitthvað mjög svipuð, þar sem heimilisfang fær, vitna, unquote, númer á text.ATT.net. Og þá get ég gert sams konar hlutur fyrir the hvíla af the flytjenda. En ég ætla bara að gera punkt, punktur, punktur fyrir nú. Og nú skulum gera ráð fyrir að Mig langar að bæta array, ýta. Mig langar að bæta við array, sem heitir viðtakandi. Þetta netfang, þetta er hvernig þú bæta eitthvað til fjölda í PHP. Þú þarft ekki að gera malloc. Þú þarft ekki að breyta stærð fylkisins. Þú segir bara array, ýta. Hvað viltu að push-- hvað array þú vilt að ýta eitthvað á? Heimilisföng. Það sem þú vilt að ýta á heimilisföng? Heimilisfang. Og í raun, ef þú virkilega að vera snjall, sumir nokkur dæmi um setningarleg sykur fyrir þetta, svo að segja, sem þýðir bara hvernig er hægt að gera þetta í á fallegri hátt, væri að gera þetta. Sem hefur of þau áhrif að vaxandi heimilisföng array af stærð einni, og þá plop að frekari Netfangið inn í það. Já. Áhorfendur: [inaudible] Ræðumaður 1: A prentvilla á annars if-- ó, burðarefni. Það er allt í lagi. Það mun ekki eins og bilun minn til framkvæma hluti af þessari áætlun síðar. En þakka þér fyrir smitandi. Einn fleiri galla. Þakka þér fyrir. Við viljum að þetta sé Vtext.com. Já. Allt í lagi. Svo hvar þetta leyfi okkur? Við höfum skrifað kóðann til að opna skrána. Við höfum lykkju til að árétta yfir línur í skránni. Við höfum kóða sem bætir við minn array, einn í einu, sem rétt sniðinn netfang. Svo er allt sem raunverulega er að senda tölvupóst á hvert þessara manna. Þannig að ég hef farið á undan og bjuggu mig sem hér segir. Það sem ég ætla að gera hér is-- og skulum fara á undan og sleppa að einhverju raunverulegu kóða, sem lítur svona út. Svo hér er the pre-bakaðri útgáfa Ég skrifaði áðan. Og eftir að ég kláraði framkvæmd Sprint. Ég kláraði framkvæmd T-Mobile. Ég kláraði framkvæmd Virgin Mobile. Og ég mun biðjast afsökunar fyrirfram. Það er nokkur flytjenda sem sumir nemendur í bekknum hafa sem ég ekki nenna enumerating í Ef ástand hér. Svo ekki allir textar vilja fara út. En við skulum sjá hvað ég þarf að gera. Ég loka skrá, bara eins og í P setja fjóra. Og þetta er nýtt setningafræði. Og við munum sjá smá hluti af þetta með tímanum, sérstaklega með p sett sjö og átta. En þetta er setningafræði til að búa til sérstök tegund af uppbyggingu. Það kemur í ljós að það er bókasafn sem kemur með PHP, heitir PHP póst. Tilgangur hennar í lífinu er að kerfisbundið að senda tölvupóst. Það er númer einhver skrifaði annað sem gerir það auðveldara fyrir okkur að senda tölvupóst, þannig að við þurfum ekki að halda fara fram og til baka til að Gmail, og líma á netföng fólks. Það er allt fullt af línum hér sem heiðarlega, ég bara svona afrita og límt úr gögnum. Og í raun, ef þú ert forvitinn, fór ég allt af vefslóðir gögnum í kóða sem við munum senda síðar. Og eftir að meðal það sem ég er að gera er, ég er að segja þetta bókasafn, Nota Gmail, ekki satt? SMTP við ræddum stuttlega um þegar við voru í Yale um að vera simple mail Transfer Protocol. Það er siðareglur sem netþjónum nota til að senda tölvupóst, og that's-- Gmail hefur einn af þeim. A höfn, þetta er TCP höfn tala. Það er allt í lagi ef þú hafa ekki séð 587 áður. Bara veit að frá gögnum. Hér er notendanafnið mitt. Ég ætla að nota CF50 láni. Og á augnabliki, ég er bara að fara að tegund í raun lykilorð láni er. Og þá niður hér, taka eftir hvað er. Ég setti mína frá heimilisfang að láni á CS50.net. Ég held að ég muni ekki sjá eftir að senda a textaskilaboð til 800 manns sem segir, sakna þín, ást CS50 láni, kannski fyrir þá sem gætu ekki gert það í dag. Og þá í línu 76, hvað á ég að gera? Þessi tegund af útlit eins C. Svo fyrir i jafngildir 0, n equals-- nú telja er nýtt. Það kemur í ljós að ef þú vilt fá fjöldi af hlutur í fylki, þú þarft ekki að muna það lengur. Þú getur bara beðið a virka heitir telja, og það mun segja þér hversu margir heimilisföng eru í því fylki. Og þá er ég að fara að bæta við heimilisfangið tölvupósti. Og ég veit þetta af með skilríkjum. Það er að bæta við netfang virka. Og nú taka það er eitt stykki af setningafræði. Við höfum séð þetta áður í C. Svipuð í anda. Þú getur hugsað dollaramerki mail sem breytu, sem hún er. En það er struct inni sem eru ekki aðeins eignir, breytur ef þú vilt. En það kemur í ljós að í PHP, sem er hlutur stilla forritunarmál tungumál, eins og Java ef þú tókst APC. Dollaramerki mail, ef þú vilt to-- það hefur einnig aðgerðir innan þess, eða aðferðir. Svo er þetta að segja að sérstakt PHP póst bókasafn, ef ég hef fengið breytu þar, ef ég vil hringja í aðgerð sem kemur með því bókasafni, vegna í dag, bara veit að þú nota arrow tákn. Það er engin punktur tákn. Það er bara ör. En það er ekki bendi. Það er bara að láni frá setningafræði C er. Svo kalla bæta tölu inni Markmið þessu bókasafni eða breyta. Allt í lagi. Þetta er töfrandi línu. Það er hvernig ég senda tölvupóst. Það er jafnvirði opna Gmail, slá það út, og hitting senda. En það er að fara að stað senda sendu á þetta netfang, með þennan líkama, frá CS50 láni. Og nú lykillinn línu. Þessi lína var fjarverandi í eins 2011 þegar ég held að ég reyndi síðast þetta. Þessi lína þar, að sjálfsögðu, hreinsar heimilisföng. Svo rökrétt, ef ég ekki hreinsa address eftir hverja ítrun, fyrsta email eða texti skilaboð fer Alice, annað fer til Alice og Bob, þriðja fer til Alice og Bob og Charlie, þess vegna mjög dýr mistök Ég gerði það árið. Svo skulum sjá. Eru einhverjar spurningar áður en við senda ykkur öllum texta skilaboð með 10 prósent líkur? Einhverjar spurningar? Allt í lagi. Við skulum mér að fara í hér og breyting lykilorð til að það ætti að vinna, mun líklega fá svartan lista með Gmail. Svo þeir gætu allir fara út, þar sem þeir sennilega ekki eins og okkur að senda 800 bréf í for lykkju í einu. Þar sem það er ekki sérstaklega mannleg hegðun. Oh, ég ætla að breyta einn annar hlutur. Upp á toppinn, ég ætla að sent-- breyta skrá til að nemendur punktur CSV. Og ég mun ekki opna þetta, en þetta er eins CSV skrá með ekki 100 starfsmenn, en 800 nemendur, bara frá Harvard, því Yale hefur Október hlé í þessari viku. Og það virðist eins konar skíthæll hlutur að gera til að texta þær allar á því hvers vegna þeir eru ekki í bekknum á frí. Það er allt í lagi. Bara Harvard nemendur í dag inni þessi skrá. Og nú skulum fara aftur til stöðvarinnar gluggann minn. Ég er svona kvíðin. Allt í lagi svo nú er ég að fara að fara inn í Skrá og PHP texta punktur PHP. Hvernig væri annars hraustur sjálfboðaliða? Svo ég vil ekki að þetta á mig. OK, komdu upp. Hvað heitir þú? MAYA: Maya. Ræðumaður 1: Maya. Komdu upp, Maya. Allt í lagi. Við skulum sjá hvort þetta virkar. Ég setti eigin netfangið mitt í file-- símanúmerið mitt í skránni, þannig að vonandi fá einn eins og heilbrigður. Gaman að hitta þig. MAYA: Sömuleiðis. Ræðumaður 1: Svo er allt sem þú þarft að gera Enter til að senda 800 textaskilaboð, ef ég vissi ekki klúðra. Nice. Gæti tekið smá stund, tölfræðilega, þar til við fáum að tölvupósti address-- textaskilaboð sem er í herberginu núna. Við skulum sitja og sjá. Áhorfendur: [Whistling] Ræðumaður 1: Ó, já. Áhorfendur: Oh, Gotcha. Ræðumaður 1: Fyrir lykkjur are-- þetta er ekki hægt vegna þess að PHP. Þetta er hægt vegna þess að Gmail er eldneytisgjöf okkur og ekki láta okkur senda meira en eins og einn tölvupósti á sekúndu. Nokkuð? Þetta var erfitt hlutur fyrir mig að prófa á heim með bara ég og einn símann minn, svo. Er það vonandi frá láni? Já? Nei? Segja já. Nei? Það er frá vini? Óþægilega. OK. Nokkuð viss um að það er að vinna þó. Obbosí. Þeir black-- ó, bíddu í eina mínútu. Oh, þú veist hvað? Eitt andartak. Aðeins Maya og I-- Mia, var það? MAYA: Maya. Ræðumaður 1: Maya, eru að fara að Veistu hvað ég gerði rangt hér. Ó, bíddu í eina mínútu. Ég held að ég sendi bara 100 textaskilaboð til 555-1212. Standa við. Ég get ekki unnið hvaða ár. OK. Maya? Festa það í eftirvinnslu. Dammit! Í framhaldi af heimilisfang. OK, standa við. Sorry. Það er sársaukafullt hverju ári. OK, eitt augnablik. Þetta er gott. Ég er í staðinn að fara að gera þetta. Print netfang. OK, standa við. Prenta heimilisföng, krappi i. Já, eins og ég það. Dollar sign-- OK ég skal útskýra það sem ég er að gera í augnablikinu, eftir að ég hef keyrt þetta. Á hverju ári. OK, hér við fara. Ég hef just-- og ég vil ekki til að sýna öllum símanúmer en Maya getur staðfest með höfuðhneiging á höfði, sem hún sér allir er símanúmer í bekknum sem ég ætla að afrita inn forrit sem heitir Gmail. Og ef í Gmail, hvað við viljum að segja? Sakna þín. Love-- það er ekki frá mér. Ég hef ekki einu sinni högg senda ennþá. Svo skulum við fara á undan og gera þetta, ef ég get stækka. OK. Þannig að ég ætla að nota forrit sem heitir Gmail núna. Ef Maya, vilt þú að smelltu á Senda hnappinn, við mun líkja hvað það númer ætti að hafa gert. Nokkuð? [Píp] Áhorfendur: Já. Ræðumaður 1: Já? Salvation? Áhorfendur: Já. Ræðumaður 1: Miss þú. Og ég ætla að senda út hvíld. Ég sendi út hluta vegna þess að ég vissi ekki að hugsa Gmail myndi láta þá fara í gegnum. Svo bara muna, í dag er dagurinn sem þú lært að ég get notað Gmail. Það var hryllilega. A stór lófaklapp að Maya. Þakka þér fyrir. Allt í lagi, svo. hvað [Píp] Við fengum nokkrar tón, já? Allt í lagi. Nú er ég að fara að fá 700 raunverulega óánægður tölvupóst til baka frá bekkjarfélögum. Svo að minnsta kosti að við munum sjá ef það var þess virði. Svo hvað fór úrskeiðis? Ég reikna út hvað fór rangt eftir því, en bara að líta á hversu auðvelt það var að gera það í PHP. Og hvað getum við gert í raun nú að við höfum þetta svipmikil PHP. Það was-- sem var hræðilegt. Allt í lagi. Svo það var hvað ætti að hafa farið út. Þetta var mér að prófa í morgun á minn Síminn, raunveruleg screenshot af símanum mínum. En nú skulum við íhuga hvers vegna við erum í raun að kynna allt þetta efni í fyrsta sæti. Svo markmiðið er ekki að skrifa þessi forrit sem eru skrifaðar á the stjórn lína, ekki satt? Svo ég skrifaði einfalt halló program, skrifaði ég lítið forrit sem gerir conditionals, og notaði lesa línu og svo framvegis. Og í orði, ég skrifaði bara forrit sem sendir út 800 textaskilaboð, gefa eða taka 800. Og það program var allt enn um stjórn lína. Og að sjálfsögðu er ekki á vefnum, ekki satt? Markmiðið er nú að byrja að nota hvað ég kröfu er auðveldara að nota tungumál, eflaust fleiri öflugur tungumál varðar af þeim eiginleikum sem koma með það, að byrja skrifa kóða sem býr til vefsíður. Svo síðasta skipti og í síðustu viku, við ræddum um HTTP og HTML. Og hvað er gott um HTML er að það er bara hrein texta. Og textinn er vissulega eitthvað sem þú getur prenta með bókstaflega að hringja prenta F virka, eða prenta virka. Og reyndar, það er það sem PHP er nú að fara að leyfa okkur að gera. Svo meðal dæmunum við hafa í dag fengið kóða, í viðbót við sumir af the merkjamál að ég setti upp það í smá stund síðan, við höfum forrit eins og þetta til dæmis. Froshims eða Freshman Intramural Sports, var reyndar einn af fyrstu extracurriculars Ég fékk að ræða við árum. Og herbergisfélagi minn og ég, með sumir aðrir krakkar á háskólasvæðinu, er notað til að keyra froshims program. Ég fæ textanum skilaboð núna. Nú svo við, aftur í dag, þannig að þetta var 1.996 eða svo, það var internet, en það var enginn process-- það var engin viðbót fyrir froshims. Og svo ef þú vildir að skrá þig fyrir knattspyrna eða blak eða hvað, þú myndi fylla út þetta kallað stykki af pappír, og þú vildi ganga yfir Harvard garð, og þú vildi renna henni í pósti rifa af Proctor, sem var í Wigglesworth, einn af dorms. Og þetta væri þú skráð. Og hann eða hún myndi þá semja þér tölvupóst höndunum, mikið eins og ég bara gerði hér með Maya, og þá myndir þú vera staðfest sem hafa verið skráð. Svo var þetta eins lítil hangandi ávöxt, svo að segja. Það var eins konar heimskur að við vorum að nota pappír fyrir þetta. Ég vildi okkur til að vera fær að fara bara á heimasíðu, eða hafa nýnema fara a website, skrá fyrir íþróttir, og bara sjálfvirkan mikið af þessu efni með því að setja nöfn sín og tölvupóst og svo framvegis í gagnagrunn. Og í raun, the mjög fyrstur útgáfa af the website, með frábær ljót HTML, gæti hafa litið eitthvað svona. Það var í raun, kaldhæðnislega, meira vandræðaleg leita en þetta aftur þá. En ég nota forritunarmál. Ekki PHP, heldur kallaði Perl, sem er eldri tungumál, en mjög svipuð í anda. Og ég alveg bara kennt það að mér. Og það tók mig smá stund að reikna það út, spyrja fullt af spurningum af vinum. En hugmyndir þar var nákvæmlega það sama. Vegna þess að það PHP var í raun hannað að er ekki stjórn lína efni við spiluðum bara með, en fyrir forritun vefnum. Það er í raun bundinn í lögun sinni sett á netið, eins og hér segir. Þetta er froshims. Og ef ég vildi skrá í þessu formi, þetta er alveg ljót, vissulega, en láta mig fara á undan og vera minna þægilegt nemandi, og hvað íþrótt fyrir Matthews, smelltu Register. Það sem ég vil vera fær um að gera er að leggja fram upplýsingar frá formi, ekki til miðlara Google eins við gerðum síðast, alveg svindla með því að nota bakenda þeirra, ég langar að hrinda í framkvæmd eigin stuðningur númerið mitt. Sem þýðir að geta skrifað í PHP kóða sem býr á vefslóð að slík gögn geta vera skila til. Og þá númerið þitt, skrifað í PHP á netþjóni, getur þá brugðist við þeirri notandi inntak. Eins og nafn hans eða hennar eða þægilegast, eða dorm, og síðan gera eitthvað með það. Í þessu tilfelli, ég bara heimskulega prenta það út sem texti, sem er ekki allt sem falleg. En þú gætir örugglega Ímyndaðu þér, ef þú veist HTML, og þú munt brátt vita hvernig á að búa HTML með prenta f, og prenta, og svipaðar aðgerðir, getur þú vissulega búa til fallegri vefsíðu sem segir, hey David, þú ert nú skráð. Þú ert minna þægilegt nemandi frá Matthews, ekki satt? Þú getur bara notað í heild búnt af% ses, eða hrokkið axlabönd og dollaramerki Rithátturinn Ég notaði smá stund síðan, að búa texta sem er meira notendavænt en þetta. Svo skulum taka a líta á þetta eina skrá. Froshim núll punktur PHP lítur svona út. Þegar ég endurhlaða CS50 IDE, froshim núll lítur svona út. Þetta er froshim núll punktur PHP. Og hvað gerir þú taka eftir um þessa skrá? Áhorfendur: [inaudible] Ræðumaður 1: Því miður, smá hávær? Áhorfendur: [inaudible] Það er allt í HTML. Og í raun, það er, vegna þess að Hvað er áhugavert um PHP er að það var hannað til að vera, því að betri eða verri, blandað með HTML kóða. Og í raun, jafnvel þótt það skrá, froshim núll punktur PHP, hefur PHP athugasemd efst um það, það er allt bara HTML. En hins vegar ef ég opna, við skulum segjum skrá núll punktur PHP, sem bara hefur stórt athugasemd efst. Þetta lítur líka nánast eingöngu eins og HTML, nema hvað? Line, hvað, 21 lítur svolítið undarlegt. En eftir ég ætla að slá inn PHP háttur með opinn krappi spurningarmerki PHP. Þá hef ég smá dót. Og þá í lok þess línu næstum ég hef, spurningarmerki PHP. Og þetta er það sem ég meina með því blandað. Þú getur skrifað HTML sem þú bara vilt miðlara að spýta út. En ef þú vilt gera eitthvað dynamic partway um síðuna eins setja nafnið mitt eða dorm eða þægindi stigi, Ég get notað virka eins og prenta R, sem er prenta endurkvæma, sem þýðir bara prenta út þessa breytu, forsníða hana hvernig sem þú vilt. Það er í raun ekki fyrir manna tilgangi, það er bara fyrir kembiforrit eða sjúkdómsgreiningar. Svo er það hvernig ég gerði það. Ef ég fer í staðinn froshims tveggja punkta PHP, eftir að aðgerð af þessu formi er ekki skráð núll punktur PHP sem old-- fyrri einn í raun var. En það er skráð tvö punktur PHP. Svo skulum líta á hvernig þessi hagar sér svolítið öðruvísi. Ef ég fer í útgáfu tveggja. Ef hér, ef ég skráð mig sem Davíð minna, þægilegt, frá dorm af Mathews, skrá. Svo að þessu sinni sagði, þú eru skráð, í raun ekki. Við skulum sjá hvað ég gerði hér. Ef ég lít á skrá tvö punktur PHP, þetta hefur einhverja fleiri PHP kóða. Það er svolítið hreinni, þótt það enn hula svolítið lengi á þessari línu. Tilkynning hér. Ég prenta út HTML tag minn, höfuð tag minn, Titillinn tag minn, höfuð, líkama. Og þá er ég að byrja á að segja hlutir eins og inn PHP ham. Og svo þessi merki, opið krappi PHP-- spurningarmerki PHP segir, hey, framreiðslumaður, execute-- túlka Eftirfarandi efni og PHP þar til þú sérð á hætta tag. Og jafnvel þó að þú gætir ekki vita allir annað PHP en þú hefur séð svona langt, þú getur konar lesið það nokkuð innsæi. Ef nafn er tómur eða þægindi er tómur eða dorm er tóm, hvað á ég að gera? Hvað á ég að segja við notanda? Þú verður að gefa nafn þitt, þægindi, og dorm, og svo framvegis. Annars segi ég að þú ert skráð, Jæja í raun ekki. Og ég segi í raun ekki vegna þess að það er ekki til gagnagrunnur. Ég ætla ekki að gera neitt með þeim gögnum. Ég ætla bara að henda henni vegna mótmælum. Nú er ég skimped konar yfir línu 22. Það er meira setningafræði þar, en dollaramerki undirstrika staða er eins konar áhugavert. Og þetta er það sem er gott um PHP. Í PHP, þú þarft það sem kallast nokkur frábær alþjóðlegt breytur. Þeir eru eins konar jafnvel meira mikilvægara en alþjóðlegum breytur. Og þetta, allir eignfærð sem slík, eru með PHP. Svo ef þú hafa a framreiðslumaður sem hefur vefþjón uppsett eins og Apache, og þú setur tungumál stuðningur fyrir PHP, allt í einu þú getur byrjað að nota þessar super alþjóðlegt breytur í kóðanum þínum. Og hvað er gott um PHP er að ef þú bara skrifa í skrá sem endar á punkti PHP, setja það á vefþjóni, og þá senda mynd á það gegnum þessi aðgerð tag og formi tag, að aðgerð eiginleiki í form tag, PHP og vefur alveg tölur út hvernig á að grípa allar þessar helstu gildi pör út af the URL eins spurningu merkja q jafngildir ketti, það mun reikna út hvernig á að q og ketti. Ef þú sendir inn mynd eða notandanafn, eða lykilorð til eins og Facebook, PHP mun reikna út fyrir þig þar öll þessi gögn er. Og það verður bara að afhenda þú tengin array kallað dollaramerki undirstrik staða, eða dollaramerki undirstrika fá, eftir því hvort þú ert nota GET eða POST skráningar. Og það verður bara að afhenda þér frábær global breyta, þannig að ef þú vilt fá á nafni sem notandinn lögð í gegnum þessi vefur form, þú bókstaflega bara segja nafnið super alþjóðlegum breytu, vitna, unquote, nafn. Og vitna, unquote þægindi, og vitna, unquote dorm. Og við erum að fara að vera fær um að gera þetta og svo miklu meira með PHP. Og jafnvel þó að þetta var vindbylur litið á það, við munum kafa í miklu næstu viku. Við munum kynna gagnagrunn þannig að þú ert í raun fara að byrja að innleiða eigin E-verslun based-- þitt eins vefsíðu í tíma bara viku. Þannig að við munum sjá þig næst, og vona að þú fékk textaskilaboð. Bless. [TÓNLIST spila] [DOOR OPNUN] Ræðumaður 2: Hey. Ræðumaður 3: Hvað er upp? Ræðumaður 2: Hvað ert þú að gera? Ræðumaður 3: Vinna á Heimadæmi. Ræðumaður 2: Nice. High fimm. [HIGH FIVE] Hvað are-- uh, hvað ert þú að gera hér? Ræðumaður 3: Bara hangandi út. Bara til baka frá the gym. Ég gat ekki annað en eftir þegar við hár-Fived, að þú hefur ansi gróft hendur. Ert þú að fara í ræktina? Ræðumaður 2: Nei Nei Ræðumaður 3: Dude, þú lítur nokkuð stór. Sem er slæmt, því allir vita 8-bolti er stór maður á háskólasvæðinu. High-fimm. Ræðumaður 2: Uh, nei. Nei, ég held að ég er góður. Ég held að ég er góður.