>> [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.
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.