[Tónlist spila] ALLISON BUCHHOLTZ-AU: Allt í lagi, allir, velkomin aftur til kafla. Vonandi höfðu allir frábær Halloween helgi eða Halloweekend, eins og ég segi, allt hvíld og endurheimt. Og sem betur fer það er ekki snjókoma lengur. Það er í raun sólskin úti. Ég var alvöru ánægð með það. Ekki tilbúin að draga út vetur stígvélum mínum. Vonandi pset6 gekk ágætlega. Ef þú ert þreyttur af C, ég er ánægð að segja að þú ert búinn með C í núna. Við höfum að fullu umbreytt í forritun vefur, svo þú verður að vinna í HTML, PHP, kannski smá JavaScript. Ég veit ekki hvað næstu viku pset er, þannig að ég get ekki ábyrgst hvað næsta pset þinn mun vera, en í þessari viku er pset er CS50 Finance, sem er í grundvallaratriðum framkvæmd konar vefsíðu sem gerir þér kleift að kaupa og selja lager, og halda utan um þá. Og það er laglegur kaldur, því öll það er mjög virk mynda. Hægt er að hafa mismunandi notendum sem hafa hver eigin upplýsingum, og þú ert að fara að vera framkvæmd öll þessi. Það tekur smá stund. Ég held örugglega að þetta sé auðveldara en C psets, en það tekur lengri tíma. Þú ert að læra nýtt tungumál, PHP, sem er mjög svipað og C, en auðvitað er að fara að krefjast þess þér að fletta upp setningafræði og skilja hvernig á að umbreyta á milli tungumála. En ég held ekki að það er eitthvað Super hugmyndalega hart um þetta pset. Það er bara að læra á nýtt tungumál og fá í gegnum öll þessi litlu stykki. Ef þú krakkar hafa lesið í gegnum sérstakur, það er nokkuð löng. Ég held að þetta er eins og 21 síður, ef ég man rétt. Það er löng sérstakur. Svo ef þú hefur ekki lesið it-- 22. 32. Vá. Þannig að ég var burt um 50% þar. Svo, 32 síður. Svo það er langur. There ert hellingur af stykki, en ekkert af the stykki ætti að vera svo slæmt. Það er bara mikið. Svo ákveðið að byrja snemma Ef mögulegt er, eins og á venjulega, en ég held að það ætti að líða smá ágætur en sérstaklega psets eins batna og búa sem eru bara mjög erfitt að vefja höfðinu í kring. Svo með það, við erum að fara að kafa í. Ég hef ekki dagskrá renna í dag, en við erum að fara að vera að tala um PHP. Ég ætla að gefa þér konar hrun námskeið á sumum hlutum að þú might vilja til vita óður í PHP. Mismunandi setningafræði hlutir, atriði sem þarf að líta út fyrir. Við erum að fara að vera að tala svolítið um SQL. Bara mjög einfaldir hlutir þar, og þá einnig MVC er Model View Controller, sem er hvernig pset þitt er sett upp, svo að skilja hvernig það verk mun vera frábær gagnlegt. Allt í lagi. Svo PHP. Þú krakkar ættu að hafa gert eitthvað mjög, mjög einfalt með PHP, sem er þetta botn hlutur hér, hvar þú skilað einhvers konar á efst hér sem höfðu einhverja nafn sem þér inntak, og það myndi segja eins halló, Ben, eða halló, Allison, og hún myndi skjóta upp. Svo er þetta í raun það sem það ætti hef litið eins og frá pset þína, ef þú krakkar vildi vita eða ekki alveg reikna það út. En við höfum þessar spurningarmerkjum hér sem gefa til kynna að þetta er PHP. Þeir vefja það, og þá htmlspecialcharge, muna, er bara, ganga úr skugga um að þú ert öruggur frá hvaða crazy innspýting árás eða ef einhver reynir að setja crazy illgjarn stafir inn nafn akur þinn, er það ekki eins og upp miðlara eða whatnot. Og svo ef við taka þetta HTML mynd hafði aðferð við $ _GET, sem, Ef við minnumst superglobals okkar úr PHP, $ _GET, $ _POST, við munum vera að fara inn í þeim í smá. En við vitum að við höfum sumir nafn hér sem samsvarar nafninu að við sendum. Þannig að þetta er bara svona eins og mjög einfalt PHP HTML samvinna að þið hafði frá pset sex. En það er í raun ekki svara hvað er PHP. Vitanlega er það tungumál, en við höfum ekki í raun talaði um það í þessum kafla, þannig að það er a lítill hluti fleiri um hvað PHP raunverulega er. Svo er PHP bara PHP Hypertext Preprocessor. Það er í raun talið forritunarmál vegna þess að það hefur rökfræði, en ef Við muna að tala um HTML, við kölluðum að Markup tungumál móti forritunarmál vegna HTML er stranglega breyta hvernig hlutina líta á síðunni. Það er bara að breyta hvort eitthvað er feitletrað, eða hvort það er mynd, þáttur, eða eitthvað svoleiðis. Það skiptir ekki hafa allir rökfræði. Það hefur ekki lykkjur eða skilyrði. Þú getur ekki villa stöðva hlutina. Þú myndir annaðhvort birta hlutina á ákveðinn hátt eða biðja um hluti frá notandanum. Það er hann. Svo með PHP, reyndar það er að leyfa okkur að gera allar þessar fleiri rökrétt hluti, eins sannreyna inntak eða vinna það á einhvern hátt. Við getum sameinað það með HTML, eins og við bara sá í síðasta pset og núna, og það gerir okkur að búa þessar dynamic vefsíðum. Svo ef þú krakkar ever-- ég veit ekki hvort þú varst eins og ég, en í miðjum skólanum þeir höfðu okkur að taka þetta það bekk þar við bjuggum bara HTML vefsíðum, og þeir voru truflanir og smella í kring til annars, en þeir aldrei breytt. Með dynamic sjálfur, það sem við getum gera er, eins og með CS50 Finance, þú ert að fara að hafa mismunandi notendum. Það fer eftir þeim notendum ' óskir, og hvað þeir eru að kaupa eða hvað þeir eru að selja fyrir hlutabréf sín, þú ert að fara til að sýna mismunandi hlutir. Þannig að ef það er einhver skilgreina einkenni fyrir notendur með því að nota þetta vefsíða, getum við virk ákveða hvað á að sýna fyrir þá. Það er ekki það sama fyrir hvert einasta manneskja, sem ef við hefðum bara HTML, síða væri það sama fyrir Hver einasta manneskja sem heimsótt. PHP gerir okkur kleift að sérsníða síður. Og þá getum við annað hvort að setja þá í það sama skrá, sem, eins og í tilfelli áður hér, sáum við að höfum við HTML öll hér og þá höfum við þetta smá PHP. Við getum gert eins og þessi, eða með CS50 Finance, ef þú krakkar hafa horfði á files-- og við ættum að hafa tíma að stíga í gegnum a par af þeim saman í lok section-- vér getur séð hvernig þú getur raun að halda þeim aðskilja, sem er reyndar betri hlutur til gera. So. Crash Course. Allir fljótur einfaldir hlutir þú gætir þurft að vita fyrir PHP. Lýsa breytum. Að blátt er svolítið pirrandi, en vonandi þú krakkar geta séð það. Ef ekki, ég skrifa það á Kalksteinn borð. Sem gefur yfirlýsinguna breytur. Eitt sem þarf að vita er að, ólíkt C, PHP er lauslega eða virk slegið, sem þýðir að þú þarft ekki að segja breytu hvaða tegund það er. Þú getur bara einfaldlega segja sumir breytu er jafnt hvað sem þú vilt hafa það til, og það mun ákveða hvaða sem breytu á hlaupa tími fyrir þig. Eins og þú munt sjá, þetta er hægt að búa sumir mjög áhugavert. En fyrir flesta varðar, þú þarft ekki að tilgreina gerð. Þú getur, og þú getur slegið varpa hlutum eins og þú venjulega vildi ekki sjá ef þú vilt þvinga hana til að vera viss tegund, en þú þarft ekki að. Það er ekki að fara að æpa á þig ef þú lýsa bara breytu og tilgreinir ekki gerð fyrir það. Svo ef þú getur ekki lesið this-- Ég veit að það er ekki sú besta. Ég hélt að það myndi mæta better-- að vegur þú frumstilla hvaða breytu er bara með dollaramerki, hvað þú vilt það til að vera gestur, og þá hvað þú ert að framselja það. Þannig að í þessu tilfelli, þetta er einhvers $ var = 3. Þannig að ef við notum alltaf $ vágildismörk einhvers staðar, það verður bara að vera það sama og að setja 3 þar. OK? Svo, hvaða breytu, bara dollaramerki, hvað þú vilt hringja breytu þinn, og hvað sem þú vilt hafa það til jafns. Little kælir. Minna að skrifa, til að frumstilla breytu, ekki satt? Er að gera skilningarvit til alla? Bara fljótur setningafræði munur á milli C og PHP. Fylki eru miklu sætari í PHP. Við getum gefið þeim lykla. Svo leið til að hugsa um það er að ef við alltaf langaði til að fá aðgang að þáttur innan fylki, við þurftum að vita Vísitala það, ekki satt? Þannig að við vitum að með C, við gæti nálgast fyrsta frumefni með því að gera array krappi núll, eða ef við fyrsti þátturinn, array krappi einn. Og ef við vildum eitthvað þar, gætum við bara hafa að iterate gegnum, nema við vissum reyndar vísitölu. Eitt sem er í raun kaldur með PHP fylki er að þeir eru það sem við köllum tengnar. Þannig að við getum tengt sumir lykill að einhverju verðmæti, og við erum í raun að fara to-- Ég mun sýna þér hvernig við getum notað þetta í annað. En í grundvallaratriðum, ef þú vilt alltaf frumstilla fjölda svona, þið hafið einhverjar $ array. Svo á sama hátt, það er bara sumir breyta sem við erum að skapa. Þetta má kalla hvað sem þú vildir. Þetta gæti verið $ dæmi. Bara annar breytu. Hvað gerir það fylki er krappi setningafræði sem við höfum hér. Rétt eins og venjulega C Og við hafa sumir lykill að einhverju verðmæti. Svo fer key1 til VALUE1, key2 tvö fer til VALUE2. Þessar pör eru aðskilin með komma, bara eins og venjulega fylki. Þó. Ein stór. Takkarnir eru valfrjáls. Þú þarft ekki að nota þá. Og ef þú ert ekki, þá er það bara eðlilegt. Spurning? Eða, ó. Áhorfendur: Jæja, um rétt. Hvar er minni koma frá? Getur það einnig að vera sú sama eins [Inaudible] og úr stafla? Er það líka að nota PHP? Eins og þegar við erum að tengja þá? ALLISON BUCHHOLTZ-AU: Með PHP, gera við yfirleitt ekki að hafa áhyggjur af hvar okkar minni kemur frá. Við að eyða ekki mikið af tíma að tala um það, svo það er í raun ekki neitt þú þarft að hafa áhyggjur óður í. Svo lyklar eru valfrjáls. Á sama hátt, ef þú ert ekki langar til að gera þetta tilheyrandi, þú vilt bara venjulegt array hvar array núll er fyrsta þáttur og array einn er annað frumefni, getur þú gert það nákvæmlega eins og þú myndi í C. Þú hafa sumir breyta sem er að fara að vera array þinn, og það er jafnt þessa sviga hér. Já. Áhorfendur: Er það hafa sama stað til tákn. Eins, ég get gert eins og array ++, og það bendir til seinni. ALLISON BUCHHOLTZ-AU: Hægt do-- Jæja, getur þú hafa sumir Iterator, i, að þú getur gert i ++ og gera a array af i á sama hátt. En það er það. Svo, eins og í þessu tilfelli, array af 1 myndi samsvara 20. Sama tegund af flokkun tákn. Þetta er í grundvallaratriðum bara óbeina hlutur hér, þar sem það segir núll, núll til 10, að 1 til 20, 2 til 30. Það er bara óbeina takka fyrir það. Hvaða breytingar með PHP er að þú hefur nú vald að endurúthluta þeim lykla að gera hvað sem þú vilt. Svo er eitt hér. Þannig að ég hef bara nokkur dæmi hér sem ég skrifaði upp fyrir ykkur því mér finnst eins og dæmi alltaf hjálpa meira en bara ágripinu. Svo, í þessu tilfelli hér, við hafa sumir tengin array sem er fyrsta nafn mitt, föðurnafn mitt, og ég er echoing, sem er bara í hvaða tilgangi hér fara að prenta út til framleiðsla hér. Og það segir, OK. Prenta út gildi sem samsvarar array á takkann Allison. Og ég get líka sent ykkur eftir tegund allt þetta númer. Svo, þegar við hlaupum þetta, hvað gera þú heldur er að fara að gerast? Hvað er að fara að prenta út? Áhorfendur: Eftirnafnið. ALLISON BUCHHOLTZ-AU: föðurnafn mitt. Það gerir. Hérna. Prenta út. Þannig að ef við værum að breyta þessu og við voru að bæta einhverjum öðrum að list-- okkar Svo skulum segja að við höfum Emma hér, og við tengjum síðasta name-- þína Við skulum sjá hvort ég stafa þetta rétt. Áhorfendur: Já. ALLISON BUCHHOLTZ-AU: Já. Áhorfendur: Gott starf. ALLISON BUCHHOLTZ-AU: Lovely. Svo nú ef við höfum þetta hér og við vildum að finna eftirnafn, þú hefur það þar. Svo þú getur bara að hugsa um það sem skipta á þennan takka hér. Þú ert bara að skipta um vísitölu. Svo það gerir þig bara að leita gegnum fjölda miklu auðveldara. Þú þarft ekki að vita vísitöluna. Svo lengi sem þetta takka sem þú ert að leita fyrir hendi einhvers staðar í fylkinu, PHP mun finna það og það mun koma aftur gildi í tengslum við það. Svo það gefur þér mikið meira máttur með fylki þínum. Já. Áhorfendur: Ef þú ert með tvær takkana á sama, það vilja gefa þér villa? ALLISON BUCHHOLTZ-AU: Það ætti að gefa þér einhverjar villur, já. Er að gera smá meira vit fyrir ykkur? Og á sama hátt, við höfum fjölda hér sem er ekki á neinn takka. Einnig er þetta setningafræði sem þú vilt kannski að vera meðvitaðir um, vegna þess að þú munt hafa til að nota þetta í pset þinni. Alltaf þegar þú ert að gera að echo, hefur þú þessar vitna, og þegar þú ert að vísa til hluta af fjölda, þú þarft að hafa þetta hrokkið axlabönd í kringum þá. Það er góður af pirrandi, en þú verður bara að gera það. Svo bara eitthvað til að hafa í huga. Ef þú ert að keyra inn villur, Ég veit að þetta er til í fylki mitt en það er að henda villur á mig, reyna að setja axlabönd kringum hana og það ætti að virka. Svo í þessu tilfelli hér, þetta er a eðlilegt C array sem við erum vanir. Hefur þrjú, fimm og sex, og við bara vilt prenta út fyrstu frumefni, þannig að þetta ætti að prenta út þrjú. Og ég gerði hlaupa allt þetta, svo vonandi ekkert breyst. Við sjáum neðst hér, það prentar bara út þrjá. Cool. Að skynsamleg fyrir alla? Tengin fylki. Miklu sætari en venjulegar fylki. Þetta er why-- Did David sýna þér PHP framkvæmd pset6 meðan fyrirlestri yfirleitt? OK. Svo, ég sýna þér. Ég veit það ekki burt t-- Áhorfendur: Hann gerði síðustu viku. ALLISON BUCHHOLTZ-AU: Var það í síðustu viku? Áhorfendur: Já. ALLISON BUCHHOLTZ-AU: Já. Svo Speller hægt að gera í eins sex línum með PHP, og hluti af krafti þess er þetta tengin array þar þú getur bara hlaða hvert orð í, og þú hefur það jafn satt eða ósatt. Og svo er hægt að segja, ó. Return orðabók á einhverjum orði og ef það er þarna, það mun skila satt. Annars mun það ekki finna það og það mun skila falskur. Svo konar köldum lítill hlutur. Allt í lagi. Þannig að þeir eru tengin fylki. Þeir eru ansi kaldur. Mér finnst virkilega þá. Og vitanlega this-- Ah. OK. Nú það er að vinna. Kannski. OK. Annar hlutur. Svo, með jafnrétti, bara kaldur hlutur að hafa í huga. Með PHP, vegna þess að það er mjög virk slegið, gerð getur breytt eftir því hvenær þú keyrir það, hvernig þú ert að keyra það. Ég hef reyndar nokkrum kaldur dæmi sem ég skal sýna ykkur. En == bara stöðva fyrir jafnrétti eftir gerð juggling. Svo ef þú hefur eitthvað sem er eins eðli 1 ​​og númer 1, PHP myndi segja þér að þeir eru jafnir vegna þess að það getur juggle gerðir af tveir af þeim þar til það er jafnt, sem kannski fyrir þínu tilviki er fínn. Ef þú þarft að sjá hvort þeir eru sams konar gildi og sömu gerð, þú vilt að þessi ===. Og ég held ekki að þú hefur einhverjar tilfelli þar sem þú þarft að nota það í pset þína, en fyrir a einhver fjöldi af þú sem verður farið í að gera vefsíður fyrir síðustu verkefnum og svoleiðis, það er gott að vita að == og === eru mismunandi, og það er gott greinarmun að skilja. OK. So. Framhandleggur lykkjur. Þau eru leið til að iterate gegnum fjölda. Svo bara eins og fylki varð svo miklu sætari í PHP, leið til og kunnugt gegnum fjölda, ég held, einnig verður mikið kælir og miklu öflugri. Svo í stað þess að þurfa að búa sumir fyrir i jafngildir 0 og hvað, og þá uppfærslu sem Ég eins og þú fara í gegnum, við höfum þetta frábæra framhandleggur lykkja. Svo er hér venjulegt almennt uppbyggingu þessara tveggja. Svo þú hefur annað hvort framhandleggur sumir array sem gildið sem þú vilt að iterate sem. Þannig að þetta er nafn fylkisins breytu sem þú vilt vísa, og þetta er það sem þú vilt að kalla það í lykkju. OK? Svo svarar þetta til hver þáttur í fylkinu, og þú notar þetta gildi innan þessa lykkju. Ég er með dæmi. Ég veit dæmi eru svo miklu betri. Og svo er þetta ef það eru engir lyklar, svo er þetta eins ef við höfum bara einn þar sem lykla eru eðlileg vísitala array þinn. Eða þetta er líka í tilfelli ef þú hefur enga þörf fyrir lyklana. Ef þú hefur ekki sama um lykla og þú bara langar að iterate gegnum með gildunum fyrir hvert þeirra í hvaða röð, það er fínt. Þú getur notað uppbyggingu. Annars, ef það eru lyklar, okkar $ Value bara breytist í $ lykill gildi. Svo það breytist bara á takka gildi par. Og þá getum við átt við $ lykill og $ value innan lykkja okkar. OK? So. Dæmi. Gerðu það betur. OK. Þannig að við höfum þetta einn hér, sem við hafa sumir are-- Þú getur einnig búa til array svona með því að hafa nokkrar breytu jafn til fylki með sviga, eða þú getur bara gert krappi. Þú ættir að gera krappi, en þetta er ein leiðin til að gera það. Svo hér höfum við nokkur fjölbreytta þremur þættir einn, tveir og þrír, og við höfum framhandleggur okkar. Takið þetta samsvarar array sem við erum iterating yfir, og þetta er það sem við köllum hver hlutur í array okkar. Og allt þetta er að gera er að það er fara að prenta út í hvert gildi. Svo ef við keyra það, taka við að við hafa gildi einn, gildi tvær, gildi þremur. Og á sama hátt sem venjulega fylki þurfa að vera af einni tegund, fylki þurfa ekki að öllum vera samskonar hér. Svo nú höfum við nokkur Int. Við höfum tvo strengi. Svo fylki þínum getur fá miklu öflugri og kannski smá bita Messier, eftir á þann hátt sem þú vilt líta á það. Þannig að við getum breytt þessu til hvað við viljum. Notum gildi. Það er bara staðall sem við notum. En, bara mikilvægt að vita að við getum kalla þetta eins og Counter ef við vildum. Og svo lengi sem þeir passa upp, augljóslega er allir ánægðir. Ef þú vilt alltaf að keyra PHP keyra eitthvað svona stjórn lína þú veist þetta hér, þú bara PHP, og þá hvað skráin sem þú vilt keyra. Þannig að ef þú vilt skipta um með PHP, og fleiri rökfræði og þú þarft ekki raunverulega þörf til sjá eins og í a vefur flettitæki, þú getur bara keyrt það í stjórn lína svona og echo prentar út hvað sem þú vilt. OK. Hin leiðin sem við höfum er svona. Svo er þetta málið þar kannski þú vilt að nota bæði á takkann og verðmæti, Ég veit að þetta eru eins og Super háttuð dæmi en ég vona að þeir gera það svolítið skýrari. Svo hér höfum við nokkur array aftur, en í þetta skiptið, í stað þess að bara að hafa þú veist að það er engin lykill. Við höfum takka fyrir hvert þessara. Svo er ađ vera einn, b sllkt í tvo og c sllkt þremur. Og í þessu tilfelli, ef við að skrifa það með þessum hætti, höfum við aðgang að fjármagni, bæði lykill og gildi fyrir hvert þessara. Svo þegar við hlaupum þetta, fáum hvert þeirra. Svo það prentar út lyklana okkar og samsvarandi gildi. Annar kaldur hlutur er þessi, og ég veit sagði svona einn ekki hafa lykla, en það hefur alltaf óbeint a lykill því ef þú fela ekki lykill, auðvitað, þinn takkarnir eru bara Vísitölur þinn eða vísitölur þannig að við gætum alltaf líka gert þetta einn. Eins og þetta. Ég mun prenta út. Svo í þessu tilfelli, ef þú tekur eftir, við höfum óbeina lykla okkar núll, einn, og tveir hér. Og á sama hátt með þessu einn, þú getur alltaf bara sagt r sem gildi, og þú verður bara aðgang að verðmæti. Þú hefur ekki sama um þitt takka, jafnvel ef þú hefur lykla, Ef þú hefur ekki sama um þá, þú þarft ekki endilega þarf að setja þá í framhandleggur lykkja þinn. Er að vit fyrir öllum? Áhorfendur: Getur þú bara hringja takkana líka? ALLISON BUCHHOLTZ-AU: já þú gæti alveg gert það líka. Reyndar, bíddu. Bíddu. myndi it-- No. Ef þú vilt á takkann, þá þú þarft að gera takkann til að gildi. Áhorfendur: Bæta við gildi. ALLISON BUCHHOLTZ-AU: Já. Og þú bara aldrei nota gildi er allt. Áhorfendur: OK. ALLISON BUCHHOLTZ-AU: Ef þú bara setja eitt þar, það er að fara að gera ráð fyrir að þú ert tala um gildi, ekki lykillinn. Frábær spurning. Allt í lagi. Cool. Reyndar halda. Leyfðu mér að sjá það sem ég hef. Svo áður en við komum inn í pósti og fá, ég bara til að sýna ykkur svolítið um hvernig það er mjög virk slegið, sem er góður af kaldur. Ég hef allt þetta. Ég hef eins og fjórum dæmum upp hér, og ég mun senda þér alla þessa kóða eftir tegund. Svo hér höfum við nokkur breytilegt a. Það er bara 1 plús 1, ekki satt? Og við erum að fara að prenta út hvað það er jafnt, og þá höfum við einhvers konar. Og einhver hefur einhverjar gátur um hvaða tegund það er að fara að vera? Áhorfendur: An Int. ALLISON BUCHHOLTZ-AU: Já, það er int. Svo það bætir bara þá saman. Það er int. Allt gott. Þannig að þetta næsta einn, höfum við hvað útlit eins strengi. Þegar við hlaupum þetta, telur það, ó. Þú ert í raun að reyna bara bæta hlutina. Þú bara ruglaður. Þannig að ég ætla bara að fara að laga það fyrir þig. Þú átt Int. Ég veit að þú átt Int. Þannig að þetta er ein af þeim leiðum sem þú getur sjá, PHP hefur hug á eigin spýtur. Jafnvel þó að við sagði skýrt, útlit, þessi sjálfur eru strengir. Ég meina band einn. En það segir, ó, en þú ert að reyna að bæta við þá, svo þú verður að meina það er heiltala. Bara treysta mér á þetta. Svo það segir það er heiltala, og það bætir þeim eins og venjulega. Svo góður af kaldur ef þú ert að fara að fá latur við hlutina þína, eða ef þú vilt bæta við eitthvað. A mikill hlutur er að ef þú hugsa til baka til pset2, eitthvað sem var notandi inputted, hægri, að við teljum að er a bleikju eða streng í fyrstu. Nú við höfum ekki til skýr segja, ó, gera þetta int. PHP myndi bara vera eins, ó já. Ég veit að þú átt við int. Silly þú. Þú varst ekki að streng. Svo í því tilfelli, nú að við höfum þetta, hvað gera þú krakkar hugsa það er að fara að gera hér? Við höfum band og int núna. Áhorfendur: Það er samt int. ALLISON BUCHHOLTZ-AU: Það er samt int. Og ástæðan is-- ég myndi setja fleiri dæmi, en gaman þessa manns. Ástæðan það er að gera það er vegna þess að það er eins og þú ert að reyna að bæta hlutina. Svo ef þú ert að reyna að bæta hlutir, ég ætla að gera ráð fyrir, sæmilega, hefur þú eitthvað sanngjarnt að þú gætir bætt. Ég ætla bara að fara að gera það við int, og við erum bara að fara að bæta við það, eins og venjulega. Og þá á sama hátt, ég Held að þú krakkar fá hugmynd. Við höfum líka þennan hér, sem er bara stafir, og það gerir það sama. Það er eins, þú kjánalegt notandi. þú veist að þú vilt við int. Áhorfendur: Ef við setjum bréf, mun það gera [inaudible] gildi eða ekki? ALLISON BUCHHOLTZ-AU: Oh, það er góð spurning. Við skulum sjá. Nei, enn er int. Svo er það svolítið brjálaður. Þetta er bara svona til að sýna þér PHP getur stundum hegða sér irrational-- Not algerlega óræð, en það gæti hegða á þann hátt sem þú í raun ekki búast við. Svo, þegar hún er í vafa, the tegund af hlutur. Þessi aðgerð gettype getur verið frábær gagnlegt. Venjulega, ef þú ert að gera eitthvað með plusses eða einhver stærðfræði rekstraraðila, það er að fara að gera ráð fyrir neinu sanngjarnt er bara int. Svo, hefur þú bleikju 1 eða string 1, eða í raun INT 1, það er að fara að gera ráð fyrir að. Ef þú vilt að typecast neitt, getur þú algerlega. Þú gætir gert eitthvað eins tvöfalda hér tel ég. Og í því tilfelli, það er að fara að segja, ó. Ég ætla að gera þetta tvöfalt því þú sagðir skýrt það er tvöfalt. Þú getur alltaf skýrt gera PHP að gera eitthvað, en. Áhorfendur: Bíddu, af hverju er plús 1 þar? ALLISON BUCHHOLTZ-AU: Oh. There. Það var bara bergmál. Það var mér að kenna. Svo getur þú beinlínis segja það að gera eitthvað af ákveðinni tegund, en mest af þeim tíma, það er að fara að virk ákveða að á afturkreistingur. Svo það er að fara að halda áfram í gegnum og það er að fara að vera eins og, OK. Hvað gerir mest vit til að slíkt sé? Ætti það að vera í raun streng? Ætti það að vera við int? Ætti það að vera fljóta? Ætti það að vera tvöfaldur? Og það mun ákveða það fyrir þig. Þú getur afl til að gera hvað þú vilt, but-- Áhorfendur: Er að gera það hægar? ALLISON BUCHHOLTZ-AU: Jæja, Ég meina, C er mjög duglegur. Ég held að það er örugglega hægara vegna það hefur að ferlinu eins og það er að fara. C, ég er næstum viss um er hraðari. En vitanlega er það mikið af flottum hlutum í hér að við þurfum ekki að hafa áhyggjur óður í. Svo, ef við erum að leita gegnum fjölda, við þarft ekki að raunverulega búa sumir leita í gegnum fylki. Við getum bara biðja um lykil og PHP mun sjá um það. Cool. Ógnvekjandi. Lítur út eins og the endir af dæmi mínu. Þú krakkar eru aldrei að fara að gleyma því núna. Þú ert að fara að vera eins og, ó, PHP er bara svona mömmu sem er eins og enginn, nei, nei. Ég veit hvað þú átt við. Ég veit hvað þú vilt. OK. Svo er þetta, vonandi, gagnlegur fyrir þínum pset, að minnsta kosti í upphafi, vegna þess að þú ert allur óður takast með form og hluti frá notandanum. Þannig að það eru tvær leiðir sem við fara í kringum upplýsingum Með PHP og HTML þegar við erum liggur milli þessara tveggja hluta. Þannig að við höfum $ _GET, sem berst gegnum vefslóð, og við höfum $ _POST, sem berst í skilaboðunum líkami, og svo við teljum það falinn. En einn hlutur að skilja er að hvorki þeirra eru talin örugg. Ef þú ert einhver sem er stöðvun skilaboðin fara fram og til baka á milli þín og miðlara, þeir geta enn fá þessi gögn. Þeir hafa bara að líta svolítið erfiðara. Það er í raun ekki that-- það bara falinn frá vefslóðinni. Það er enn í skilaboðunum sjálfum þó þannig að ef þeir hafa aðgang að því, það er í raun bara like-- Það er eins og munurinn á milli eitthvað skrifuð utan á umslagi og eitthvað sé skrifað á blað inni. Það er ekki það erfitt að opna umslag og fá blað inni. Leyfishafi, myndi það vera miklu auðveldara bara lesa utan. En það er hvernig þú getur konar finnst um þessar. Hvorugur þeirra eru raunverulega teljast öruggt. OK? Leyfishafi, er í raun ekki máli fyrir pset þína vegna þess að þú ert ekki að takast á með viðskipti leyndarmál, en það er yfirleitt einn hlutur sem við í raun eins og til að leggja áherslu vegna þess að fólk hugsa, ó, jæja, það er falinn. Það verður að vera frábær örugg. No. Það er ekki öruggt. Það er bara örlítið minna óörugg, held ég. Eða óörugg. Þannig að við höfum í raun dæmi. Eins og þú veist, ég elska kenna meira með dæmum. Mér líður eins og þetta hjálpar betur. Svo höfum við nokkur einföld form hér sem reyndar, ef þú krakkar eru alltaf rugla um PHP, þetta er í raun lítill, en php.net er í raun virkilega gott skjöl. Mér finnst virkilega það. Ég var að nota það til að undirbúa sig fyrir þetta kafla, svo ég get dýralæknir það fyrir þig. Þetta er dæmi frá þeim um hvernig $ _POST og $ _GET vinnu. Eini munurinn milli tveggja af þeim, auki þar sem upplýsingarnar eru birt, hvort sem það er í vefslóð eða í líkamanum, er einnig hvað sem aðferðin er framkvæmd. Svo í eyðublaðinu fyrir HTML-- This er mjög einfalt HTML formi. Getur einhver sagt mér hvað það þýðir? Áhorfendur: Biddu um nafn þitt og aldur. ALLISON BUCHHOLTZ-AU: Einmitt. Þannig að við höfum einhvers konar aðgerðir. Það lætur okkur vita að það er einhver athöfn formi. Og hvað er að fara að gerast er, þegar við högg Senda, það er að fara að hringja action.php, sem er það sem þetta er, og það er að fara að kalla það með aðferð til að $ _POST. Þannig að í þessu tilfelli, þinn upplýsingar er falin. og það er bara nafnið þitt, sumir input type nefndi, sum aldur, input type = "texti" sem við köllum líka aldri. Og svo ef við högg Senda, Leggja vilja kalla action.php. Svo þegar við högg reyndar Senda, við vita að það hefur staða, í sjálfu sér, og við munum í raun sjá þetta í þínum Heimadæmi sem vonandi fá að ganga í gegnum smá. Og allt það er að gera hér er POST er sumir superglobal breytu að við ræddum um á fyrirlestri. Og hvernig er hægt að hugsa um $ _POST er að það er bara tengin array. OK? Svo er þetta einhver lykill, þetta er einhver lykill, og hvað notandi inntak verður gildi fyrir hvert af þeim. OK? Þannig að ef við værum að skrifa hvað þetta array reyndar leit út eins hægri eftir að við lögð formið, við myndum hafa, þetta er okkar _POST $, og sumir array þar sem við höfum sumir nafn. Segjum bara að við munum gera nafnið mitt, og þá höfum við nokkur aldur, 21. Woo. Svo er þetta allt $ _POST er. $ _POST er bara tengin array, OK? Það segir bara, OK. Hvað er það sem við höfum bað um frá notanda? Hvað eru breytur að við erum sem liggur í kring að við höfum beðið um í þessu formi? Og þá hvað er að gildum sem tengjast því? Svo í þessu tilfelli, ef ég skila henni með nafni Ally og 21 árs aldri, þetta er það sem $ _POST lítur út. OK? Og þetta er það sem þetta PHP skrá hefur aðgang að. Allt í lagi? Þannig að í þessu tilfelli, þetta er bara eins og fá önnur hlutur úr array okkar. Í stað þess að vísitölu í okkar array, höfum við nokkur lykil. Þannig að þetta er að fara að gefa mig gildi á helstu nafn. Þannig að þetta er að fara til vera Ally, og þetta hérna er að fara að gefa mér gildi á $ _POST þar Lykilatriðið er aldur, sem verður 21. Þú ert að fara að vera gera þetta töluvert. Já, sem hluti? Áhorfendur: Þegar þú varst því að benda á botnhlutanum. ALLISON BUCHHOLTZ-AU: Þetta botn hluti? OK. Svo þú skiljir þetta er HTML okkar mynda, og við höfum sumir aðferð $ _POST, sem skiptir máli. Þetta gæti líka verið $ _GET, en í þessum tilgangi, við erum bara að fara að segja að það er $ _POST. Þegar við leggja þetta eyðublað, þetta er hluti af PHP skrá sem er kallað. Þannig að þetta PHP skrá er nú að fara að framkvæma miðað við þær upplýsingar frá HTML okkar formi. Svo hvað það er að gera er, þegar við högg Senda á HTML formi okkar, það er liggur þér þetta superglobal, sem er bara tengin array. Það er þetta. Það er bara eins og framhjáhlaupi að í skrána. Og hvað það er, OK, hér er $ _POST. Það er tengin array þinn. Gera við það það sem þú vilt. Og við erum að segja, OK. Gefðu mér verðmæti á nafni, og gefa mér gildi í aldri. Svo þetta eru bara takkana, og þetta er array okkar. Er það er vit? Áhorfendur: Mhmm. ALLISON BUCHHOLTZ-AU: Awesome. Áhorfendur: Ef þú þarft að endursenda mynd er það skrifa rúmlega gögnum? ALLISON BUCHHOLTZ-AU: Já. Mhmm? Áhorfendur: Hvers vegna gera þú hafa að tilgreina að það er int? ALLISON BUCHHOLTZ-AU: Í þessu tilviki er notandi er bara neyða það til að vera int. Áhorfendur: OK. ALLISON BUCHHOLTZ-AU: Ég veit ekki ef þú vilt raunverulega þörf það, en fyrir tilgangi þeirra, þeir ákváðu að þeir vildu það að vera int. Þeir eru bara að typecasting það. Kannski þeir eru að nota það sem eitthvað annað síðar. Þetta er bara eitt sýnishorn. Já? Áhorfendur: Hvað ef þeir slegið 12, T-W-E-L-V-E, fyrir aldri? ALLISON BUCHHOLTZ-AU: Ef þeir reynt að slá það sem int? Áhorfendur: Já. ALLISON BUCHHOLTZ-AU: I gleyma hvað það gerir. Ég held að það gæti reynt að umbreyta fyrsti stafurinn á int eða taka gildi og umbreyta það, en ég gleymi nákvæmlega hvað það. Vera skemmtileg hlutur að skrifa a program og reyna. Gera nokkrar línur. OK, þannig að þetta er eitt af helstu hlutir sem þú ert að fara að vera að gera. Ég ætla að vonandi ganga í gegnum a par af the skrá frá pset við ykkur. Það lítur út eins og við erum að fara að hafa tíma, svo við getum gert það. En þú ert að fara að vera gera a einhver fjöldi af hlutur eins og þetta, þar sem þú ert að brottför hlutina frá HTML formi í þessari PHP formi sem mun þá framkvæma sumir sett af leiðbeiningum á gögnum sem voru gefnar. Það er bókstaflega GIST pset þinn. Já. Áhorfendur: The type = "submit", að gerir hnappinn á HTML formi. Er leið til að hringja þann hnapp eitthvað? Svo myndir þú vera eins og nafn = "submit"? Eða er að hnappur bara að fara að vera tæma núna, vegna þess að þú bara gaf það gerð, ekki nafn. ALLISON BUCHHOLTZ-AU: Ég held að það er bara að fara til að vera tóm núna. Við getum ákveðið að líta í pset, vegna þess að við munum örugglega vera að horfa á skrá konar hlutur. En já, þú getur ákveðið að tilgreina textinn sem þú vilt á hnappinn. OK, svo SQL. Þegar þú ert að kaupa og selja hlutabréf, þú þarft til að halda utan um þau. Svo hvernig við erum að fara að gera það er með SQL, sem er bara gagnagrunnur. Hugsaðu um það eins og borð þar þú ert að halda allar þessar upplýsingar um mismunandi notendur. Og þú krakkar eru í raun fara að búa til einn af þessir. Það er laglegur kaldur. Og það eru bara fjórir helstu atriði að þú þarft að vita fyrir þessa pset, og þeir eru uppfærslu, svo þú grundvallaratriðum uppfæra gögnin. Það er gert ráð fyrir að það er nú þegar. Ef það er ekki þar, það er að fara að lemja þig með villu, svo kannski þú vilt að athuga. Og þú munt uppfæra on-- I ætti actually- Ég hef tíma, Ég ætla að skrifa nokkrar af þessum. Ég mun í raun gefa ykkur a par sýnis, fullur SQL skipanir, því að þetta eru bara helstu sjálfur, en þú getur tekið þátt þá saman. Svo ég mun gera það og ég ætla að senda út til þín með þessum skýringum. Svo ef þú vilt uppfæra eitthvað, þarft að segja það hvað þú ert að uppfæra og þar sem þú ert að uppfæra hana. Svo dæmigert SQL skipun væri uppfært ID þar sem eitthvað jafngildir eitthvað. Eða eins uppfæra netfang þar ID er 3, og þetta myndi uppfæra address reitinn notanda þinn sem er með kenni af þremur. OK? Þannig að ef þú ferð til SQL og W3Schools, þeir hafa ógnvekjandi dæmi. Í raun gæti ég draga sumir upp í smá. Og þá setja inn, þú ert bara setja ákveðin gildi þar. Svo ef þú ert að reyna að búa til nokkrar nýjar innganga, svo þú ert að búa til nýjan notanda, þú gætir gert setja inn hvað gagnasafninu er kallað, og þú vildi hafa öll þessi gildi. Síðan sem þú ert að velja, velja gildi til að skoða. Svo ef þú ert að reyna að athuga sjá hvort notandi sé eða þú ert reyna að grípa ákveðin Upplýsingar um notanda þú ert að fara að vera með velja. Og eyða síðan, held ég, er frekar einfalt þar. Þú ert bara að eyða eitthvað af borðinu. Og í raun, láta mig draga raun upp nokkur dæmi fyrir ykkur. Ó útlit, það er 61 mín síða. Þannig að ef við förum að W3Schools, vonandi er það upp aftur. Já, elska það. Við förum í SQL. Svo, þetta er eitthvað hér. Svo, þetta er mjög einfalt SELECT. Man, ég elska þessa aðgerð. Svo getur þú hefur valið sumum sviði frá viðskiptavinum. Í þessu tilviki, viðskiptavini er átt við að online gagnasafn sem þú ert að nota, svo hvað taflan er kallað, og stjörnu þýðir bara velja allt. Gefðu mér hver og einn. Svo vil ég bara að gefa ykkur a par af dæmum um hvar þetta er. Þannig að við höfum að velja, UPDATE. Svo hér er góður af almennu setningafræði. Svo uppfæra, hvað þinn nafn borð er, og þá setja er þar sem þú ert í raun að fara að vera það sem gögn sem þú ert að breyta. Þannig að þetta gæti be-- láta mig gera dæmi hér. Þannig að þetta er að fara að be-- OK. Svo ég bjó til smá gagnagrunn fyrir okkur. Við erum að fara að hafa skilríki, sumir ár, og sumir heitir. Svo ID einn að fara að vera ár '15, og við erum bara að fara að gera það við mig. Hver vill vera annað manneskja í borðinu okkar? Einhver. Ég ætla bara að fara að velja Emma vegna fljótur nafns þíns. Emma, ​​Hvaða ár ert þú? Áhorfendur: Hvaða ár? ALLISON BUCHHOLTZ-AU: Já. Áhorfendur: '16. ALLISON BUCHHOLTZ-AU: '16. Þú ert bara að fara að vera Guinea svín mín til í dag. OK, þannig að við höfum þessi tvær manneskjur. Reyndar, láta mig gera þetta. Segjum að ég heyrði hana rangt, og ég reyndar sagði hún er ári yngri. Hún er '17. Það sem við viljum gera hér, ef við langaði að uppfæra ári Emma er vera rétt að nota það, hvað við myndum gera er að við myndi segja uppfæra gögn hérna. Og þetta getur allt verið í einni línu, en þar sem ég er þjappað fyrir rúm hér, Ég ætla að skrifa hér. Og við viljum að setja. Þannig að þetta er borðið sem við erum að uppfæra. SET er að fara að vera það sem dálki eða hvaða gögn erum við í raun að breytast. Það sem við erum að breyta er ári, svo við erum að fara að segja SETT ár = 16, og þá segir HVAR okkur hvaða notandi eða hvaða röð erum við í raun að uppfæra þetta. Svo hvar? Við höfum tvo valkosti hér. Hvaða tvö? Þetta eru einstök, ekki satt? Svo nöfn okkar eru einstök og ID okkar er einstakt, svo hvað eru tveir valkostir fyrir þar sem við gætum gert þetta? Ég skal gefa þér einn. Við gætum gert HVAR id = 2, eða við gætum gert það ef við erum að fara burt þessa hugmyndafræði hér. Áhorfendur: [inaudible]. ALLISON BUCHHOLTZ-AU: Einmitt. Svo við gætum líka gert nafn = Emma. Og annað hvort af þessu myndi vinna. Og við hljóp þetta, myndi það vera eins og, OK. Við breytum því. Þú ert í raun 16, svo nú þú ert aftur til hægri. OK, þannig að þetta væri Super gagnlegt í pset þinni þar kannski einhver ákvað að kaupa 100 hluti af Apple, og þá voru þeir eins, bara að grínast. Ég vil aðeins 90 hluti. Og svo þeir selja 10 af þeim, svo þú þarft að uppfæra magn fiskistofna sem þeir hafa. Svo, endurnýja birgðir, uppfæra töflu. OK. Svo er það eitt dæmi þar. Það er uppfærsla setningafræði. DELETE. Oh. Settu inn er hitt okkar. Svo, þetta hér er mjög svipuð. Við gætum bara sagt, í þessu tilfelli skulum bæta einhvern. Við getum bætt Ben þetta sinn. Við INSERT INTO, og við vilja nafn borðið okkar. Í þessu tilviki það er gögn. Og þá viljum við bara, ert þú að fara að segja gildi, og hvað þú ert að fara að gera er, þú þarft í raun að ganga úr skugga um að þú hafir eitthvað fyrir hverja röð sem þú vilt. Þú setur bara þá í röð. Svo í þessu tilfelli, við viljum segja 3. Þú ert 18, rétt Ben? Áhorfendur: 19. ALLISON BUCHHOLTZ-AU: 19? Áhorfendur: 19. ALLISON BUCHHOLTZ-AU: '19 Year þíns? Þú útskrifast í '18, ekki satt? Áhorfendur: Oh. ALLISON BUCHHOLTZ-AU: Graduation ári. Áhorfendur: OK. ALLISON BUCHHOLTZ-AU: Ég var eins, þú ert þegar leið að taka ár í frí hér? Svo, '18, höfum við Ben. Svo í þessu tilfelli, myndi það fara í gegnum, það myndi búa til nýja færslu hérna. Cool. Ekki of slæmt, ekki satt? A einhver fjöldi af þessu er að fara að vera setningafræði fyrir ykkur. Hugmyndir að koma, vonandi, tiltölulega auðveldlega. The setningafræði er það eina sem getur verið svolítið erfiður. Og þá er síðasta okkar DELETE, og eins og þú tekur eftir, Ég mæli með mjög þessari vefsíðu. Það er frábært. There er a tonn af efni. Svo, á sama hátt sem við höfðum sumir UPDATE, DELETE er mjög svipuð. Í staðinn höfum við Eyða frá gögnum. Þannig að í þessu tilfelli, á síðasta okkar eina sem ég ætla að skrifa niður hér. Segjum að við vildum að eyða mér. Ég get ekki skrifað í dag. DELETE úr hvað Tafla sem við erum í, gögn. Og það eru í raun þrjár leiðir við gætum valið að eyða mér. Getur þú krakkar segja mér hvað þrír leiðir eru, hvernig þú gætir eyða mér? ID jafnt og 1, þar sem auðkenni jafnt og 1. Við gætum gert þar ári jafngildir 15, eða þar sem nafn jafngildir Allison. Auðvitað, það eru aðeins þrjár mismunandi leiðir, því að þetta eru öll einstök. Venjulega í töflunni, og sérstaklega í pset þinn, þú ert að fara að gera eitt Þessir dálkar til að vera einstakt. Það er líklega að fara að vera einhver einstakt ID tala, því ef þú have-- raun, það gæti reyndar látið þig hafa tvö. Ég man ekki hvort það verður látið þú hefur tvö af sama. Áhorfendur: Þá myndi breyta hegðun sinni. ALLISON BUCHHOLTZ-AU: Það vildi. Það verður valdið hegðun sem er óvænt, að þú getur í raun ekki spá. Svo þú munt örugglega hafa einn dálk í gagnasafninu sem mun vera einstakt, og það er oftast hægt að stilla það svo að það er eins og einstakt auðkenni, og það mun bara uppfæra á hverjum skipti sem þú setja í töfluna. Hvert sinn sem þú búa til nýja róður, það vilja á sjálfvirkan vöxtur og gefa honum einstakt ID. Svo Vísbending fyrir pset þinn. OK. Svo það er SQL. Svo nú erum við að fara að tala um mjög síðastur hlutur, sem bindur í reyndar mjög vel með þinn pset, ef það myndi fara fram. Svo MVC, líkan skoða stjórnandi. Þetta er í raun bara leið til að halda hlutum skipulagt. Á sama hátt með C við biðjum ykkur til að búa til virka og aðskilda hluti út, þetta er bara leið til að aðskilja kóða þegar þú ert að gera vefur þróun. Svo það fylgir mikið meira glæsilegur og einfölduð, og þetta er í raun leið að pset þinn er í raun sett upp, þannig að hvort sem þú vilt það eða ekki, þú ert að fara að læra það, jafnvel ef þér finnst ekki þú ert að læra það. Og eitt er það gerir þér einnig að gera miklu meira eins og notandi samstarfi. Svo þegar ég tók CS50, gerði ég a vefsíða fyrir lokaverkefni mitt, og ég var eins og, ég höndla gagnasafn efni. Ég skal gera aftur enda efni og minn herbergisfélagi sem ég var að taka með það var mjög artsy. Hún gerir Messíönu, og hún langaði að gera það allt falleg. Þannig að ég er eins og, OK. Þú getur annast allur framendi efni. Og málið er, eins og við munum sjá mjög fljótlega, það líkan skoða stjórnandi leyfir þér alveg aðskilja kóðann svo að ég gæti unnið á framkvæmd síður okkar, og notfæra upplýsingar í gagnagrunnum okkar, og hún gæti bara gert hlutina falleg, og við vorum bæði mjög ánægð, vegna þess að við fengum að gera hvað við bæði vildum og við þurfti ekki að takast á við hinn. Svo við vorum saman. Við eins og að hanga út. Ég bara vildi ekki að takast á við alla CSS og HTML efni. Ég var eins og, þú gerir það frekar. Ég takast á við gagnagrunn. Þannig að við höfum þetta í alvöru kaldur, frábær lítill borð. Ég elska töflur. Og í rauninni, en fyrirmynd þú getur hugsa um er bara gagnasafninu. Ég var fyrirmynd maður fyrir verkefnið mitt. Það er allt um geymslu á upplýsingar og skipuleggja gögnin. Svo það er það sem við viljum að hringja til baka enda. Svo þú krakkar vilja að takast á við SQL gagnagrunn og gögn skrá. Það er fyrirmynd þín. View þín, eins og þú gætir hugsa, konar vit, er það þinn notandi raunverulega sér. Það er notandi tengi. Það er að framan frammi hluti. Svo það er það sem herbergisfélagi minn fékk að vinna á öllum þeim tíma. Hún var súper ánægð. Svo er að allar HTML, og það er mjög lítið PHP. Ef þú ert bara að tala um hvað er verið að sýna að notandanum, við erum að tala um HyperText. Við erum að tala um hvernig það lítur út. Við erum ekki að tala um rökfræði, eða aðstæður, eða whatnot. Allt sem fær meðhöndlaðar af ábyrgðaraðila, OK? Svo sem sér notanda beiðnir og fær upplýsingarnar. Svo eitt sem þú ættir að vita um pset er að í skoðanir þínar, eitthvað sem er í raun birta upplýsingar ætti aldrei að vera að gera kalla til líkan þínum. Allt sem er meðhöndluð í stjórnandi þinn. Stjórnandi er sá miðla á milli þessara tveggja. Það mun biðja líkan fyrir tilteknar upplýsingar. Það getur iterate yfir að upplýsingar, reikna út það sem þú þarft í raun og veru frá það, hvað á að gera við það, og þá mun það fara á bara þær upplýsingar sem þú þurfa að skjánum fyrir þig að prenta það út eða sýna það að notandi, OK? Því við sjáum það sjónarmið sem hvað er snúa að notanda, svo það verður mun auðveldara fyrir þá að reikna út, ó, ef þú ert að gera sumir kalla til líkan þínum og þú ert að biðja um alla notendur sem byrja á bókstafnum A, og þú ert að gera það í augum þínum, einhver sem getur séð á vefsíðu þinni gæti hugsanlega aðgang að. Þú þarf ekki endilega vilja það. Þú vilt ekki að fólk til að sjá meira inn í gagnagrunninn en það þeir ættu að sjá. Bara sérstakar óskir þeirra. Svo stjórnandi annast öll þessi. Svo öll .php skrám sem við munum sjá þú getur íhuga stjórnandi skrár. Og það er þar sem þú ert virkilega að fara að vera biðja um hluti úr gagnasafninu, og iterating eða notfæra það eins nauðsynlegt áður liggur það á að vera áhorfandi. Það er mjög flott pset, að mínu mati. Ég held að það er a lítill fleiri eins og augnablik fullnæging, vegna þess að þú innleiða mikið af smá smá hlutum, og hver hlutur ætti að vinna á eigin spýtur. Ekki eins, gera allt og þá sjá hvort það virkar. Eins með hugbúnaði þar sem þú ert eins og ég er virkilega vona að þetta sé rétt, því ef það er ekki, það eru fullt af setur það gæti verið rangt. Allt í lagi. Bara að gera viss um að ég sagði allt sem ég þurfti að segja um MVC. Já. Cool. Svo í CS50 Finance, við höfum fyrirmynd okkar, eins og ég sagði bara hér. Það er að fara að vera MySQL og phpMyAdmin. Ég get ákveðið að draga þá upp svo þú krakkar fá tækifæri til að líta á það. Eins og ég sagði áður, það SQL þinni gagnasafn virkar sem fyrirmynd þína, og þú getur sent það sem við köllum fyrirspurnir, sem eru bara þessi tegund af hlutur. Þetta eru kallaðir fyrirspurn. Þetta er fyrirspurn, þar sem þú ert bara biðja gagnagrunninn um eitthvað, eða þú ert að breyta ÞINN gagnagrunnur á einhvern hátt. Það er allt það er. Og þú gerir það með því aðgerðir sem við höfum gefið þér hér. Þú getur einnig vinna þá af hendi í gegnum phpMyAdmin, sem við getum ákveðið að taka a líta á. Ég skapa sýnishorn gagnagrunni með ykkur. OK. Svo, stjórnandi. Þannig að í þessu tilfelli, ef tilkynning, þetta er allt PHP. Takið eftir að er góður af þínum Aðalmálið á stjórnandi þinn er að það ætti að vera að mestu leyti PHP. Ef þú ert HTML í stjórnandi þinn, ekki viss hvað er að gerast þar. Á sama hátt eins og ég sagði, ef þú stjórna til [inaudible] með HTML, Ég er alvöru áhuga. Svo það sem við höfum hér er þið hafið einhverjar fyrirspurn. Fyrirspurn er fall sem við byggt fyrir ykkur. Það er eins og umbúðir til að gera fyrirspurnir við gagnagrunninn svolítið auðveldara. Ef þú varst ekki að setningafræði fyrir í raun að tala við SQL gagnagrunninn væri öðruvísi, þannig að við bara framboð það fyrir ykkur. Við eins og að gera lífið auðvelt. Svo í þessu tilfelli, getur þú krakkar segja mér hvað þessi lína er að gera? SELECT * úr sumum töflunni. Áhorfendur: Veldu allt frá þessari töflu. ALLISON BUCHHOLTZ-AU: Einmitt. Svo það er að segja, gefa mér allt frá þessari töflu. Og það er að geyma það í sumir breytilega niðurstöðu. Og þetta segir, ef niðurstaðan er ekki jöfn false, þá gerum við hvert af þessu. Þannig að ef það er ekkert hér, ef þú töflu tómur eða það bara er ekki til, það er að fara að skila falskur. Svo í þessu tilfelli, við erum bara að gera viss um að eitthvað væri í raun aftur til okkar. Og þá er hér, höfum við mikill framhandleggur lykkja okkar að við erum að iterating yfir okkar Niðurstaðan, og við köllum það róa, og við segjum láta þetta sniðmát ef gögn er þetta niðurstaðan. OK? Svo það er bara að vinna röðinni niðurstaðna. Annars yells það. Svo, þetta er dæmi eftirlitsaðila. Eins og þú sérð, þá er þetta aðeins place-- Já, fyrirgefðu? Áhorfendur: Hvers vegna er merkið áður röð? ALLISON BUCHHOLTZ-AU: Merkið fyrir röð. Við erum bara að iterating. Það er einnig netfang of-- Áhorfendur: Svo það er eins og C tilvísanir. ALLISON BUCHHOLTZ-AU: Það er að tryggja að þú ert í raun og veru breyta upprunalegu og ekki afrit. Það er á sama hátt með C þar sem við erum sem liggur með tilvísun hér, bara til að vera viss. Áhorfendur: Er það ekki == í stað þess að ekki = í PHP? ALLISON BUCHHOLTZ-AU: Það er ekki ==. Áhorfendur: Þar jafningjar í C ​​er just-- ALLISON BUCHHOLTZ-AU: Það er bara ekki =. Já, nei. Það er ekki ==. Vegna == í PHP stöðva fyrir jafnrétti með skipta, veitt, en auka gæði. Svo, það er ekki == í PHP. Það er einn af the lítill setningafræði munur. Já. Þannig að við erum bara iterating gegnum hverja röð, og láta, ef ykkur lesa í gegnum sérstakur þína, er bara einhver önnur aðgerð sem er í raun að fara að vinna alla HTML og sýna það í þínum vefur flettitæki fyrir þig. OK. Svo, eins og við að hugsa um stýringar þinn eins og hvað annast viðskipti rökfræði. Eins og þú sérð hér, þetta er þar sem við erum taka gögn okkar frá borðinu, verið er að vinna það á einhvern hátt, og þá erum við að liggur það burt. Þegar við gerum bakið sumir sniðmát, sumir sniðmát er að okkar mati, og við erum liggur það aðeins gögn sem það ætti að fá. Ekki öll gögn. Bara gögn sem við viljum það til að fá. OK? Grundvallaratriðum gögn eftir vinnslu. Svo er þetta útsýnið, þetta er summan sniðmát sem við höfum, og allt þetta er að gera er, þú getur hafa smá PHP í ljósi þínu. Það er ekki eins og a neitun PHP í ljósi. Þú ættir bara að hafa hverfandi PHP í ljósi, og þú ættir aldrei að vera fyrirspurn í ljósi þínu. Þú ættir aldrei að tala við gagnagrunninn í augum þínum. Það er stór munur. Svo er það sem er að gerast hér, við höfum PHP sem er iterating gegnum röð. Þannig að í þessu tilfelli, þar sem við vorum iterating gegnum hverja línu og flutningur eitthvað, þetta var sennilega eins og tvívíða array þar sem við höfum einhverja röð sem er í sjálfu sér, fylki, vegna þess að við erum að iterating gegnum það aftur. Og við erum bara að prenta út róður nafn, þá endar það. Þú ættir ekki að þurfa þetta í framhandleggur. Ég hef aldrei séð það áður í raun. Ég bara framhandleggur. OK, svo er að skoða. Við skulum sjá hvort við getum gengið í gegnum smá pset þinn. Við höfum 15 mínútur, þannig að ég er viss um að þú krakkar langar að meira en bara endar snemma. Leyfðu mér að sjá hvort ég get að koma þessu upp. Svo ég veit ekki hversu margir af ykkur hafa sótt hana og whatnot enn, en við höfum notendanafn hér, og við höfum nokkur lykilorð. Og því miður, ekki satt nú er í gagnagrunni tóm, þannig að við þurfum í raun til að búa til gagnagrunn. Jæja, það er undarlegt. Ekki búast við að. Tæknilegar villur. Tæknilegra erfiðleika. Við höfum einhverja pset7. Cool. Svo, einn hlutur sem þú getur gert er með a query-- ég að búa til borð. Þannig að þetta er að fara til vera users-- hvað þú getur gert hér er, ef við höfum some-- Really núna? OK. Vitanlega er ég ekki að gera það heitt. Oh. Ég veit hvers vegna. Vegna þess að ég aldrei búið raunveruleg töflur mínar. Svo þegar þú byrjar fyrst með gagnagrunnur, þú augljóslega að ákveða hvað eru hlutir sem ég þarf að hafa hérna? Þannig að ef við förum bara burt gögn borð okkar hér, við fengum ID, sem getur bara vera heiltala. Og ef við lítum hérna, það er a kaldur hlutur that-- Svo vísitölu. Ef þú gerir fyrst og fremst, mun það gera það hlutur sem taflan er skipulögð af, og það mun einnig gera það einstakt. Svo í þessu tilfelli, munum við gera það fyrst og fremst, og ég ætla að gera þetta nafn, þá munum við bara gera það varchar af eins 26. bréf, vegna þess að af hverju ekki? Og þá getur þú farið til að spara, og þá ef þú sérð, höfum við sumir notendur hér. Þannig að ef við vildum að gera setja, við gætum gert það This vegur, eða ef þú vildir æfa með queries-- Ó drengur. Ég hef ekki notað þetta í að eilífu. Ég tek þetta aftur. Þú getur breytt þessu á eigin spýtur heldur bara með höndunum setja upplýsingar með eitthvað eins og þú getur breytt þessum Ef þú vildi make-- Ef þú vilt skyndilega losna á nafni, getur þú falla, þú getur gert alla þá hluti. Ef þú þarft að alltaf handvirkt breyta töflunni, Ég legg að gera það í phpMyAdmin móti reyna að reikna út SQL fyrirspurnir almennt. Þegar þú byrjar fyrst pset þína, þú ert að fara að þurfa að vinna hér, svo venst það. Og svo þegar þú vilt í raun og veru að setja hlutina í table-- þína Ég velti virkilega hvar það er, því there's-- Hér það er. Það er það sem ég vildi. Svo ef þú ferð til SQL, þú gætir raunverulega sjá, eins og við sjáum hér, við höfum SQL fyrirspurnum. Þannig að ef við vildum að velja eitthvað eða ef við vildum að setja eitthvað, við getum gert setja inn notenda, ekki satt? Ég held að þú þarft að sviga. Eitt sem þarf að vita er, ef þú ert alltaf að nota þetta, þú þarft að nota þetta aftur úrfellingarmerki, sem eru venjulega, Ef þú ert á Mac, rétt fyrir ofan flipann. Svo gott að vita. Þú gætir sett inn notenda, og við höfum gildi okkar, ekki satt? Þannig að við höfum gildi, og gildi okkar í þessu tilfelli myndi bara vera, við höfum aðeins kenni svo við gæti gert einn ef við vildum. Það er undarlegt. OK. Svo er það bara eins og stutta lítill hlutur með SQL, en það gæti verið gagnlegt að raun líta á sumir af the skrá í hér. Svo fara til Downloads. Oh, ekki niðurhal. Svo, bara fljótur Walkthrough af hvað er í öllum þessum möppum. Það felur í sér, að við höfum bara hluti að stilla vafrann þinn, Við höfum þessar fastar, og við höfum þessar aðgerðir. Ef þú hefur áhuga á einhverju af þeim, Ég mæli með því að horfa á aðgerðir. Einn af þeim sem er frábær gagnlegt, í raun er þetta einn hér, sorphaugur. Þannig að ef þú notar þetta, það mun í raun bara prenta út hvað breytu að þú vilt það til. Svo ef þú ert í vandræðum vangaveltur hvað þetta array lítur út, eða hvað þessi gögn í raun, hvernig það er sniðinn, þetta er a mikill hlutur til að nota. Sérstaklega þegar þú ert a notandi með mörgum hlutabréfum, þetta er að fara til vera eitthvað mikið að nota. Vegna þess að það gæti verið formatted-- Ég veit að minnsta kosti fyrir mig þegar ég gerði þessi pset var sniðinn á þann hátt að ég vissi ekki alveg von á. Svo ég var að reyna að iterate yfir það og reyna að vinna það, en ég gerði í raun ekki skilja hvað ég var að gera. Svo ef þú afrita það bara, það verður prenta það út til að vafra, og þú getur séð nákvæmlega hvernig það er forsniðið. Það verður yfirleitt prenta það út sem array með tökkum þess og gildi þess. Svo það er hægt að hjálpa þar. Það getur einnig hjálpað til við að gera viss um að þú sért í raun og veru grabbing gögn sem þú hélst að þú varst. Þannig að ef þú varst eins, mitt borð ákveðið segir það er notandi með þessu auðkenni en þegar þú ferð að afrita breytu, það er ekki þar, þú veist augljóslega það er þar sem villa er að fara til vera. Þetta er einn af bestu tæki fyrir kembiforrit, að mínu mati. Og þá er það a par annað hér, en að mestu leyti, það er eina sem ég vil vekja athygli þína á, því það er mjög gagnlegt. Opinber, hvað við höfum hér er, þetta er allt CSS efni okkar. Svo CSS, letur, myndir okkar, whatnot. Þetta er allt efni sem þú þarft ekki að breyta. Getur þú krakkar hugsa um ef þetta hefur hluti eins CSS í letur, myndi þetta vera fyrirmynd, eða útsýni, eða stjórnandi? Áhorfendur: [inaudible] ALLISON BUCHHOLTZ-AU: það myndi vera meira af augum, ekki satt? Þetta er meðhöndlun alla hlutir, hvernig hlutirnir líta út. Þannig að ef við opnum þetta hér, sjáum við að allt, sem er að gerast hér er að við erum að flutningur eitthvað. OK? Þannig að þetta myndi mjög mikið hæfur sem skoða fyrir þetta. Þannig að þetta er bara að taka nokkrar, það er að hringja nokkur portfolio.php að við höfum, og það er farið í fyrirsögn og útlána. Og það er bara flutningur það. Reyndar, tek ég að baka. Þetta er stjórnandi, vegna þess að bakið, muna, gerir þá skoðun. Svo portfolio.php í þessu tilfelli væri View þín. Því miður, krakkar. Portfolio.php er að fara til vera View þín, og þetta myndi bara vera stjórnandi þinn fyrir það. Og ef við lítum á þetta síðasta hér, sniðmát, Sniðmát eru allar skoðanir þínar hér. Þannig að ef við lítum, augljóslega Við sjáum mikið af HTML hér. Svo þetta er bara að sýna þér hvað tenging síðu ætti að líta út. Þú tekur eftir að við höfum sumir mynda hópa, hafa skila. Hér er hvernig þú ákveður hvað birtist á það. Þú hafa sumir hnappinn type = "submit" og þá verður þú það sem þú vilt hafa það að birta í hnapp. Svo er það hvernig þú myndir gera það mæta eins hvað þú vilt. Og við sjáum hér höfum við nokkur notandanafn, nokkur lykilorð, og þegar við högg raunverulega Senda, það er að fara að vera einhver staða, og það er að fara að senda til hvers? Hvað er stjórnandi fyrir þessari skoðun? Þegar við högg Senda, hvað er að fara að vera kölluð? Vitum við? Það er hérna, svo login.php. Eitthvað sem þú krakkar eru að fara að innleiða. Svo þú getur alltaf sagt hvað er að fara að vera kallað eftir að þú högg Senda með þessari fyrstu línu hér. Hvað formið aðgerð er. Þegar þessi mynd er lögð fram, hvaða aðgerða gera við taka? Við köllum login.php, og við kalla það með þessari aðferð af staða, sem hefur falinn upplýsingar. OK? Svo er þetta sjónarmið þitt, og þá vitanlega ef við fórum að login.php-- Höfum við það enn? Já. Svo eins og við sjáum hér, þetta hefur mikið meira rökfræði. Það er allt PHP okkar hér. Við erum að reyna að sjá hvort það var $ _GET, ef það var $ _POST, staðfesta það, samskipta, allt þetta dót. Þannig að þeir eru bara þrír mismunandi hlutir hér. þú þarft ekki að breyta hlutum. Þú munt vera að búa hluti í sniðmáti, hugsanlega en eins langt og HTML eða sem stíl á eitthvað af þessu fer, þú getur skilið það eins látlaus eða eins flókinn eins og þú vilt. Sumir fá raunverulega inn í það og gera sumir laglegur ógnvekjandi websites. Þú þarft ekki að gera það. Ef þú hefur tíma, það er a raunverulega kaldur hlutur. Þú getur sóðaskapur í kring með CSS og HTML og fá miklu betri tilfinningu fyrir því, en finn ekki þrýstingur til. Það er nóg fyrir þig að gera á bak endir með framkvæmdarreglunum skrá þig inn, og skrá, og allt þetta. Svo vonandi hjálpar það svolítið. gera þú krakkar hafa einhverjar spurningar um neitt sem við höfum farið yfir, önnur úrræði? Ég mun örugglega senda öllum dæmi mínu PHP kóða til ykkur, og þá ekki hika við að taka myndir eða whatnot af þessu. Einnig er það á netinu. Þú getur alltaf bara horfa aftur. Svo ef það er það, allir góður? Já. Áhorfendur: Ég vil bara að staðfesta, þegar við erum gera velja í SQL, Star þýðir allt, ekki satt? ALLISON BUCHHOLTZ-AU: Já. Áhorfendur: Og svo ef þú þarft ekki stjörnuna, ef þú vilt það til að taka frá tiltekið róður, þá setja bara nafn of-- ALLISON BUCHHOLTZ-AU: The nafn af the röð og það sem þú vilt þú vilt að gildi. Áhorfendur: Og þá dagsetningu. ALLISON BUCHHOLTZ-AU: Whatever þú ert að leita að, já. Á sama hátt, ef þú eyðir tmp frá sumir borð, verður það að eyða öllu. Svo, * er bara villtur kort fyrir allt. Áhorfendur: OK. ALLISON BUCHHOLTZ-AU: Cool. Ógnvekjandi. Jæja, hafa a mikill mánudagur, krakkar. Sjáumst í næstu viku. Gangi þér vel á pset þinni.