[Powered by Google Translate] [Vika 8]
[David J Malan] [Harvard University]
[Þetta er CS50.] [CS50.TV]
>> Velkominn aftur.
Þetta er CS50, og þetta er upphaf viku 8.
A par af tækifærum í þessari viku,
meðal þeirra þetta tal hér, þar sem mat verður þjónað.
Fyrir frekari upplýsingar kíkja á glærur sem eru á netinu.
Og líka annað atriði í þessari viku með eigin Thomas Carriero okkar.
Hann er einn af fyrrum yfirmaður CS50 er kennslu félögum sem nú Dropbox,
og hann er strákur sem boginn okkur upp með þú veist hvað,
svo ef þú vilt meira af því höfuð að tala sínu þetta síðdegi til Dropbox og fleira.
CS50 hádegismatur er á föstudaginn.
Ekki taka þátt í okkur ef þú ert fær, 1:15, eins og venjulega, í eldi og ís.
>> Og nú erum við að kafa inn í eitthvað sem heitir Námskeið.
CS50 Málstofur okkar, muna, eru þessi valfrjáls námskeið á vegum kennslu félagar
og auðvitað aðstoðarmenn og vinir námskeiðsins,
fólk úr hópnum á háskólasvæðinu kallast ABCD, sem er hópur
technophiles á háskólasvæðinu, eins og heilbrigður eins og a hópur heitir HCS,
Harvard Computer Society, háskólastúdent sem eru álíka áhuga á tölvunarfræði.
Verkefnaskrá þessu ári á námskeið eru námskeið á Android og IOS og JavaScript
og PHP, Unix, Vim, og meira, svo grein fyrir því að þessi námskeið eru að koma upp.
Ef þú vilt að RSVP fyrir eitthvað af þeim höfuð á þessari vefslóð þar.
Við munum síðan birta á vef sjálfsögðu er tímum og stöðum þegar þeir eru lokið.
En veit virði það er 5 ár á fyrri námskeiðum á netinu,
margir sem eru enn mjög mikill straumur í skilmálar af tækni sem þú gætir
vilja til að spila með í síðustu verkefnum, svo fara þar um nokkrum tiltækum myndbönd hennar.
>> CSS, þá sem eru kunnugir CSS þegar,
hvað er það í hnotskurn?
Hvað er CSS?
Það er Cascading Style Sheets, og hvað þýðir það?
Hvað þýðir það að gera fyrir okkur, CSS?
Allt í lagi, við skulum hita upp með auðveldari einn, HTML, Hypertext Markup Language.
Hvað þýðir það að gera fyrir okkur?
Einhver á öllum?
Það er að fá mjög óþægilega að spyrja þessara spurninga.
HTML, Hypertext Markup Language.
Já? Nei?
[Inaudible nemandi svar]
Jæja, gott, gerir það okkur að merkja upp textann að sýna í a vefur flettitæki.
Það er ekki forritunarmál.
Það er örugglega Markup Language, sem þýðir að það instructs vafranum hvernig á að birta
upplýsingar, þannig að einfaldasta holdgun þetta sem við höfum séð
er eitthvað ofur einfalt eins boldfacing, opið krappi B lokaður krappi segir
gera þetta texta feitletrað, og það er í raun bara ein af mörgum leiðum
þar sem við getum gert það, og reyndar, þessa dagana betri nálgun
að stylizing vefsíðu þína, sem gerir það djörf og skáletrun
og miðju og réttlætanlegt og þess háttar, er ekki gert með HTML tags einn
heldur með tækni sem kallast CSS, Cascading Style Sheets.
Þetta er tungumál allt sjálft.
Það er líka ekki forritunarmál en-
allir, þetta er Dan, sem heldur að taka þátt okkur í dag.
Sumir tæknilegum erfiðleikum. Ekki vandamál.
>> CSS leyfa okkur að stylize síðu
því að setja það sem kallast eiginleika, þannig að við skulum taka a líta á þetta
með því að sumir undirstöðu dæmi.
Leyfðu mér að fara í tækið í dag.
Ég hef fengið 8 mánudagur skrá hér,
og ég ætla að fara í möppu sem heitir CSS þar sem við hafa a heild búnt
skráa bíða fyrir okkur hérna,
og í þessari möppu sem við höfum til dæmis search0.html frá síðasta tíma.
Nú, muna við search0 við fórum á þessum minnismiða
með svona útfærslu Google eða í raun bara að framan enda á það í viku eða svo síðan,
og taka eftir því að við fengum nýja merki þar.
Við höfðum h1 fyrir Big, djörf vörulið,
formi, sem gerði okkur kleift að í raun hafa HTML form fyrir notandi inntak.
Action, hvað var merkir aðgerð eiginleiki
á HTML formi tag?
Hver var merking þessa, aðgerð?
Ég ætla bara að gera þetta í dag.
Action er á áfangastað þar sem form er að fara að leggja fram.
Sú staðreynd að það segir action = "google.com / leita"
þýðir að þegar notandi smellir á senda hnappinn eða sambærilegu
hvaða formi sviðum sem þeir fylla út eru að fara að senda ekki til miðlara okkar
eða tæki okkar heldur til að vefslóðina á Google.
Og aðferð það er að fara að nota er kallað fá,
og fá, að nú, er bara aðferð til að brottför upplýsingum með í vefþjóni
við vegur af the URL, þannig að við skulum taka fljótur líta til baka á það hvernig þetta virkar.
>> Takið eftir að það er inntak sem heitir q
tegund hennar er texti og annað inntak tegund leggja
gildi hennar er CS50 Leita, og reyndar, ef við opna þessa skrá hér,
search0.html, það er frábær einfalt eyðublað,
og ef ég leita að einhverju eins og tölvunarfræði
og ýta síðan á Enter eða smelltu á CS50 Leita
eftir því að það sem gerist er handan komast Google
Ég hef sérstaklega endaði á þessari vefslóð efst,
google.com / search? q = tölva + vísindi,
og tölvunarfræði er augljóslega það sem ég slóst inn
The + þýðir bara að þar sem bil staf var
og það er gert með því að vafra bara að ganga úr skugga um að það er engin
rugl og hvítt rúm í raun slóð.
Og þá q, auðvitað er breytu nafn.
Við höfum ekki séð hvernig við, forritari, getur í raun aðgang Q ennþá.
Við getum gert ráð fyrir að Google veit hvað á að gera við þetta hér,
en við munum fá það á réttum tíma í dag.
>> En láta mig kíkja í staðinn á search1.html,
sem lítur svolítið öðruvísi vegna þess að ég ákvað að þetta form hér var bara svolítið fatlaður.
Ég meina, það er efst til vinstri.
Það er í raun engin fagurfræði að því, þannig að ég vil að stylize þetta
aðeins meira eins og Google, sem heimasíðuna, muna,
jafnvel þó að þú gætir ekki heimsækja hana að oft lítur svona út í dag á Halloween.
Ef við opnum í stað upp útgáfu 1 af þessari skrá, leita 1.html, hef ég miðju það.
Enn frekar ljótur, en að minnsta kosti nú er ég farinn að stjórna fagurfræði þessa síðu,
ekki bara merkingar upp þar.
Við skulum taka a líta á Leita 1, og það er í raun bara eitt munurinn hér,
sem gæti hoppað út í þig, eða kannski ekki,
en það er ein lína eða runu af mismunur?
>> Það er þetta stíl eigindi, svo kemur í ljós að í HTML
flestir þættir, flestir tags geta haft stíl eiginleiki á þeim,
og inni í þeim stíl eiginleiki er vitnað band,
og vitnað band er CSS.
Þú getur sett Cascading stíll lak þar
með því að skilgreina það sem eign nafn
fylgt eftir með hreinsun á eftir gildi.
Þetta er góður af óheppileg hönnun ákvörðun fyrir nokkrum árum
að CSS er tungumálið sjálfum sér,
en setningafræðilega er það mjög ólíkt HTML.
Í þessu tilfelli sjáum við að inni á síðunni minni, sem er skrifuð í HTML,
Ég hef CSS innan þessara vitna, og samningnum um CSS
er að þú ert það sem er kallað eign á eftir, aftur, hreinsun,
eftir verðmæti eigninni, þannig að það er ekki jafn merki.
Það er engin frekari vitna.
Það er bara þetta ristill aðskilin lykill gildi par,
og texta lína er nákvæmlega það sem það segir.
Það raða í beina röð texta í meginmál síðu, sem er í raun þorað á síðunni,
í miðju.
>> Jæja, er niðurstaðan þá er að vera skýr, þetta.
Ekki allt sem sexier, en að minnsta kosti það er fyrir miðju og smá meira eins og alvöru Google.
En hvað ef ég opna stað upp útgáfu 2 af þessu
og benda niður nýtt merki með öllu?
Nú í höfuðið á síðuna mína, sem áður aðeins hafði sem merki
í öllum fyrri dæmum?
Það var bara þetta, titilinn.
A augnabliki síðan höfuð Tag leit svona.
Nú í stað þess að það hefur stíl tag inni það,
og þetta líka, ég afsökunar, setningafræðilega lítur mjög frábrugðin HTML,
en þú færð að nota það, þar inni á stíl tag
Ég get nú þáttur hvað var í smá stund síðan
eiginleiki, stíl eiginleiki og ég get sett það á mjög efst á síðu mína.
>> Hvers vegna?
Jæja, þetta er skref í átt að þrífa það upp, eins og á að skrifa C kóða
við viljum stundum skrifa aðgerðir til að þáttur út sameiginlega virkni.
Það er bara svolítið hreinni að byrja Factoring út hlutum eins og fagurfræði
í einum miðlægum stað frekar en að hafa það allt intersperse um HTML.
Þetta er líka það sem það segir, jafnvel þótt það sé hluti af nýjum setningafræði.
Þetta hér er val, og líkami þýðir bara velja líkami þáttur
og beita eftirfarandi eiginleika til þess.
Jæja, eign er nákvæmlega sú sama.
Fyrir gott mál sem ég hef bætt við semíkommu í enda,
sem hefur tilhneigingu til að vera samþykkt, og ég hef vafið þetta allt eign
í hrokkið spangirnar vegna þess að ég gæti í raun hafa mismunandi hluti hérna.
Ég gæti reyndar sagt eitthvað eins og lit: blár;
>> Nú er þetta líka er ekki að fara að vera skref í átt nokkuð allt sem fallegri,
en ef ég fer nú aftur í útgáfu 2 hef ég að minnsta kosti nú gert líkama mínum
síðunnar texta allt blátt.
Hnappinn dvöl the sami vegna þess að það er inntak. Það er ekki hreint texta.
En allt annað sem er texti, eins CS50 Leita upp ofan, er í bláum staðreynd.
Aftur, allt sem við höfum gert nú er að fjarlægja úr líkamanum tag, tilkynningar,
stíl eigindi, og við höfum reiknað það út hér.
Þetta er ekki a gríðarstór framför, en ef við tökum þetta skrefinu lengra
taka eftir hvað við getum gert í þessari þriðju útgáfu hér.
>> Árið search3.html the webpage er nánast eins
nema hvað nýtt merki núna?
Link, svo þetta er ekki mjög viðeigandi nafni
vegna þess að þú ert ekki að tengja í skilningi a smella tengil.
Frekar, þú ert svoleiðis að gera jafngildi # include á C
þar á tengilinn merki með href eiginleiki
og ein eiginleiki segir að fara á undan
og afrita líma efni af skrá sem heitir search3.css hérna, í raun.
Það er ekki alveg að gera það, en það er í anda hennar.
Það segir að fara að opna þessa skrá, search3.css,
og meðhöndla það eins og notandinn hefði slegið það hérna í höfuðið á síðunni
bara eins og ég gerði í fyrra dæmi.
Search3.css, á meðan er, mjög einfalt.
Það raunverulega inniheldur bara nákvæmlega hvað var í smá stund síðan
í stíl tag, en ég hef reiknað það út hér í eigin skrá sína.
>> Jafnvel þó að við höfum ekki eytt miklum tíma á öllum í HTML eða vefur forritun
bara innsæi hvað er hvatning, ef til vill, að þátta út
Þessi litla runu jafnvel CSS í eigin skrá sína
og þá meðal annars það með þennan tengil tag hér?
[Inaudible nemandi svar]
Jæja, það er auðveldara að lesa í þeim skilningi að þú hefur CSS þitt í CSS skrá.
Þú ert HTML á HTML skjalinu, svo það er læsilegri í þeim skilningi.
Hvað annað gæti verið sannfærandi? Já.
[Inaudible nemandi svar]
Já, þannig að þú getur falið það mörgum sinnum, þannig að núna erum við að gera þetta
undirstöðu dæmi með einstökum skrám, en geri ráð fyrir að þú ert í raun að gera
alvöru website eins og þú verður að pset 7 eða síðasta verkefni ef til vill,
og þú vilt hafa margar vefsíður, sem er vissulega algengt á
raunverulegt World Wide Web, og það væri góður af fatlaður
til að afrita og líma sama bláa lit
og sama texta takt miðstöð í hvert eitt af þeim síðum.
Frekar gerir það meira vit í að þáttur út, líkt og við höfum gert í C
með. h skrá, setja það í einum miðlægum stað,
í þessu tilfelli search3.css, og þá leyfa allir skrá
í vefsíðuna þína til að í raun fela í sér að skrá með því að þessu merki hér í línu 16.
Eins og oftast gerist, við byrjuðum með útgáfu 0, hvers konar verka
en er ekki endilega best, og með hverju skrefi,
Leita 1, leita 2, og nú leita 3 höfum við tekið þetta barn skref
til hönnun, sem eru svolítið hreinni og eru undirbúnings
fyrir flóknari síður að við gætum gert niður götuna.
>> Leyfðu mér að opna eitt síðasta dæmi hér bara til að sýna
enn meira stílfærð síðu, en fyrst skulum líta á HTML.
Þetta er search4.html, og taka eftir því að byggingu er það nánast það sama
nema fyrir kynningu á nýrri tag, div.
Div er merki sem kynnir skiptingu á síðunni.
Þú getur hugsað þetta eins og ósýnilega rétthyrningur.
Það skapar tegund af swath af svæði á síðunni
að þú getur stylize allt í einu.
Það sem ég hef gert hér er sem hér segir.
Inni tag líkama minn, sem hefur verið þarna alla tíð,
Ég er að segja að búa til skiptingu á síðunni hér í gegnum línur 45 í 47,
og það þýðir í raun að gefa mér ósýnilega rétthyrningur meðfram efst á síðunni.
Þá gefa mér annað rétthyrning, þó ósýnilegur, hér að
og þekkja það með nafninu efni, og þá loksins,
gefa mér þriðja skiptingu á síðunni neðst
heitir ID.
Við munum sjá hvers vegna ég hef gert þetta í bara smástund,
en eðli ég haus deild.
Ég hef efni deild, og ég er með fót deild á síðunni
jafnvel þó þetta eru bara í Markup.
Notandinn er ekki að fara að sjá 3 rétthyrninga,
en tegund af uppbyggingu þar á bak við tjöldin
þeir eru í raun til staðar.
>> Nú, hver er ekki sama? Hvers vegna í raun gera þetta?
Allt annað á síðunni er það sama og við höfum séð áður.
Hér er mynd mín. Hér er inntak mín, inntak mín, línu brot og svo framvegis.
Hér er mynd, þó svo að við munum sjá hvar þetta kom frá í bara smá stund.
Hér er fótur, sem er nýr, bara vegna þess að ég vildi að kynna
meira efni hér.
Ef við að fletta upp eftir því að ID þessa div er haus.
Auðkenni þessa div er efni og auðkenni á þessu er fótur.
Og eins og nafnið gefur til kynna, þegar þú ert auðkenni eigindi
í HTML, samkvæmt skilgreiningu verður einstaklega þekkja
einn af þeim þáttum, einn af merkjunum í síðuna þína.
Byrðin er algerlega á þig að muna að þú ert með haus auðkenni þegar.
Þú ert með fót. Þú hefur efni auðkenni þegar.
Tölvan er ekki að fara að reikna út hvað er í boði ID er fyrir þig,
svo þú gætir óvart gefið 2 Tags kenni á haus,
og það væri bara rangt.
>> Þú þarft að hafa í huga hvað þú hefur búið til,
en þegar þú hefur gert að því hvað við getum gert hér.
Ég get nú tilgreina tag stíl mínum efst
eða equivalently í CSS skrá minn, ef ég var enn að nota þessi útgáfa,
Ég get sagt # haus, og hvað það þýðir að allt sem merki
á þessari vefsíðu hefur ID haus
og #, bara með því að mönnum venju, táknar auðkenni.
Mikil merki eða pund merkið táknar auðkenni.
Haus er nafn sem ég gaf henni.
Þetta þýðir að beita þessari CSS eign
til hvað merkið er á þessari síðu ber kenni á haus.
Sami samningur hér.
Sækja þessa eign, sem gerist að vera sama, hvaða frumefni
sem ID er efni, og svo hérna
eftir að ég fékk smá áhugamaður með fót.
Hvaða þáttur sem ID er fæti, þar af má aðeins einn samkvæmt skilgreiningu,
fara á undan og gera letur stærð þess minni,
þess letur þyngd feitletrað, framlegð þess 20 punktar.
>> Hvað þýðir það?
Það er bara framlegð efst, neðst, og vinstri og hægri.
Þetta þýðir að gefa mér 20-punkta ósýnilega framlegð í kringum það
bara að ýta allt annað í burtu frá honum smá, eins og þú gætir gert í Word,
Microsoft Word eða Pages eða eins.
Og þá texta samræma miðstöð.
Við skulum sjá niðurstaðan, og þá munum við fara aftur upp á sem eftir runu af CSS þar.
Þetta er útgáfa 4, Síðast okkar fyrir the leita dæmi, og það er miklu, miklu sexier.
Nú, í sanngirni, googled ég bara "Google letur merki rafall."
Og að leyfa mér að búa til GIF, mynd snið, sem lítur út eins og að það.
Í raun er hægt að gera þetta líka.
Við höfum "Google leturgerðir merki rafall."
>> Við skulum sjá hvort við getum gert þetta.
Allt í lagi, ég held að þetta er vefsíða sem ég notaði.
Við getum sagt EB 10, til dæmis, og gera þá eigin spýtur.
Þú getur spilað með allan daginn og þá réttur smellur á það
og síðan sækja í raun GIF, sem er allt sem ég gerði.
Og reyndar, það er hvers vegna í HTML mínum, muna, hérna
Ég hafði mynd tag, sem við sáum stuttlega í síðustu viku
sem uppspretta er logo.gif.
Og hvað var aftur hvatning að hafa þetta alt eigindi,
þetta val eiginleiki?
Já.
[Inaudible nemandi svar]
Gott, SO 2 ástæður raun, ef vafrinn er ekki hægt að draga upp mynd
vegna þess að þú ert með hæga nettengingu eða myndin er skemmd
eða eitthvað svoleiðis að minnsta kosti maður getur séð "CS50 leita,"
og þá einnig vegna fatlaða.
Ef þú ert notandi sem er blind og er að nota a skjár lesandi
og því augljóslega getur ekki séð myndir sem þeir geta að minnsta kosti
heyra texta ef tölvan þeirra talar það til þeirra.
>> Almennt, þetta er best að æfa sig þegar það kemur að aðgengi að síðum
þannig að jafnvel notendur í þeirri stöðu getur heyra eða sjá, svo að segja,
hvað það er sem er á síðunni þinni.
Það er einn annar hlutur sem ég gerði hér
sem er svolítið áhugavert, og við munum sjá meira um þetta í vandamál setja 7
með einn stuttbuxur forystu einn af kennslu félögum.
En # efni er átt við merki
sem ID er efni, en þá er bil staf, og þá er orðið inntak.
Jæja, hvað er áhugavert um CSS er að þú getur
vísa til tags á síðu konar hierarchically,
og hvað þetta bút af CSS leið er að finna merki
sem ID er efni, og þá gilda eftirfarandi eiginleika
að öllum inntak tags sem eru afkomendur af efni,
sem er sem eru grafin inni í henni.
Inndrátt, aftur er aðeins mikilvægt að tölvunni, ekki að mönnum,
en með því að venju við undirlið það sem við förum dýpra í síðu,
Svo þýðir þetta um framlegð 5 punkta til að allir inntak þáttur
það er einhvers staðar inni eða hreiður inni
þáttur sem ID er innihald.
>> Hver þarf að eiga við?
Jæja, það er í raun bara þessir 2 krakkar hér.
Takið eftir að inni í formi það er 2 inntak,
sem það hefur verið að öllum þessum dæmum.
En eftir því að þessir 2 inntak verður að vera hreiður inni,
að vísu djúpt lítið, nokkrar lög skerðing,
inni í tag sem ID er innihald.
Hvað þýðir þetta?
Ef við förum að vafra hér getur þú séð alltaf svo örlítið-
láta mig minnka á að það er hluti af padding milli hnappinn
og milli textareitinn.
>> Leyfðu mér að snúa tímabundið að slökkva.
Leyfðu mér að fara upp í CSS minn, og láta mig fara á undan og bara
breyta framlegð úr 5 punkta til að 0 punktar.
Leyfðu mér að fara á undan þá og vista skrána, fara aftur til the leita vél
og endurhlaða, og horfa á miðju á síðunni.
Allt fékk þjappað saman, og þegar ég þeyttum fyrst þetta dæmi upp
Ég hélt að sá heimskur með textareitinn og þá á hnappinn fyrir neðan það.
Mig langaði til að púði það svolítið, svo ég kynnti framlegð.
Hvað við munum ekki í fyrirlestri er að fara í gegnum tugi
CSS eiginleika sem eru fyrir hendi vegna þess, aftur, það eru hlutir eins og stærð letur,
letur þyngd, framlegð, texti samræma, og nokkrum öðrum tugi,
og við munum vísa þér í vanda sett 7 til ýmissa námskeið á netinu
og heimildir sem gera þér kleift að velja þessa hluti upp.
En það sem er mjög mikilvægt í lok dags
>> er að skilja hvernig þetta er beitt.
Aftur, ef við höfum tag stíl inni sem
geta fara í selectors, eins konar auðkenni sem tilgreina
Hverjum viltu að beita þessum eiginleika,
og þá setja eignir sem lykill gildi par
aðskilin með hreinsun og síðan endaði með semíkommu,
eða þú getur rífa öll þessi út og setja það í sér CSS skrá
allt sjálft.
Allt í lagi, einhverjar spurningar um hugtök
eða stór mynd af CSS?
Þú munt enn sjá meira af því í pset 7,
en við munum halda því yfirleitt frekar einfalt.
Nei? Allt í lagi.
Það er kominn tími til að raunveruleg forritunarmál,
og við munum koma aftur til smá CSS í formi dæmi.
PHP er í raun frábærlega aðgengileg tungumál
á að það er setningafræðilega nánast jafngildir C.
Með öðrum orðum, ef þú veist C, þú veist að mestu leyti PHP,
amk setningafræðilega, jafnvel þó að það eru sumir nýr lögun
og nýjar hugmyndir sem við verðum að líta á.
>> En að mestu leyti, nú að við umskipti úr C í PHP
af nýju efni er í raun á stóru myndina,
hvernig þú notar tungumál til að forrita á vefnum í stað þess að
á the stjórn lína eða blikkandi hvetja eins og við höfum verið að gera hingað til.
Til viðmiðunar, sérstaklega með pset 7 og endanleg verkefni áfram,
ekki taka kostur af þessari vefslóð hér ef þú vilt lesa upp á formsatriði í PHP.
Það er í raun eins og a frjáls online kennslubók í raun,
og þú munt einnig finna að það er mjög gott um PHP
er að það eru hundruðir af valkosti sem koma með það,
en í C sem þú ekki endilega að hafa aðgang að
fleiri aðgerðir en voru í stærðfræði bókasafn, sem CS50 bókasafn.
Í PHP og mikið af nútíma tungumálum, Python og Ruby meðal þeirra,
þú færð aðgang að svo margir fleiri valkosti, sem þýðir að þú færð að skrifa
a einhver fjöldi minna kóða vegna þess að þú getur staðið á herðum annarra
sem þegar hafa skrifað ákveðna hluti fyrir þig.
>> Við skulum taka fljótur skoðunarferð um setningafræði PHP og skrifa nokkur dæmi.
Hvað er gott um PHP fyrst og fremst
er það er ekki helsta hlutverk.
Ef þú vilt að skrifa forrit í PHP þú byrjar bara að skrifa kóðann,
og þú þarft ekki að hafa áhyggjur af helstu.
Það er ekkert int. Það er ekki aftur snúið.
Það er engin argv, argc sem er krafist þegar þú skrifar forritið.
Frekar að þú getur bara byrjað að skrifa kóðann, og þetta er að hluta til
vegna PHP er það sem er kallað að túlka tungumál.
C var unnin, og það var tekið saman í þeim skilningi að þú byrjar
með frumkóða, keyra það í gegnum Clang, sem er þýðandi,
og að lokum eftir nokkur fjölda skrefa sem þú færð mótmæla kóða, 0s og 1s.
PHP og Python og Ruby og Perla og aðrir
eru mismunandi gerðir af tungumálum sem þú safna saman þeim ekki.
Þú ferð ekki frá frumkóða til 0s og 1s.
Þú keyrir bara kóðann, og þú keyrir kóðann
með því að skrifa í venjulegum texta skrá, enda á. PHP í þessu tilfelli
stað. c, og hvað forritið gerir á tölvunni þinni
er hún túlkar bókstaflega kóða línu með línu fyrir línu.
>> Með öðrum orðum, frekar en að skrifa forrit og keyra forritið
beint að skrifa í staðinn forrit með skrá sem endar á. PHP.
Þá hlaupa raunverulegt forrit sem heitir php.exe, ef þú ert á Windows,
eða bara PHP Ef þú ert á Mac OS eða Linux,
og þú gefur sem inntak í PHP forrit eigin kóðann þinn,
og tilgangur þess á lífinu er að lesa kóða efst þinn til botn, vinstri til hægri,
og gera hvað sem þú hefur sagt það að gera.
>> Við skulum sjá hvað þetta er að fara að þýða setningafræðilega.
Í PHP höfum aðstæður.
Þessi mynd er eins og það sem þú sást aftur í viku 1
því setningafræðilega aðstæður, IFS og annars IFS og víðar í PHP
líta nákvæmlega svona.
Þegar það kemur að Boolean tjáning hann ætlar að líta nákvæmlega eins og þetta.
Þegar það kemur að anding hlutina saman sem booleans það er að fara að líta nákvæmlega eins og þetta.
Rofar líta eins, og þú færð bætt hag í PHP
sem skiptir í C ​​gæti bara skipt á bleikju eða int.
Þú getur ekki skipt um band gildi.
Í PHP þú getur raunverulega hafa tjáningu
það er breytilegt sem innihaldið er a band,
og þú getur raunverulega að gera band samanburður á alvöru leiðandi hátt,
ekki bendillinn samanburður, til að ákveða hvort eigi að gera ef ég eða J eða eitthvað annað.
Við munum sjá að hugsanlega áður en langur.
>> Lykkjur of frábærlega eru þau sömu.
Fyrir lykkjur hafa frumstilling, ástand, og sumir tala um breytingar.
Þó lykkjur líka til í PHP.
Ekki á meðan lykkja líka til í PHP,
og fylki eru í PHP, en hér er þar sem setningafræði byrjar að fá smá öðruvísi,
en hugtök eru þau sömu, og hugtök í raun sama
eins og þeir voru í 0 viku með grunni.
Fyrst og fremst er $ merkið.
Þetta var hönnun ákvörðun í PHP þar allir breytu
í PHP með hönnun byrjar með $ merki.
Það er ekki meira X, Y, Z. Það er nú $ X, $ Y, $ Z bara vegna þess.
Það er eitthvað til að hafa í huga, og nú á hægri hönd hlið
þetta lítur svipað fylki,
en við erum með hornklofum hér.
Í PHP og JavaScript, eins og við munum að lokum sjá,
að lýsa fylki þú opnar ferningur krappi og lokað ferningur krappi,
og þá hafa kommu aðskilin lista yfir gildi, hvort ints
eða strengir eða chars, hvað sem þú vilt, innan þess tjáningu þar.
>> Nú, hvernig var við að gera eitthvað svona í C?
Hvað var setningafræði fyrir statically lýsa fjölda þekktra tölur?
Það var hrokkið axlabönd, svo lítil munur hér, en bæði í PHP
og að lokum JavaScript hún notar bara hornklofa, svo í raun
eina áhugavert smáatriði hér er $ tákn fyrir breytu nafn
og einnig er á hornklofa, og einn forvitinn hlutur
sem hefur verið sleppt og á vinstra megin við = merkið.
Hvað vantar að við höfum verið að krefjast í margar vikur núna? Já.
[Inaudible nemandi svar]
Stærð, þannig að það er ekki minnst á stærð fylkisins.
Frankly, það er hvergi minnst á hornklofum á vinstri hlið
á = merkinu, og hvað vantar í línu?
Já. >> [Inaudible nemandi svar]
The tegund, svo það er áhugavert sérstaklega um PHP
er að það er ekki mjög tegund tungumál sem C er,
og það er mjög tegund að því leyti að þú verður að segja bleikju,
þú verður að segja int, verður þú að segja fljóta.
>> Hvenær sem þú vilt breyta sem þú þarft að segja Clang hvaða tegund hennar.
PHP er lítið lazier.
Það er lauslega slegið í þeim skilningi að
hægt að hafa fljóta og chars og strengir
og ints og svo framvegis, en tungumálinu sjálfu
ekki alveg sama hvað þú setur inn í breytu.
Þú þarft ekki að láta það fram hvaða gögn tegund
er að fara í breytu.
Það er algjörlega undir þér komið, þannig að þetta er ágætur
á að þú þarft ekki að hafa áhyggjur eins mikið um gögn slá
og hafa það rök þín eru og svo framvegis.
Þetta þýðir einnig að lokum aðgerðir í PHP eru að fara að vera fær um að snúa aftur
annaðhvort int mest af þeim tíma, og kannski einu sinni í a á meðan
þeir skila bool, Boolean falskur, til dæmis, að þar með að eitthvað fór úrskeiðis.
Þetta gefur okkur nokkrar upsides, en það mun gera okkur svona við hönnun
svolítið lazier þegar það kemur að því að gögn vélritun.
>> Hvað annað er að hafa í huga hér?
Breytur líta alveg eins og þetta, þannig að $ s = "Halló, heimur."
Það er kannski inferable frá fyrra dæmi,
og við höfum aðra tegund af lykkju.
Þessi við munum raunverulega sjá einu sinni í a á meðan þar sem það er alveg vel,
a framhandleggur reisa.
Í þessu tilfelli, er framhandleggur lykkja tekur innan sviga sínum 3 orð yfirleitt,
$ Eitthvað fyrst, sem er það sem array viltu iterate yfir meðlimi,
þá bókstaflega leitarorð sem, og þá loksins,
annað breytu nafn sem þú færð að velja.
Það getur verið foo, Bar, eða frumefni,
og hvað þetta fyrirbæri er
er ef $ array inniheldur 10 þætti
á hverjum endurtekning þessa array-hryggur, á hverjum endurtekning þessa lykkju
breytan heitir þátturinn er að fara að uppfæra
að vera fyrsti þáttur í fylki, þá er annað þáttur í fylki,
þá þriðji þáttur í fylki, þar obviating þörf
að gera örlítið pirrandi ferningur krappi tákn og
$ I til þess að skrá inn fjölda.
PHP gerir allt sem vinna fyrir þig og alla endurtekning
bara hendur þér næsta þáttur úr fylkinu
án þess að þú þurfa að vita um eða hugsa um tölugildi vísitölu staðsetningu hennar.
>> Og svo loks, að nú, það er einn annar lögun af PHP
sem er að fara að vera gríðarlega vel, sérstaklega þegar við byrjum forritun á vefnum,
og það er þekkt sem tengin array.
Fylki sem við þekkjum svona langt og með 20 sekúndur síðan
og á síðustu 8 vikum eru tölulega verðtryggð fylki,
konar hefðbundnum fylki þar sem vísitölur eru ints,
0, 1, 2, alla leið upp.
Tengin fylki eru miklu öflugri.
Þeir leyfa þér að hafa handahófi lykla,
handahófskennt vísitölur og handahófskennt gildi.
En í hefðbundnum fylki það er 0, 1, 2,
í tengin array er hægt að hafa yfirlit
eða lykill af foo sem gildi er sundlaug.
Þú getur þá hafa annan takka er nafn hans Baz og ætíð er qux.
>> Aftur, heimskur tölvunarfræði almenn breytu nöfn hér,
en málið er að þetta fylki hefur ekki krappi 0 eða krappi 1.
Það er í staðinn að fara að hafa krappi foo og krappi Baz.
Þetta er miklu meira fjölhæfur í að við erum að fara að vera fær um að tengja
orð með öðrum orðum, lyklar með gildi alveg geðþótta,
og við erum að fara að vera fær um að fá þær gildi aftur í föstu tíma
því undir hetta hvað tengin array
raun er kjötkássa borð.
Muna að kjötkássa borð gerir þér kleift að setja inn inntak
eins og að setja í orðinu Davíð ef þú vilt að setja Davíð í einhvers konar orðabók,
og þá fá aftur sumir gildi yfirleitt.
Í tilviki Speller, satt eða ósatt.
David eða hvað orðið er eða er ekki að finna í orðabókinni.
An tengin array er í raun bara kjötkássa borð,
en það er miklu meira notendavænt holdgun þess.
Eins og við munum sjá, það er að fara að leyfa okkur að gera nokkra hluti
mjög, mjög auðvelt.
>> Við skulum taka a líta á sumir undirstöðu PHP
dæmi og sjá hvað við getum gert við þessu tungumáli.
Leyfðu mér að fara á undan og opna upp í skrá uppspretta okkar í dag
a skrá sem heitir hello1.php.
Þessi skrá er athugasemd en það er raunverulegur númerið,
svo láta mig fjarlægja í raun allar þær athugasemdir úr skrá
og kynna þér kannski einfaldasta PHP forrit hérna.
5 línur, og sum af þeim eru hvít rúm,
svo eftir nokkur helstu munur hér.
Skráin heitir hello1.php.
The mjög fyrstur lína, þó, <? PHP.
Líkur á anda og HTML,
sem röð af stöfum segir tölvuna
"Hey, tölva, hér kemur áætlun sem við erum í í PHP."
Það tryggir að það er ekki rugla að það er einhver önnur tungumál.
Lína 2 er áhugavert hvítt rúm.
Lína 3 er gamall vinur okkar printf,
í þetta sinn í tengslum við PHP.
PHP hefur sína eigin útgáfu af printf sem hegðar sér nákvæmlega eins,
þannig að þetta er bara að fara að prenta "halló, heimur."
Og þá er þetta öfugt merki hér,>, þýðir það er það fyrir PHP kóðann minn.
>> Við skulum sjá hvernig á að keyra þetta.
Ég ætla að fara aftur í flugstöðinni glugga mína hér.
Ég ætla að fara í PHP skrá minn.
Takið eftir að við hafa a heild búnt af skrá, sá fyrsti sem er hello.php.
Leyfðu mér að fara á undan og keyra, hello1.php, slá.
Aðgangi hafnað. Allt í lagi.
Hvernig höfum við fasta hluti eins og þetta í fortíðinni?
Hvað er það? >> [Inaudible nemandi svar]
Við þurfum að lesa og skrifa, en láta mig gera LS-l.
Mundu þetta nokkuð dulinn framleiðsla þar hello1
virðist vera læsileg og skrifanleg af mér
en læsileg eftir öllum öðrum.
Það kemur í ljós í raun er ekki skref í rétta átt.
Munurinn, aftur, með túlka tungumál
er þú verðir ekki forritið beint.
Þú keyrir í staðinn túlk og afhenda það í kóða
sem þú hefur skrifað svo það getur túlkað það línu fyrir línu.
Í þessu tilviki, túlkurinn eða forrit sem ég vil í raun og veru að hlaupa
er bókstaflega kölluð PHP.
>> Einhvers staðar á þessum diski tækisins er forrit
einhver annar skrifaði heitir PHP, eða á Windows php.exe.
Það sem ég ætla að gera hér er að ég er að fara að í raun að keyra PHP
heldur gefa það eins og a stjórn lína rifrildi kóðann sem ég skrifaði,
og þá ég súmma út og högg koma inn í.
Það keyrir forritið mitt fyrir mig, toppur til botn, vinstri til hægri.
Leyfðu mér að fara á undan og opna smá dreifni þetta.
Í hello2.php fyrirvara að þessu líka
er að mestu athugasemdir, svo látið mig fá losa af þeim sem truflun,
og hvað er greinilega öðruvísi nú um þessa skrá?
Það er þessi nýja lína, nokkuð Cryptic efst.
Í línu 1 það er #! / Bin / PHP.
Bin er venju á Linux og Mac OS til tvöfaldur,
svo þýðir / bin þetta er mappa sem inniheldur fullt af forritum
sem er forritað, einn sem er PHP.
Á #! er kallaður klabbið,
sem er fljótleg leið til að segja það, og hvað það þýðir
er að þegar þú keyrir þetta forrit nú er það vísbending á the toppur af the skrá
sem segir tölvunni hvað túlkur til að nota.
>> Það verður svolítið pirrandi ef þú hefðir til að segja notendur og viðskiptavini þína
"Hey, skrifaði við þetta forrit sem heitir hello1.php."
Allt sem þú þarft að gera er að eilífu að keyra PHP og nafn þessarar áætlunar.
Frankly, það vildi bara vera ágætur að keyra hello1.php,
og reyndar getum við ef við gerum eftirfarandi.
Leyfðu mér að fara á undan og gera ls-l, og taka í hello2 það er samt bara að lesa skrifa
og þá lesa lesa, þannig að ég get ekki enn gert þetta, hello2.php.
En við kynntum þetta alltaf svo stutt síðast að chmod skipun.
Ef ég chmod a + x, sem þýðir allar plús executability,
og þá hello2.php og þá gera LS-l taka aftur það breyst.
Einn, Linux er að sýna mér að skrá nafn í grænt til að flytja hugmynd
að executable það, en meira um vert, á the vinstri-hönd hlið
eftir því að hluti tákna x fyrir executable hefur nú verið sett.
Hvað þetta nú þýðir er að ég get keyrt ./hello2.php eins og venjulega,
högg inn, og vegna klabbið á the mjög toppur af the skrá
það er vísbending, aftur, í Linux sem segir
nota þetta túlkur til að keyra þessa skrá.
Ekki hafa áhyggjur af að neyða notendur til raunverulega slá það.
>> Og hvað er gott núna er það er góður af óviðkomandi mínum viðskiptavinum og vinir mínir
hvaða tungumál ég skrifaði þetta forrit á, þannig að ég get farið á undan með MV
og endurnefna slíkt við hello2, til dæmis.
Og nú ef ég ./hello2
og zoom út áætlun mín heldur áfram að keyra.
Þessar endinguna mönnum venju sem er nauðsynlegt
fyrir eitthvað eins Clang og gera sem leita að þeim.
En fyrir PHP, gæti ég kalla þetta eftirnafn skrá allt sem ég vil.
Ég gæti bragð heiminum í að hugsa um að ég er mjög góður á Ruby,
og ég gæti skrifað hello2.rb og keyra þetta,
og voila, nú ég hef Ruby útgáfa, sem er fullkomin lygi.
En endinguna tilgangslaust
Ef skrá er executable og hefur þetta sérstaka vísbending á the toppur af the skrá.
>> Nú, eins og innskot, láttu mig sýna þér fljótlega útgáfa 3,
sem er tegund af gagnlegur bragð til að vita.
Árið hello3 Ég gerði eitthvað örlítið rangt
að ég ætla að uppfæra kóðann á netinu.
Í útgáfu 3 kemur í ljós að á flestum Linux tölvum
Það er forrit sem heitir ENV fyrir umhverfið,
og hvað þú getur gert hér er að ef þú hefur ekki hugmynd um hvar PHP
er sett upp á harða diskinum, því örugglega það gæti verið mismunandi byggt á tölvunni
að einhver er að nota, Env segir bara hlaupa Env,
sem er á flestum kerfum, og reikna út hvar PHP er.
Bara algengt bragð svo þú þarft ekki að hafa áhyggjur óður í að finna út hvar forrit er.
En ef þú aðgát til að finna út hvar forrit er og þú hefur ekki byggt svona langt
þú getur notað hvaða stjórn.
>> Leyfðu mér að súmma út og tegund sem PHP,
og eftir það segir mér að það er í raun í usr / bin / PHP.
Það er góður af lygi. Það er líka í kassi.
Það er bara að sýna mér fyrsta högg.
Ef þú alltaf furða þar Clang er sem Clang, það er í usr / bin / clang,
sem gera, usr / bin / gera, og hvað það þýðir allt þetta sinn
þú gætir verið að skrifa usr / bin / clang inn að keyra Clang,
en það er góður af leiðinlegur að gera það, svo að sumar möppur
eins usr / bin og bin er ráð fyrir að vanskil
svo veit að tölvan á að leita í þeim fyrir þig.
Einhverjar spurningar um að skrifa frábær, frábær einfalt Hello World program
í PHP og svo keyra hana?
Því nú munum við byrja að kynna meira sannfærandi setningafræði.
Allt í lagi, hér við fara.
Þessar áætlanir sem við höfum séð í raun öllum þeim áður.
>> Ef ég opna til dæmis, við skulum gera beer1.php,
við munum ekki fara í gegnum nokkrar útgáfur af þessu, en það sem ég gerði
var ég settist niður og hellti það eða breytt
minn C kóða PHP kóða hér.
Flest af the toppur af the skrá er athugasemdir hérna.
Það kemur í ljós að það er eitt nýtt hlutverk við þurfum kallað Readline.
GetString, muna, frá viku 0 og áfram var CS50 hlutur.
PHP koma með eigin notandi-vingjarnlegur virkni hennar heitir Readline
sem tekur 1 rök sem skilgreinir hvetja
sem þú vilt sýna að notandanum og hvað Readline gerir
er það skilar hvað notandinn slær inn
Í þessu tilfelli er ég að lýsa yfir breytu sem heitir $ n.
Ég er að geyma í henni skilagildi Readline
eftir vekur notandi með þessum streng.
Bara til að taka upp, að í raun að keyra þetta, láta mig fara á undan
og keyra PHP beer1.php.
Hversu margar flöskur mun það vera? Við skulum bara gera 2 í þetta sinn.
Enter. Það er allt.
>> The program er virkni eins og C útgáfa af dögum.
En setningafræðilega skulum sjá hvað er öðruvísi.
Eftir að ég fá int frá notanda eftir því að ég er að gera smá villa stöðva,
og ef N er minna en 1 ég hætti og ég prenta út
a miður skilaboð til notanda og út með 1.
Þetta er líka svolítið öðruvísi.
Í C hvað gerði við gera? Í C við aftur 1.
Í PHP þú hættir með 1, sem satt er að ég held aðeins meira innsæi
vegna þess að þú ert bókstaflega spennandi forrit.
Allt í lagi, og þá niður er pirrandi lagið eins setningafræðilega
nema fyrir breytu, svo niður í línu 24 Onward
taka mína fyrir lykkja er nánast það sama,
en ég hef $ framan i og n,
og það er einnig vantar í línu 26 sem við höfum haft í fortíðinni
þegar lýsa breytilegt i?
Það er engin tegund.
Það er rangt í PHP til að segja int.
Þú einfaldlega þarft ekki að gera það.
The tölva, túlkurinn PHP er sviði nógur til að átta sig
að ef þú setur númer á $ I það mun meðhöndla það
sem tala fyrir þig.
Og svo niður hér við stinga í $ i, $ i, $ i - 1.
Allt er það sama, og svo niður við að gera a "Vá, það er pirrandi" printf
og hætta síðan (0).
>> Again, the takeaway hér er að jafnvel þó að við erum að fara að eyða tiltölulega
lítill tími á PHP, vissulega á móti því sem við gerðum á C,
það er nánast sama, og svo það sem við munum gera í dag og í næstu viku
og lengra er áhersla raun á sumum nýjum hugmyndum.
Bara að sjá að einn annar hlutur hjartarskinn þýða yfir frá C,
þetta var frábær einfalt forrit sem við gerðum í viku 1
eða 2 sem cubed gildi.
En hvað var áhugavert á þeim tíma um þessa áætlun er að það
kynnti hugmyndina um sérsniðna skriflegu fall sem við sjálf skrifaði.
The setningafræði í PHP er nánast það sama.
Hér er áætlun mín upp ofan.
Takið aftur fjarverandi er einhver hugmynd um helstu.
Ég byrja að skrifa kóðann, og þetta er það sem er að fara að fá fram sem túlkur.
Ég prenta út x er nú 2, væntanlega.
Og ég krafa cubing ...
Og ég kalla teningur virka og fara í $ x
og úthluta aftur gildi að $ x.
Og ég halda því fram að það er cubed, og þá segi ég það, sem vonandi
segja x er nú 8.
The setningafræði fyrir virka í PHP er alltaf svo örlítið öðruvísi.
Aftur vantar er aftur gerð.
Aftur vantar er aftur gerð og einnig vantar er það önnur tegund?
[Inaudible nemandi svar]
Jæja, allt í lagi, það er gott. Við skulum koma aftur til að í annað.
>> Við höfum ekki, td int hér.
Við gerum ekki, til dæmis, hafa int hér vegna þess, aftur, í PHP
þú einfaldlega þarft ekki og ætti ekki að gera það,
heldur er það þessi nýja leitarorð heitir virka.
Í PHP er það nánast smá skýrari vegna þess að þegar þú vilt aðgerð
þú segir bókstaflega virka, gefa þér það nafn og þá kommu aðskilin lista
ef einhver rök þess.
Engin þörf á að segja ógilt eða eitthvað svoleiðis, og svo aftur er það sama,
$ A * $ a * $ a.
Hvað er einnig vantar? Sammy benti þetta út hér.
Efst á the skrá alveg fjarverandi í PHP einnig er frumgerð.
Þetta er líka með hönnun.
Tungumál og túlkar eins og PHP eru betri en C alltaf var
í vistþýðendur eins Clang.
>> Muna að Clang, ef þú hefur ekki sagt það að teningur er til,
Ef þú hefur ekki sagt það sem printf er eins og frumgerð
eða með # eru, vel, það var að fara að æpa á þig og ekki einu sinni þýða kóðann þinn.
PHP og fleiri nútíma tungumál er mikið betri þegar það kemur að þessu.
Þeir vilja taka það á sig að lesa í gegnum öll númer
og þá æpa á þig ef það finnur teningur hvergi.
Það skiptir ekki máli ef teningur er neðst eða efst eða jafnvel í einhverjum sérstaka skrá.
PHP og svipuð tungumál eru nú nógu klár til að horfa fram á veginn
á allt áður taldi þig sem hafa gert mistök.
Hvar er að yfirgefa okkur?
>> Við skulum gera eitt síðasta dæmi hér á aðstæður,
og ef ég opna conditions2.php tilkynningu líka
setningafræði hér er nánast það sama.
Ég er að nota Readline stað GetString, en þessi lína er það sama og áður,
"Ég vil heiltala þóknast."
Ég hef þá með ef ástand, sem annað hvort, og þá er annað,
en virkni er þetta forrit líka eins það sem við gerðum vikum,
svo ef ég keyrt þetta, php af conditions2,
og ég gef honum nokkrar eins 23 -
Ég tók jákvæð tala. Ef ég gefa það -1 Ég tók neikvæð tala.
Ef ég gefa það 0 Ég valdi örugglega 0.
Svo sem þykir vænt um allt þetta?
Jæja, einn af the gaman tegund af æfingum hér
fyrir mig að minnsta kosti var að fara til baka og sjá hversu hratt ég gæti innleiða pset 5,
stafsetningarvillur pset.
Muna að það var þessi skrá heitir speller.c,
og það var skrá sem kallast dictionary.c.
Það sem ég gerði var ég svona eyddi nokkrum mínútum og ég breytir C kóða
við PHP kóða, og við munum ekki eyða miklum tíma í Speller
því rétt eins og í pset 5 þú ekki raunverulega þörf til
eyða miklum tíma í Speller sig vegna þess að athygli þín var á orðabók.
>> Nægja að segja að ef þú lest í gegnum Speller,
þessa skrá hérna, það er ansi mikið jafngildir C kóða
Við gaf þér fyrir pset 5.
Ég hef bara bætti smá $ á stöðum.
Ég hef breytt ákveðin nöfn virka ef þeir væri ekki til í PHP.
Það er eitt til viðbótar hlutur hér preg_match,
sem er lítill áhugamaður leið til að gera eitthvað, en við munum koma aftur til að lokum.
En í stuttu máli, Speller er nánast eins og ef þú horfir á mjög neðst
það spits loksins út er þetta hér,
orð rétt stafað orð í orðabók, orð í texta.
Allt í lagi, svo það er áhugavert nú er eftirfarandi.
Efst á skrá minn ég þurfa dictionary.php.
Rétt eins og C hefur # include PHP hefur sérstaka virkni sem kallast þurfa
að ansi mikið er það sama, þurfa til skrá sem kallast dictionary.php.
Hvernig get ég farið um að innleiða pset 5?
Leyfðu mér að fara á undan og opna skrá hér.
Leyfðu mér að taka smá tilvísun hér.
Og láta mig búa til nýja skrá og byrja að kalla þetta dictionary.php.
Leyfðu mér að setja það í aðra möppu svo að við getum gert þetta lifa.
Og nú ég súmma inn
Ég ætla að byrja PHP skrá mína með opinn krappi PHP lokað krappi.
Og svo hér voru nokkrar aðgerðir sem ég þarf að framkvæma fyrir pset 5,
svo láta mig byrja að innleiða nokkrar af þeim,
svo virka stöðva, sem þurfti að taka orð í sem rök.
Við munum gera það og koma aftur til það í smá stund.
>> Það var fall hlaða, sem tók í hvað sem rök?
Orðabók, svo skrána sem ég vildi í raun að hlaða.
Það var fall stærð, sem ekki taka neinar rök
og það var fall-hvað var hitt?
Afferma, en ekki taka neinar rök heldur.
Þetta eru 4 störf sem ég þyrfti að nú framkvæmd í PHP,
og það sem ég ætla að gera er að fara á undan og gera það.
A einhver fjöldi af þú nota kjötkássa borð í pset 5,
svo látið mig fara á undan og búa til kjötkássa borð í PHP.
Lokið.
Það gefur mér kjötkássa borð. Ja, hvers vegna?
Einn er breytan heitir $ borð, bara að töfra upp hugmynd um kjötkássa borð.
The Square sviga, þó muna, fulltrúi hvað?
An array, en í PHP fylki þurfa ekki að vera tölulega verðtryggð.
Þeir geta einnig vera tengin fylki,
sem þýðir að þú getur haft handahófi lykla og gildi.
>> Líkt og í pset 5, þeir sem gerðu kjötkássa gerð borð
þú sett sennilega orðið og síðan sett það inn í keðju tengd listum,
eða þú settir gildi sanna einhversstaðar eða eitthvað þar að lútandi.
Þú minntist á einhvern hátt að því að orðið var þar.
Fyrir nú, það er að fara að vera kjötkássa borð mitt,
og svo nú að fara um framkvæmd stöðva virka
Ég þarf bara að líta inn í að kjötkássa borð
og sjá hvort orðið er.
Það sem ég ætla að gera er að ég ætla að segja ef-
segjum isset, sem er PHP fall sem bókstaflega þýðir bara er lykillinn sett,
svo isset ($ table [$ word]
og ef svo er aftur satt.
Það er það. Það er pset 5 í PHP.
Jæja, í sanngirni, allt í lagi.
Annars aftur rangt, þannig að það er ekki þarna.
Hvað er raunverulega að gerast hér?
Jæja, ef borð-eða kjötkássa borð hér almennt-
er tengin array sem þýðir að þú getur vísitölu inn í það
með orð eins og "orð" og þú verður að fá til baka nokkur gildi.
>> Við erum svona að fá einu skrefi á undan okkur.
Það var svoldið gott ef við hlaðinn raun skrá fyrst,
svo er álag ekki alveg eins einfalt, en láta mig fara á undan og svipa upp
mjög fljótur framkvæmd álags.
Leyfðu mér að fara á undan og segja orð fær skrá orðabók.
Skráin virka í PHP opnar skrá
og aftur til þín fylki af öllum orðum í þeirri skrá,
bara hendur þeim til þín.
Það var stór verk líka, var það ekki?
Nú framhandleggur, þetta er nýtt reisa okkar, framhandleggur ($ orð eins og $ orð).
Þessi lykkja er að fara að byrja iterating yfir fylkisins orð
og framselja til $ orð breytu hvert orð í skrá
frá fyrsta til annað til þriðja til fjórða alla leið
þannig að ég þarf ekki að gera pirrandi [i] merki og þess háttar.
Og það sem ég er einfaldlega að fara að gera fyrir hvert af þessum orðum
er geymt það í mitt borð með flokkun í töflu
og þá að gera rétt vegna þess að muna
að orðið er í orðabókinni minni allt sem ég hef í raun að gera
er góður af Flip svolítið og segja þetta orð í kjötkássa töflunni mitt er þar, satt.
Og ef það er ekki þar, ég hef ekki sérstaklega sett rangar,
annars myndi ég þurfa að setja rangt fyrir allar mögulegar orð í alheiminum.
>> Það nægir fyrir mig bara að setja vísitölu
satt ef orðið er í raun í kjötkássa töflunni minni.
Nú er ég að klippa nokkra hornum hér að ég veifa höndum í bili,
en nú hlaða aðgerð er lokið.
Ég hlaða öll orð úr skrá í fylki.
Ég iterate yfir því fylki, og hvert orð í fylkinu
Ég stinga því inn kjötkássa borð mitt með 1 línu af kóða.
Þetta er gaman. Þú veist hvernig við getum innleiða stærð nú?
Jæja, stærð er alltaf frekar auðvelt, í sanngirni.
Hér getum við bara ekki aftur telja af borðinu.
Það er nokkuð auðvelt líka, telja ýmislegt í töflunni.
Það er í raun eins konar ekki að skilvirkasta.
Ég ætti sennilega að hafa breytilega heitir stærð svo við getum gert það
í föstu tíma, en það er laglegur þægilegur.
Ó, og síðan afferma, ef við viljum virkilega að vera endaþarms hér
Við getum sagt það er hvernig þú afferma eitthvað.
Þú stillir bara breytu jafn tómt array
og það gets losa af öllu sem var þar.
Engin þörf á að hringja ókeypis.
>> Aftur, ég hef skera nokkur horn, og ég afsökunar fyrir að fela vandamál setja 5
kannski í C, en ef við förum nú á undan og hlaupa þetta,
Ég ætla í raun að keyra útgáfu sem ég skrifaði í fyrirfram
bara svo að ég var ekki að gera neinar syntactical mistök af neinu tagi.
Leyfðu mér að fara á undan og keyra Speller. Í notkun er það sama.
Hér er orðabók skrá sem bara inniheldur orðið foo.
Hér er textaskrá sem bara inniheldur foo bar.
Skulum villuleit þetta, svo Speller, nota orðabók skrá á þessum texta skrá.
Það er eitt rangt stafsett orð, Bar, og voila.
Gjört með pset 5.
Við skulum taka a 5-mínútna hlé hér, og við munum koma til baka og meira á PHP.
Allt í lagi, við erum aftur.
Við skulum ekki hata-mig um stund.
Við skulum nú í raun hvort þetta væri ekki jákvætt
raun útfæra þetta í PHP.
Leyfishafi, það tók 45 sekúndur til að framkvæma.
>> En við skulum fara á undan núna og hlaupa það.
Leyfðu mér að fara á undan og keyra C útgáfa
á Speller, og við munum keyra það á einn af stærstu skrá,
sem er King James Bible.
Og það er hér í-við skulum fara inn í C mappa okkar,
Speller á King James 5..
A einhver fjöldi af rangt stafsett orð.
Jæja, svo að framleiðsla þú got sennilega þótt tímar eru aðeins öðruvísi,
ef þú fékkst allt virki rétt og svo tími í alls til villuleit
King James Biblían var 0,38 sekúndur, svo nokkuð gott að nota þessi framkvæmd.
Nú láta mig fara í PHP útgáfa sem við skrifuðum bara.
Leyfðu mér að hlaupa Speller á King James.
Úpps, hunsa þessi villa. Ég er í röngum skrá.
Speller á King James 5..
Næstum gert.
>> Allt í lagi, að astute áheyrnarfulltrúa munt skilja að var meira en 3 sekúndur þar.
Það er satt að keyra tíma.
Það kemur í ljós að það tekur tíma til að spýta fullt af texta út
vegna höggdeyfir málefni, en langa sögu stutta,
sem var 3,15 sekúndur af tíma vél, CPU tíma,
móti hvað var það í smá stund síðan?
Eins .3.
Ég meina, það er röð af stærðargráðu hægari, svo hvar er þessi
fáránlegt hægagangur koma frá?
Jæja, eins og hefur verið raunin með flest allir hönnun ákvörðun sem við höfum gert
í bekknum síðustu 9 vikur það er næstum alltaf það tradeoff.
Stundum milli bara rúm, stundum á milli tíma og rúmi,
rými, tíma og þróun áreynsla, og reyndar hér, jafnvel þótt
við spara mikið af tíma, kannski hugsanlega 10-20-30 klukkustundir
tíma þróun um framkvæmd stafa afgreiðslumaður
því whipping það upp á aðeins 45 sekúndum með þessu tungumáli
það verð sem við borga er að það er stærðargráðu hægari vegna,
og þetta er yfirleitt raunin með flest allir túlkað tungumál,
PHP, Python, Ruby, Pearl eða aðrir þar
Ef þú ert að fara að keyra hana í gegnum túlk og hafa það að lesa kóðann
línu fyrir línu, toppur til botn, vinstri til hægri,
að milliliður er að fara að taka nokkurn tíma á eigin spýtur,
og hvað þú varst að finnast hér í 3 sekúndur í stað 0,3 sekúndur
er sú staðreynd að það er þessi milliliður sem hefur að bókstaflega túlka kóðann okkar
línu fyrir línu, og Guð banna ef þú ert inni í lykkju
með a gríðarstór skrá inniheldur hundruð þúsunda orða.
>> Þessi kostnaður er að fara að bæta sig og bæta sig og bæta sig og bæta sig.
Fyrir tól eins og þetta það er líklega ekki sú besta tungumál til að nota til að hrinda
a stafa afgreiðslumaður ef skjótur er áhugavert fyrir notendur og til þín.
En lúxus sem við höfum í augnablikinu er ef þú
nota tungumál eins og PHP eða fullt af túlka tungumál
í samhengi á vefnum, fyrir þessi efni, hefur þú gagn
að internetið er mun hægari en flestar tölvur.
Þú hefur GHz örgjörva í tölvunni þinni, 2 GHz, kannski jafnvel meira þessa dagana.
En veruleikinn er á internetinu er mikið magn af leynd
þar fyrir vafrann til að tala við miðlara, jafnvel þótt við sáum í síðustu viku
að það er nokkuð fljótur, hálfa millísekúnda eða svo,
sem bætir líka upp, og ef þú ætlar að sækja það eins og mynd
eða Facebook mynd eða fá augnablik skilaboð á Facebook þvaður,
Gchat eða eins, öll þessi umferð-ferð sinnum
milli vafra og miðlara byrja að bæta upp,
sem gerir sérstaklega val þitt á tungumáli í mörgum tilfellum
ekki allt sem skiptir máli, svo þú ert fínn með örlítið hægari tungumál
eins og PHP eða Python eða Ruby
en þar sem það eru mikil upsides þér og samstarfsfólki þínu
og vinir þínir því að þú getur framkvæma það svo, svo mikið hraðar.
Og þar að auki, hefur þú miklu minni hættu á ákveðnum galla í öryggismálum.
Það er engin ábendingum í PHP.
Það er engin seg galla sem þú getur auðveldlega valdið
á sama hátt og þú gerðir í C.
Með C þú ert frábær nálægt vélbúnaði.
Með PHP og svipuð tungumál sem þú ert svona hærra stig, svo að segja,
með fullt af varnir milli þín og hvað er í raun að fara á
inni í vél, og það er bara tradeoff.
>> Við höfum fengið til að benda á að hafa þessar fleiri nútíma, hár tungumálum stigi
eins og PHP vegna lært í tungumálum eins og PHP í C.
En ef þú skilur ekki hvað er verið að fara á undir hetta allan þennan tíma
þú vissulega getur ekki að taka réttar ákvarðanir hönnun,
og örugglega þegar það kemur að því að vinna á stað eins og Facebook eða Google
eða eitthvað af þessum stöðum sem eru í auknum mæli að spila með stórum gögnum setur
jafnvel ef þú ferð til baka og gera tæknistúdent og erum að vinna með nokkrum MD
á sumum stórum gögnum setja þátttöku sjúklinga og lækna
og eins og nota rétt verkfæri er gríðarlega sannfærandi
því annars greiningu þína á einhverjum gögnum gæti tekið sekúndur
eða það gæti bókstaflega tekið tíma.
Þetta er bara eitt dæmi, ekki til að ónýta þér hversu mikið meira átak
það var í C, en til að hjálpa þér að þakka að þegar þú framkvæma eitthvað í C
þú skilur virkilega, eða í orði, raunverulega skilja
hvernig allt er eða ætti að vera að vinna, og þú hefur nánast fulla stjórn
yfir það sem er að gerast undir hetta, og með þessum meiri tungumálum
þú þarft til að gefa meiri stjórn á að fólk sem finna þá
og er háð fleiri til hönnun ákvarðanir þeirra en þitt.
En ef við tökum sem sjálfsögðum hlut að árangur
er ekki alveg jafn mikilvægt á vefnum því af þessum málum,
bara net hraða eru aðeins hægar en hraða CPU samt,
svo við getum konar efni á að nota örlítið hægari tungumál
ef upsides erum við geta þróa það 10 sinnum hraðar eða jafnvel meira.
>> Við skulum sjá hvernig við getum byrjað að nota þetta.
Leyfðu mér að fara í möppu
meðal dæmi í dag heitir frosh.ims,
og þetta var í raun persónulega hvatinn af því að mjög fyrstur hlutur
Ég skrifaði fyrir netið árum eftir að CS50 og CS51
var a website fyrir Frosh Spjallboð program, freshman intramural íþróttir,
sem á þeim tíma var þetta nóg árum að á þeim tíma
það var engin website fyrir the program, jafnvel þótt það var Web,
og í staðinn var Proctor í Wigglesworth þannig ef þú vildir
að skrá sig fyrir blak eða fótbolta eða hvað sem þú vilt fylla út blað.
Þú myndir þá ganga yfir garðinn.
Þú myndir þá högg á dyr þeirra og renna í hurðina þeirra eða hönd til Proctor
a stykki af pappír með þínu nafni á það, hvort þú vilt vera lið skipstjóri,
hvaða íþrótt þú vildir gera, og hvaða dorm þú varst inn
Það var eins konar gamla skólanum að gera hlutina, og það var gott
tækifæri til að gera sjálfvirkan mikið af þessu ferli.
Þú ferð bara á heimasíðu. Þú skrifar eitthvað inn
Þú færð staðfestingu í tölvupósti, og búmm, þú ert að gera.
>> Þetta var mjög fyrstur hlutur ÉG did, að vísu á tungumáli sem heitir Pearl,
en það er tiltölulega auðvelt að gera í PHP, og þetta er svona fulltrúa
þeirra vandamála sem þú getur byrjað að leysa þegar þú getur tjáð þig
kerfisbundið og þarft ekki að treysta á hluti eins og Google síður
eða Excel eða tól sem eru afhent til þín.
Þú krakkar hafa nú getu til að gera hlutina eins og þetta.
Þetta er frábær ljót útgáfa af formi,
en við skulum nota það bara í byrjun samtalsins þar þetta er
u.þ.b. hvað formið virtist árum fyrir okkur
að virkja fólk á vefnum til að skrá þig fyrir Frosh Spjallboð.
Við spurði að nafni, a kassann til hvort þeir vildu vera fyrirliði,
karl eða kona, og þá hvaða dorm þeir voru í,
og þeir myndu senda þetta eyðublað.
Við skulum fyrst líta neðan hetta á HTML sem sýnir þessa vefsíðu.
Leyfðu mér að fara í froshims0,
og sem innskot, að pset 7 ég ætla að taka sem sjálfsögðum hlut
framkvæmdarstjóra og möppurnar sem ég er að koma öllu inn
Við munum ganga í gegnum nákvæmlega hvar efni er að fara í tækið,
sem unga fólkið skipanir sem þú þarft að keyra, svo ekki hafa áhyggjur óður í allir af
heimskur upplýsingar syncing í frá the fá-fara hér.
>> Allt í lagi, hér er froshims0.php.
Leyfðu mér að fletta niður, og það sem er forvitinn hér,
þetta er PHP skrá, en það er inni í henni, greinilega?
Það er allt fullt af HTML, og örugglega, uppruna PHP
raunverulega voru fyrir að vera Vefur-miðlægur mál.
A augnabliki síðan við notuðum það til að innleiða bjór dæmi,
skilyrði td Hello dæmi, og það er fínt.
Þú getur notað PHP sem forskriftarþarfir tungumál
þar sem handritið er í raun bara tegundaheiti gefið til a fljótur og óhreinn program
eða eitthvað sem þú skrifar í gefinni forskrift eða fleiri almennt túlkað tungumál.
PHP er frábær gagnlegt fyrir það vegna þess að þú hefur séð hversu hratt
tiltölulega getum svipa upp forrit í PHP.
En það var í raun hannað til að nota á vefnum,
og hannað fyrir netið í þeim skilningi að taka eftir hérna efst á skrá
Ég byrja með <? Php.
Og ég er með fullt af gagnslaus athugasemdir, veitt, en ég loka PHP ham.
En svo ég falla inn í HTML ham.
>> Hvað er áhugavert um PHP er þó að skrá endar á. PHP
það er almennt ætlað að vera sam-blandað með HTML,
sumir PHP kóða, sumir HTML.
Og við munum sjá að lokum að við getum byrjað að stríða þeim í sundur
og halda HTML aðskilin okkar frá PHP okkar að öllu leyti,
en uppruna PHP var í raun að gefa þér þennan sveigjanleika,
að ef þú vilja sumir HTML bara skrifa það, og það mun vera
spýta út samur til the flettitæki.
En ef þú hefur einhverjar forritun tækni,
sumir forritun kóða, getur þú líka sett það í sama nákvæma skrá, eins og við munum sjá fljótlega.
Hér er HTML mín.
Ég hef titil þetta fyrir Frosh Spjallboð.
Ég hef fengið líkami tag sem hefur got sumir CSS á það að miðju allt í miðju,
og svo niður ég form sem virðist er að fara að leggja fram
í nýja skrá sem heitir register0.php, þannig að við munum sjá að í smá stund.
Það er með því að nota aðferð sem kallast staða, sem við munum koma til baka eins og heilbrigður.
Og ég hafa einhvers konar inntak, einn nefndi, sem gerð er texti,
einn sem heitir skipstjóri, sem gerð er kassann,
og þetta, við höfum ekki séð það áður, en það er nákvæmlega það sem það segir.
Þú vilja fá kassann í stað textareitinn.
Down hér hafa hnappinn, sem er einn af þessum hringlaga hnappa
að þú getur annaðhvort valið þetta einn eða sem einn.
>> Takið það er vísvitandi að ég gaf báðum takkana nafn kyni.
Þetta er hvernig þú færð gagnkvæma útilokun þar sem þú verður að smella á
annaðhvort þetta eða að einn, og með því að smella á aðra
það unchecks öðrum, svo þú þarft að gefa þeim sama nafnið
Ef þú vilt þá til að vera ósamrýmanlegir svona.
Og þá fyrir dorm, ég held ekki að við höfum séð þetta ennþá, en það er að velja matseðill, a falla-dúnn matseðill.
Merkið fyrir því er að velja.
Þú gefur þá fellilistanum nafn,
og þá þú hafa a heild búnt af þessum valkosti.
Sú fyrsta, bara fyrir fagurfræði, er tómur strengur.
Ég vildi bara að falla niður til að vera tómur sjálfgefið,
og þá er það Apley, Canaday, Grays, og svo framvegis.
Og taka á slag hér.
Möguleikinn á falla hefur niður gildi,
en þá er það mannlegt-vingjarnlegur nafn, sem í þessu dæmi
er eins, en ef við vildum virkilega að vera endaþarms við gætum hafa
gildi þessarar falla niður bara vera stutt útgáfa,
Grays, en við gátum sagt Grays Hall að mönnum í raun sér,
en það er ekki allt sem áhugavert, þannig að ég hélt bara að það einfalt og gerði þá eins.
Þá neðst við höfum Senda hnappur
sem við höfum séð áður, en taka eftir Ég gaf bara það annað orð.
Í stað þess að CS50 leit ég gaf merkið "Register."
>> The endir afleiðing er þetta webpage hér, og aftur,
hvar er þetta fá lögð til?
Það verður lögð sumir skrá, verðmæti aðgerð eiginleiki,
sem var register0.php.
Við skulum sjá hvað raunverulega gerist hér.
Leyfðu mér að fara á undan og fylla út þetta eyðublað, segir David,
karlkyns, Matthews, og svo skal ég segja skrá.
Leyfðu mér að minnka og smelltu skrá.
Jæja, svo konar gagnslaus, en við skulum sjá hvað er í raun að gerast.
Takið eftir að URL hefur breyst að register0.php.
Hvað er Forvitinn fjarverandi frá vefslóð, þó, jafnvel þótt við sendum bara mynd?
[Inaudible nemandi svar]
Jæja, það er bara Chrome vera notendavænt þessa dagana.
Það er í raun það. Þeir fela bara til að spara pláss.
En góð hugsun, góð hugsun.
Undir hinum enda slóð, þó, hvað vantar? Já.
[Nemandi] fyrirspurn band.
Fyrirspurn band, svo muna frá einföldum Google leit okkar dæmi.
Um leið og ég smelli á senda hnappinn slóðina
tók mig til Google, en þá var? q = tölvunarfræði eða hvað ég hafði slegið inn
Það er vegna þess að við notuðum fá aðferð með the leita td.
>> Í þetta sinn við erum að nota hvaða aðferð í staðinn?
Post, og einn af nánustu greinarmunur
milli fá og staða er að staða ekki setja inntak notandans á URL.
Það felur það. Það sendir samt.
Í raun, hvað við erum að sjá í vafranum hér, eins og við munum sýna í smá stund
með því að horfa á register0, er ég bara að sjá innihald
um fylki sem voru lögð í vafranum til the framreiðslumaður.
En URL er ekki með?, Hefur enga leitarorð
eða gildi í það og hvers vegna er það?
Jæja, eftir gerir þú til að leggja fram gögn frá mynd til miðlara
en það þýðir ekki að setja það í URL, þannig að hvers konar upplýsingum er staða
sérstaklega viðeigandi fyrir kannski þegar þú ert að biðja notandann til að
slá í inntak formi?
Eitthvað eins og lykilorð, eitthvað eins og hvað annað?
Kreditkortanúmer.
Nokkuð sem er mildilega viðkvæm þú vilt sennilega ekki enda upp í the URL
ef aðeins vegna þess að það þýðir að herbergisfélagi þinn eða fjölskyldumeðlimur getur bara troll með
Internet sögu og síðan bókstaflega séð lykilorð,
bókstaflega sjá kreditkortanúmer þitt vegna þess að flestir vafrar
muna í sögu hvað vefslóðir sem þú hefur verið á,
þannig að ef aðeins vegna þess að það væri slæm hugmynd.
Using staða húðir sem smáatriði frá the notandi.
>> Einnig, hvernig senda þér mynd á Facebook?
Jæja, aðeins 2 leiðir sem þú getur raunverulega notað,
jafnvel þó að það er nokkrar aðrar fleiri Bogagöng sjálfur, er að fá og senda.
Hvernig heldur þú að senda hugsanlega mynd gegnum vefslóð?
Þú getur í raun gert það.
Þú getur tekið JPEG eða Bitmap eða GIF og þú getur táknað það sextánskur
eða eitthvað sem heitir stöð 64.
Í stað þess að byggja 16 að nota stöð 64, sem í raun lítur út
ASCII stafi, og þú getur raunverulega senda mynd í gegnum vefslóð
eftir spurningarmerki, en það eru yfirleitt stærð takmörk.
Flestir vafrar neyða vefslóðir til að vera ekki meira en 1000 stafir,
kannski 2.000 stafir eða þess háttar, þannig að þú getur ekki sent
a 10 MB Facebook ljósmynd.
Til að þú notar staða eins og heilbrigður, svo að nú fá setur breytur í vefslóð,
sem er gott og gagnlegt stundum, en fyrir nokkuð næmur eða stór
staða er leiðin að fara.
Hvað er register0 gera í raun og veru hér?
Jæja, ef ég opna register0 tilkynningu að þetta er frábær einfalt síða,
en það er að sýna fram á þá staðreynd að ég get sam-blanda, fyrir betri eða verri,
HTML með PHP.
Þetta allt skrá, nema athugasemdir efst eru HTML
nema þetta strákur hér.
>> Tilkynning um miðjan PHP kóða mína,
í the miðja af HTML mínum, hef ég tegund af tímabundið
inn PHP ham.
Ég er að hringja í sérstakt fall sem kallast prenta r.
Það þýðir að prenta endurkvæma, og hvað það gerir er að það prentar endurkvæmt
hvað breyta þér afhenda það, semíkommu, hætta PHP háttur.
Og fyrir merki gefur þér fyrirfram sniðinn texta,
mónó rúm texta þannig að hvert pláss sem þú sérð í raun það.
Það hverfur ekki. Hvað er eftir?
Jæja, hvað er áhugavert og sannfærandi um PHP
er að þegar þú sendir inn mynd með að fá eða senda
eitthvað sem er skilað til þín með vafra
PHP sjálft tölur út hvað þessir helstu pör gildi eru,
tölur út ef það er samasemmerki tölur út ef það er spurningarmerki.
Það gerir alla vinnu fyrir þig, og þá fær það þér tengin fylki
inniheldur allt sem notandinn slegið inn í formi.
Jæja, hvað sviðum gerði þetta form hafa?
>> Það var 4 sviðum.
Einn var textabox nefndi.
Einn var kassann heitir Captain.
Einn var útvarp hnappur sem heitir kyn,
og einn var a falla-dúnn matseðill sem heitir dorm,
svo eftir því þegar ég prenta endurkvæmt
innihald þessa sérstaka breytu.
Þetta er sérstakt alþjóðlegt breytu sem heitir bókstaflega $ _POST, á öllum húfur.
Þetta er sérstakt alþjóðlegt breytu sem PHP bara skapar fyrir þig
og hendur til þín þannig að þú getur fengið aðgang að allt
sem var lögð fram í gegnum mynd af notandanum.
Og með því að hringja prenta r ​​á það, þú myndir ekki gera þetta í venjulegum umsókn.
Við erum að gera þetta til að sjá inni í þessari breytu,
og hvað er inni í henni, vel, 4 lykla,
4 http breytum, svo að segja,
nafn, skipstjóri, kyn, dorm, og þá gildi sem notandinn
slegið inn með einni undantekningu.
Ég gerði tegund D-A-V-I-D.
Ég skoðaði kassann, þó að karl, sem virðist skila gildi
á bara m að gagnorðar.
>> Þegar ég valið Matthews sem er gildið sem fékk valinn
og þetta er svolítið heimskur, en það er samningur.
Þegar ég skoðaði kassann, gildið á, "á", fékk fram fyrir kassann.
Ef ég hefði ekki athugað það, hefði ekkert gildi hafa verið send af neinu tagi.
Þetta er bara að gefa okkur innsýn í það sem er inni í þessum sérstöku alþjóðlegu breytu,
og það er svo sérstakt sem það er kallað frábær alþjóðlegt breytu.
Það er alls staðar fyrir þig í númerið þitt þannig að þú getur í raun að sjá hana.
Þetta er ekki sannfærandi, þannig að við skulum í raun að nota frábær GLOBAL
og í raun og veru að reyna að skrá einhvern.
Árið froshims1 Ég ætla að gera eina breytingu.
Ég er að breyta til aðgerða til að register1.php,
og ég ætla að gera eitt annað hlutur.
Ég var svona vandræðalegur af gæðum á síðunni minni þar.
Það er ansi ljót, heiðarlega, svo kemur í ljós
sem hægt er að nota mjög auðveldlega á vefnum
JavaScript kóða annarra, CSS annarra
sem þeir hafa skrifað og opinn uppspretta og aðgengileg sem bókasafn,
svo að segja, og til dæmis, hér er ég að nota fáanleg bókasafn,
fullt af kóða sem einhver annar skrifaði.
>> Twitter varð að skrifa þennan kóða og það er kallað ræsi bókasafn,
og það er bara fullt af CSS stílblöð, fullt af. CSS skrár
að einhver skrifaði annars og mynstrağur út hvernig á að fá allt gott og falleg
svo að fólk eins og okkur að hafa aðeins minna um fagurfræði og einbeita miklu meira
á rökfræði og í raun forritun.
Með því að tengja það með því tag, sem er sama merki sem ég nota muna styles3.css fyrr,
Ég hef nú aðgang að skrá sem heitir bootstrap.min.css.
Min þýðir bara að þeir hafa minified það og þeir hafa fengið losa af öllu hvítu plássi og svo framvegis
bara til að ganga úr skugga um að þeir eru ekki að senda mér fleiri bæti en ég þarf í raun og veru.
En það er allt fullt af CSS, svo ef ég opna nú upp útgáfa 1 af Frosh Spjallboð
eftir því að skrá minn er örugglega fallegri.
Nú er það samt bara svart og hvítt, heldur eftir því að bara með því að nota stíl lak þeirra
og með ákveðnar aðgerðir af því á mynd mína það er ekki ótrúlegt,
en það er örugglega hreinna en það var áður, og skjávarpa er ekki að gera það réttlæti.
Það er lítið grátt línur um hnappa og um textareitinn hér,
en það er örugglega hreinna en það var áður.
>> Nú, í sanngirni, var ég að breyta Markup minn aðeins.
Þetta er útgáfa 1, og eftir að ég hef notað nokkur ný merki,
og heiðarlega, hafði ég ekki hugmynd um hvernig á að gera þetta fyrr en ég las skjöl
fyrir bókasafn Bootstrap Twitter, og þeir sögðu við mig ef þú vilt nota bókasafnið okkar
nota fieldset þáttur inni mynd þinni
setja orð sem þú vilt að sýna við hliðina á sviði inni í merki tag,
þá gefa efnið þitt nafn, eins og áður,
og þá fyrir kassann, ekki bara sett þér það í merki þáttur,
þú notar eitthvað sem kallast a bekknum, þannig að við höfum ekki séð þetta áður,
en þú munt sjá þetta í einni af stuttbuxur pset 7 er.
A bekk í CSS er hægt að gera eitthvað mjög líkur til the ID,
en áður en þegar við höfðum kenni við # tákninu
sem var fyrir einn og aðeins einn þáttur.
Hvað er gott um flokki er að margir þættir geta haft sama flokki
eða sama CSS efni beitt við það.
>> En aftur, meira um þá í stuttu máli, og restin af þessu er bara að afrita og líma
úr gögnum sínum þar sem ég hef bætt við merki hér og þar.
Og í lokin, þar sem ég hef ma tengil tag efst,
allt lítur fallegri sjálfkrafa
með því einfaldlega að hafa merkt upp síðuna mína á þann hátt að
Twitter gert ráð fyrir, og það er svo margar mismunandi leiðir
að gera þetta, og þetta er örugglega mjög viðeigandi.
Á þessum tímapunkti í önn, eins og þú munt sjá í sérstakur pset 7 ',
Googling kring, lesa upp á bókasöfnum, með CSS annarra
og JavaScript til að leysa viðbót vandamál
á því vandamáli setja sjálft er vissulega hvatt og er leiðin
Vefur er byggt þessa dagana, með því að standa á herðum annarra
þannig að þú getur í raun áherslu á nýjar og áhugaverðar vandamál.
En við skulum nú áherslu á, aftur, rökfræði.
>> Það var fljótur krók á fagurfræði bara að sýna þér þá átt sem þú getur farið.
Ég ætla að snúa aftur til uglier einn nú bara vegna þess að
það er engin truflun með Twitter efni, og láta mig fara á undan og opna
froshims2, sem aftur er mismunandi, aðeins í aðgerð, register2.php,
og við skulum kíkja á hvað áhrifin eru hér.
Leyfðu mér að fara á undan og tegund í Davíð.
Ég mun ekki vera fyrirliði að þessu sinni.
Ég segi karlmaður, Matthews, skrá.
Damn það. Jæja, það er skrúfa upp á hluta minn.
Standa með.
Register2, lína 22, ef tóm eða-miður.
Skulum endurhlaða.
Jæja, á að senda inn þetta form hvað gerðist?
Ég slóst í Davíð kannaði karlmaður, smellti Matthews, skrá.
Þú ert skráður. (Jæja, eiginlega ekki.)
Þetta er greinilega skrefi lengra en bara að prenta út efni af einhverju breyta,
en hvað er þetta skrá gera raunverulega?
Í register2.php
taka eftir að ég hef fengið nýtt númer.
Inni tag líkama mínum hef ég fyrst og fremst að ef annars byggja,
heldur vegna þess að ég er sam-mingling þetta með nokkrum HTML
Ég þarf að slá inn og loka PHP háttur og til baka, þannig að við skulum sjá hvað ég er að gera.
>> Í fyrstu línu hér að ég er að segja ef það er málið
að staða Super heimsvísu er tómur fyrir takkann á nafni,
Svo í öðrum orðum, ef notandi ekki gefa mér gildi fyrir nafni í formi,
þá tóm er að fara að skila satt vegna þess að gildi er tóm.
Eða-taka eftir lóðrétt bars-ef kyn er tóm
innan þessarar sérstöku frábær heimsvísu, sem aftur táknar innihald formi,
eða dorm er tóm, svo ég ætla að fara á undan og æpa á notanda.
Hvernig? Jæja, eftir að ég ætla að segja að þú verður að gefa upp nafn, kyn, og dorm.
Við skulum í raun valdið því að mistök.
Leyfðu mér að fara aftur til að mynda mína. Leyfðu mér að endurhlaða til að hreinsa það.
Og ég ætla bara að fara að gefa þeim Davíð, og þeir þurfa ekki að vita hvar ég á heima.
Nýskráning. Svo virðist sem ég þarf að segja þeim hvar ég bý.
Þú verður að gefa upp nafn, kyn og dorm. Fara til baka.
>> Og ég gæti smelltu til að fara til baka til að mynda, en af ​​hverju er það?
Jæja, í því tilviki nafni var ekki tóm, en kyn var, og dorm var
svo þetta allt tjáning metin satt og þó setningafræði er svolítið nýtt,
aftur inn við PHP háttur, ég þekki ef yfirlýsingu,
en nýja hluti er hér bara í ristli, og ég hafði ruglaður upp með því að sleppa að sviga
óvart, en taka í ristli, og það þýðir að
jafnvel þó að við séum spennandi PHP ham allt
sem fylgir ætti að spýta út orðrétt í vafra
þar til þú sérð annað blokk, eins og við gerum hér,
en þá eiga að spýta þessu út
þar til þú sérð ENDIF, svo sumir örlítið nýja setningafræði
sem gerir mér kleift að skipta á milli HTML og PHP.
Við getum hreinsa þetta upp að lokum, en nú,
það er góður af a sannfærandi leið villuprófun formið.
>> Nú segi ég að þú ert í raun ekki skráð því augljóslega að við höfum ekki gert neitt en þau gögn,
þannig að við skulum í raun að reyna að gera eitthvað flott.
Árið froshims3 eini munurinn er að ég ætla að leggja til register3,
þannig að HTML er sama.
Árið register3 taka þetta.
Þessi er góður af kynþokkafullur.
Efst ég nota þurfa yfirlýsingu, þannig að þetta er eins og # include.
This tími það er ekki stdio.h eða eitthvað svoleiðis.
Það er PHP bókasafn, og þetta er kallað PHPMailer.
Hvernig ég vissi að fela einmitt vitnað band?
Ég las það í gögnum, þannig að þegar þeir sögðu mér að setja þetta á the toppur af the skrá
Ef þú vilt nota sérstaka bókasafn kallast PHPMailer sem gerir það sem það segir.
Það gerir þér kleift að senda tölvupóst með PHP.
Nú skulum fletta niður frekar.
>> Tilkynning byrja ég í PHP háttur þessu allan tímann,
Svo nú taka niður eftir að flytja að bókasafn,
svo að segja, ég er að gera sumir heilindarathugunum.
Ef það er raunin að nafnið sé ekki tómur
og kyn er ekki tóm-taka eftir upphrópunarmerki-
og dorm er ekki tómur, þá the notandi er rökrétt fyllt út formið, að minnsta kosti nóg.
Mér er alveg sama þótt þeir séu fyrirliði eða ekki. Ég þarf bara nafn sitt, kyn og dorm.
Ef þeir hafa fyllt þá út svo að enginn af þeim sviðum eru tóm
þetta er aðeins nýtt setningafræði.
PHP, sem er til hliðar, er hlut stilla forritunarmál
sem sumir af ykkur geta muna úr APCS eða þess háttar.
Fyrir nú, ef ókunnur, bara vita að til þess að nota þetta bókasafn
þú þarft að skrifa línu af kóða svona nota nýja leitarorð,
bókstaflega ný leitarorð heitir ný.
En fyrir utan það, höfum við nokkur kunnugleg setningafræði.
Það er ör rekstraraðila, sem er svipað og það sem við notuðum fyrir structs í tengslum við ábendingum.
Í dag PHP er ekki ábendingar,
en vita nú að innan pósti breytu
er í raun eins konar bendill sérstöku bókasafni
að einhver annar skrifaði, og ef ég vil fá aðgang tiltekna virkni
inni að safnið ég, eins og í C, nota ör stjórnandi,
jafnvel þó að þetta eru í raun ekki ábendingum.
Það er tegund af eigin útgáfu PHP hennar.
Þetta þýðir að fara í bókasafnið og hringja í IsSMTP virka.
SMTP, muna, frá Warriors okkar á Netinu vísar til email,
og það þýðir bara að nota email framreiðslumaður fyrir þetta Frosh Spjallboð skráningu.
>> Hvaða her vil ég að nota?
Jæja, Harvard, ef þú Google í kring, hefur email framreiðslumaður kallast smtp.fas.harvard.edu.
Ef þú ert að spila með heima eða þú býrð á Comcast net
það gæti verið eitthvað eins smtp.comcast.net.
Það fer algerlega eftir því hvar þú býrð og hver ISP er.
Eftir að ég ætla að setja mitt úr tölu geðþótta að vera jharvard@cs50.net.
Ég ætla þá að fara að setja á til að takast að vera jharvard@cs50.net.
Eina leiðin sem ég vissi að þessar aðgerðir voru kallaðir SetFrom og AddAddress
er, aftur, las ég gögnin.
Þetta er ekki svona dularfullur þekkt alla forritara.
Og ég setja undir "skráning".
Og nú er þessi lína dálítið ljót vegna þess að það er punktur rekstraraðili meina í PHP?
Hver veit?
Concatenate.
Í C er með verk í hálsi til að concatenate 2 strengi saman.
Þú þarft að takast á við malloc eða realloc eða öll þessi efni
bara til að framlengja lengd strengsins.
Í PHP, í JavaScript og öðrum tungumálum
þú getur venjulega gera þetta með einum staf.
Í þessu tilfelli, punktur þýðir að taka þetta band hér
og bæta við það með þessum streng.
>> Ó, og við the vegur, auka við hana með þessum streng,
sem gerast til vera a breytu innan þess frábær Global.
Þá bæta við það nýja línu, þannig að allar þessar punkta bara átt
halda að stærri og stærri og stærri band,
og þú þarft ekki að hugsa á allt um malloc eða þess háttar í máli eins og þetta,
og það er aðrar leiðir til að gera þetta, en þetta er eitt af hraða
leiðir til að leggja það fram.
Hvað er þetta að gera?
Það er að búa til email líkama sem er að fara að segja nafn: Captain: Kyn: Dorm:
allt á aðskildum línum, og svo loks,
ein lína af kóða, og ég ætla að hunsa þetta í bili.
Ef == falskur þýðir bara ef eitthvað fór úrskeiðis,
en galdur gerist hér.
Tölvupósti Senda þýðir að senda þetta bréf.
Við skulum sjá hvað Niðurstaðan er.
Á the botn af the skrá, eftir það er að fara að segja að þú ert skráð í raun
ef ég fæ að langt.
Ef, þó, the notandi skrúfur upp, eftir því að við byrjuðum á þessu
ef ástand upp hér, ef það er ekki tómur og ekki tómur
og ekki tæma við að senda póst.
Annars ætlum við að senda þessa línu af kóða,
sem er að fara að hafa áhrif, eins og þú munt sjá í pset 7, í Áframsendi notanda
til baka þar sem þeir komu, froshims3.php.
>> Fingur yfir, annars er þetta að fara að vera mest vonbrigðum kynningu í dag.
Hér förum.
Leyfðu mér að opna pósthólfinu mína jharvard í Gmail.
Engin bréf núna. Allt í lagi.
Nú láta mig opna froshims3, sem er þriðja og síðasta dæmi við munum líta á hér.
Jæja, hér við fara.
Nate, verður hann að vera fyrirliði, Male, frá, segja, Apley.
Nýskráning. Jæja, þú ert skráður í raun.
Nú ef ég fletta yfir á netfangið mitt, ó, Guð minn.
Ég hef bara breytilega sent tölvupóst á vefnum.
>> Við skulum fara á að huga.
A vídeó er væntanleg fyrir fyrirlesturinn sem við ungfrú. Sjáumst í næstu viku.
[CS50.TV]