[Muusika mängimine] ALLISON Buchholtz'ile-Aafrika: Olgu, kõigile, tere tulemast tagasi lõik. Loodetavasti olete kõik oli suurepärane Halloween nädalavahetusel või Halloweekend, nagu mulle meeldib öelda, kõik puhanud ja taastunud. Ja õnneks see ei ole lund enam. See on tegelikult päikesepaisteline väljaspool. Ma olin tõeliselt õnnelik, et. Ei ole valmis Venitada mu talvesaapad. Loodetavasti pset6 läks päris hästi. Kui oled väsinud C, ma olen õnnelik öelda, sa oled teinud C nüüd. Me oleme täielikult transitioned veebi programmeerimine, et teil töötavad HTML, PHP, võibolla natuke JavaScript. Ma ei tea, mis järgmisel nädalal pset on, nii et ma ei saa garanteerida, mida teie järgmine pset tahe olla, kuid selle nädala pset on CS50 Finance, mis on põhimõtteliselt rakendamisel omamoodi veebileht mis võimaldab teil osta ja müüa varu ja jälgida neid. Ja see on päris lahe, sest kõik see on dünaamiliselt loodud. Sul võib olla erinevaid kasutajaid, kellel on oma info ja sa lähed olema rakendada kõiki selle. See võtab aega. Ma kindlasti arvan, et see on lihtsam kui C psets, kuid see võtab kauem aega. Sa oled uue keele õppimine, PHP, mis on väga sarnane C, aga loomulikult läheb vaja sa otsida süntaks ja mõista kuidas teisendada vahel keeltes. Aga ma ei usu, et seal on midagi super kontseptuaalselt raske umbes see pset. See on lihtsalt õppida uue keele ning saada läbi kõik need väikesteks tükkideks. Kui poisid on läbi lugenud spec, see on päris pikk. Ma arvan, et see on nagu 21 lehekülge, kui ma õigesti mäletan. See on pikk spec. Nii et kui te ei ole lugenud it-- 22. 32. Wow. Nii et ma olin ära 50% seal. Niisiis, 32 lehekülge. Nii et see on pikk. Seal on palju tükki, kuid ükski neist tükid peaks olema, et halb. See on lihtsalt palju. Nii et kindlasti alustada varakult kui võimalik, nagu iga tavaline, aga ma arvan, et see ei tohiks tunda veidi ilusam kui eriti psets nagu taastuda ja suurust, mis on just väga raske wrap oma pea ümber. Nii et me ei kavatse sukelduda. Mul ei ole oma tegevuskava lükake täna, kuid me oleme läheb räägime PHP. Ma tulen kohe annab teile omamoodi kiirkursuse mõned asjad et te võiksite teada PHP. Erinevad süntaks asju, asjad vaadata läbi. Me läheme rääkima natuke SQL. Lihtsalt väga lihtsad asjad seal, ja siis ka MVC on Model View Controller, mis kuidas oma pset on loodud, nii mõista, kuidas see tööd on super kasulik. Hea küll. Nii PHP. Te oleks pidanud tegema midagi väga, väga lihtne PHP, mis on see alumine asi siin, kus sa esitasid formaadis üles siia, et oli mingi nimi, mida sisend ja oleks öelda, nagu tere, Ben, või Tere, Allison ja see avanes. Nii et see on tegelikult mis see oleks pidanud paistis oma pset, juhul kui te poisid tahtsid teada või ei ole päris aru saada. Aga meil on need küsimärgid Siit mis näitavad, et see on PHP. Nad murrab ta ja siis htmlspecialcharge, pea meeles, on lihtsalt, veenduge, et olete ohutu mis tahes hull süst rünnak või kui keegi üritab panna hull pahatahtlikku tähemärki oma nime väli, ei ole see meeldib oma server või tühi-tähi. Ja siis, kui märkame, see HTML vorm oli meetod $ _GET, mis kui me mäletame meie superglobals PHP, $ _GET, $ _POST, saadame laskumist need natuke. Aga me teame, et meil on mõned nimi siin, mis vastab nimi et me esitada. Nii et see on lihtsalt selline nagu väga lihtne PHP HTML koostöö et kutid olid pärit pset kuus. Aga see ei ole tegelikult vastata küsimusele, mis on PHP. Ilmselt see on keel, kuid meil ei ole tõesti rääkis ta selles punktis teavitamist, nii et seal on natuke rohkem mida PHP tegelikult on. Nii et PHP on vaid PHP hüpertekst eeltöötluse. See on tegelikult lugeda programmeerimiskeelt sest see on loogiline, arvestades, kui Mäletame räägime HTML, me kutsusime et märgistuskeel versus programmeerimiskeelt sest HTML rangelt muutmise kuidas asju otsima lehel. See on lihtsalt muutmise kas midagi on julge, või kas see on sellisel kujul, element või midagi sellist. See ei ole mingit loogikat. See ei pea silmuseid ega tingimusi. Sa ei saa viga vaadata asju. Sa oleks kas näidata asju teatud viisil või küsida asju kasutaja. Nii see on. Nii PHP, siis tegelikult ei võimalda meil teha kõiki neid loogilisem asju, nagu valideerida sisendi või manipuleerida seda mingil moel. Me ei saa kombineerida seda HTML, kui me lihtsalt nägin oma viimase pset ja just nüüd, ja see võimaldab meil luua neid dünaamilisi veebilehti. Nii et kui te poisid ever-- Ma ei tea, kui sa olid nagu mina, vaid keskastme kool nad olid meile seda IT klassis, kus lõime lihtsalt HTML veebilehti, ja nad olid staatilised ja kliki ümber muid asju, kuid nad ei ole kunagi muutunud. Mis toimest, mida me saame teha, on, nagu koos CS50 Finance, sa lähed on erinevaid kasutajaid. Sõltuvalt nende kasutajate eelistuste ja mida nad ostavad või mida nad müüvad nende varude sa lähed, et kuvada erinevaid asju. Nii et kui seal on mõned identifitseerimiseks iseloomulik Sinu kasutaja kasutab seda veebileht, saame dünaamiliselt otsustada, mida näidata neile. See ei ole sama asi iga üksiku inimene, mis siis, kui meil oli just HTML, lehel oleks sama iga inimene, kes külastas. PHP võimaldab meil personaliseerida lehekülge. Ja siis me saame kas panna neid sama faili, mis, nagu juhul, enne siin nägime, et meil HTML kõik siin ja siis meil on see natuke PHP. Me saame seda teha niimoodi, või CS50 rahandus kui te poisid vaadanud files-- ja meil peaks olema aeg sammult läbi paar neist üheskoos lõpuks section-- me saab näha, kuidas saate tegelikult hoiab neid eraldi, mis on tegelikult parem asi, mida teha. So Kiirkursuse. Kõik kiire lihtsad asjad peate teadma, PHP. Kuulutatakse muutujad. See sinine on natuke tüütu, kuid loodetavasti kutid saavad seda näha. Kui ei, siis ma kirjutan selle kohta kriit pardal. Kuulutatakse muutujad. Üks asi on teada, et erinevalt C PHP on nõrgalt või dünaamiliselt trükitud, mis tähendab, et sa ei pea rääkige muutuja, mis tüüpi see on. Sa võid lihtsalt öelda mõned muutuja võrdub iganes sa tahad seda, ja otsustab tüübist et muutuja töötamise ajal teile. Nagu näete, see võib tekitada väga huvitavaid asju. Aga enamasti on, siis ei ole vaja täpsustada, millist tüüpi. Sa saad, ja saate tippida enamus asju, nagu te tavaliselt ei näe, kui soovite sundida teda olema teatud tüüpi, aga sa ei pea seda tegema. Ta ei kavatse kisa sind kui sa lihtsalt kuulutada muutuja ja ei määratle tüüpi ta. Nii et kui te ei saa lugeda see-- Ma tean, see ei ole parim. Ma arvasin, et see näitaks üles better-- kuidas sa initsialiseerida tahes muutuja on lihtsalt koos dollari märk, mis sa tahad seda nimetada, ja siis, mida sa määrates ta. Nii antud juhul on see umbes $ var = 3. Nii et kui me kunagi kasutada $ var kuskil, siis lihtsalt olla sama kui panna 3 seal. OK? Niisiis, iga muutuja, vaid dollari märk, mis iganes soovite helistada oma muutuja, ja mida iganes sa tahad, et see on võrdne. Veidi jahedam. Vähem kirjutada algväärtustamisel muutuja, eks? Kas on mõtet kõigile? Just kiire süntaksi erinevus vahel C ja PHP. Massiivid on palju lahedam PHP. Me ei saa anda neile võtmed. Niisiis, kuidas mõelda see on, et kui me kunagi tahtis pääseda element massiivi, meil oli vaja teada indeks, eks? Nii et me teame, et C-ga, me võivad pääseda esimese elemendi tehes massiivi sulg null, või kui me tahan esimene element, massiivi sulg üks. Ja kui me tahame midagi seal, me võiksime lihtsalt on itereerima kaudu, välja arvatud juhul, me ei teadnud tegelikult indeks. Üks asi, mis on tõesti cool PHP massiivid on see, et nad on, mida me nimetame assotsiatiivne. Nii saame seostada mõned olulised teatud väärtus, ja me tegelikult toimub mina-- ma näitan sulle, kuidas saab seda kasutada teine. Aga põhimõtteliselt, kui sa kunagi tahad initsialiseerida massiivi niimoodi, teil on $ massiiv. Nii et samamoodi, see on lihtsalt mõned muutuja, et me loome. See võiks nimetada mida iganes sa tahad. See võiks olla $ näide. Lihtsalt üks muutuja. Mis teeb see massiiv on sulg süntaks, mis meil siin on. Just nagu tavaline C. Ja me on mõned olulised teatud väärtust. Nii key1 läheb väärtuses1, key2 kaks läheb väärtus2. Need paarid on eraldatud koma, nagu tavalised massiivid. Kuid. Big üks. Klahvid on vabatahtlik. Sa ei pea neid kasutada. Ja kui sa seda ei tee, siis see on lihtsalt tavaline. Küsimus? Või oh. Sihtrühm: Noh, umbes õige. Kuhu mälu riigist? Kas seda ka sama nagu [Kuuldamatu] ja korstna? Kas see on ka kasutades PHP? Like, kui me neid ühendavatest? ALLISON Buchholtz'ile-Aafrika: PHP, me ei kipu muretsema, kui meie mälu on pärit. Me ei kuluta palju aeg rääkinud, et nii see ei ole tegelikult midagi teil on vaja muretseda. Nii et võtmed on vabatahtlik. Samamoodi, kui sa seda ei tee tahad teha see seotud, tahad lihtsalt tavaline massiiv, kus array null on esimene element ja massiivi üks on teise element, võite teha seda täpselt nagu te oleks C. Teil on muutuja, mis saab olema teie massiiv, ja see võrdub nende sulgudes siin. Jah. Sihtrühm: Kas ta on Sama käsk märke. Nagu, ma saan teha, nagu massiivi ++, ja mis osutab teine. ALLISON Buchholtz'ile-Aafrika: Võite do-- Noh, siis võib olla mõned iteraatoris i, mida saate teha i ++ ja teha massiivi i samamoodi. Aga see on kõik. Niisiis, nagu antud juhul, massiiv 1 võrduks 20. Samasugune indekseerimise märke. See on põhimõtteliselt ainult kaudne asi siin, kus ta ütleb, null, null kuni 10, 1 kuni 20, 2-30. See on lihtsalt kaudne võtmed ta. Milliseid muudatusi PHP on et nüüd on teil õigus ümberjagamise need võtmed mida iganes soovid. Nii et üks asi on siin. Nii et mul on ainult mõned näited siin, et ma kirjutasin üles kutid sest ma tunnen, näiteid alati aitab rohkem kui lihtsalt abstraktne. Niisiis, käesoleval juhul me mõned assotsiatiivne massiiv see on minu esimene nimi, mu perekonnanimi ja ma olen kajastas, mis on vaid igaks otstarbeks siin läheb välja trükkida väljundi siin. Ja ta ütleb, OK. Prindi välja väärtus, mida vastab reaga võti Allison. Ja ma võin teile saata ka poisid kõik selle koodi pärast klassis. Niisiis, kui me käivitada see, mida teha sa arvad juhtub? Mis toimub välja printida? Sihtrühm: Teie perekonnanimi. ALLISON Buchholtz'ile-Aafrika: Minu perekonnanimi. See teeb. Siinsamas. Prindi välja. Nii et kui me seda muuta ja me oli lisada, et keegi teine ​​meie list-- Ütleme, et meil on Emma siin ja me seostame oma viimase name-- Vaatame, kas ma kirjutada seda õigust. Sihtrühm: Jah. ALLISON Buchholtz'ile-Aafrika: Jah. Sihtrühm: Hea töö. ALLISON Buchholtz'ile-Aafrika: Armas. Nii et nüüd, kui meil on see siin ja tahtsime leida oma perekonnanime, sul on see olemas. Nii saab lihtsalt mõelda asendamist see võti siin. Sa oled lihtsalt asendades indeks. Nii et see võimaldab teil lihtsalt otsida läbi massiivi palju lihtsamaks. Sa ei pea teadma indeks. Niikaua kui see võti, et te otsite jaoks kusagil massiiv, PHP leiavad selle ning ta naaseb väärtus sellega seotud. Nii et see annab sulle palju rohkem võimu oma massiivid. Jah. Sihtrühm: Kui teil on kaks võtit samas, kas see annab sulle vea? ALLISON Buchholtz'ile-Aafrika: See peaks andma sulle viga, jah. Kas see teeb veidi mõttekam kutid? Ja samamoodi on meil hulgaliselt Siit et ei ole mingit võtmed. Ka see on süntaksi et te võiksite olla teadlik, sest sa oled on kasutada seda oma pset. Iga kord, kui sa teed kaja, siis on need jutumärgid, ja kui sa oled viidates et osa massiiv, sul olema need looksulg ümber. See on selline tüütu, kuid sa lihtsalt pead seda tegema. Nii lihtsalt midagi, mida meeles pidada. Kui oled suubuvad vigu, Ma tean, et see on olemas minu massiivi aga see on viskamine vead mind, proovige panna traksid ümber ja see peaks toimima. Nii et kui siin on see normaalne C massiivi oleme harjunud. Tal on kolm, viis ja kuus, ja me lihtsalt soovite välja printida esimene element, nii see peaks välja printida kolm. Ja ma ei joosta kõik need, nii loodetavasti midagi muutunud. Me näeme allosas siin see lihtsalt trükib välja kolm. Külm. Mis mõtet kõigi jaoks? Assotsiatiivne massiivid. Palju lahedam kui tavaline massiivid. See on miks-- Kas David näitab teile, PHP rakendamise pset6 ajal loeng üldse? OK. Niisiis, ma näitan sulle. Ma ei tea, see maha t-- Sihtrühm: Ta tegi eelmisel nädalal. ALLISON Buchholtz'ile-Aafrika: see oli eelmisel nädalal? Sihtrühm: Jah. ALLISON Buchholtz'ile-Aafrika: Jah. Nii speller saab teha nagu kuus rida PHP ja osa võimu, et see on assotsiatiivne massiiv, kus saab lihtsalt laadida iga sõna, ja sul on see võrdne on õige või vale. Ja nii võib öelda, oh. Tagasi sõnastik teatud sõna, ja kui see on olemas, siis naaseb tõsi. Vastasel korral ei leia ja see naasen vale. Nii et omamoodi lahe väike asi. Hea küll. Nii et need on assotsiatiivne massiivid. Nad on päris lahe. Ma tõesti meeldib neile. Ja ilmselt see-- Ah. OK. Nüüd see töötab. Võib-olla. OK. Teine asi. Niisiis, võrdsus, vaid lahe asi, mida meeles pidada. PHP, kuna see on dünaamiliselt trükitud, tüüp võib muutuda sõltuvalt sellest, millal käivitamisel, kuidas sa kasutad seda. Ma tegelikult on mõned lahedad näiteid, et ma näitan sulle poisid. Aga == lihtsalt kontrollib võrdõiguslikkuse pärast tüüp maadelda. Nii et kui teil on midagi, mis on nagu märk 1 ja number 1, PHP oleks öelda, et need on võrdsed, sest see võib žongleerima tüüpi neist kaks, kuni see on võrdne, mis võib olla teie puhul on hea. Kui teil on vaja näha, kui nad on sama liiki väärtus ja sama tüüpi sa tahad seda ===. Ja ma ei usu, et teil on Juhul, kui teil on vaja kasutada, et Teie pset, kuid palju sina, kes läheb tegema veebilehti Teie lõplik projekte ja asju, see on hea teada, et == ja === on erinevad, ja see on hea vahet mõista. OK. So Igaks silmuseid. Nad on nii, et itereerima läbi massiivi. Niisiis, just nagu massiivid sai nii palju lahedam PHP, teed itereerima läbi massiivi, ma arvan, Samuti muutub palju lahedam ja palju võimsam. Nii et selle asemel, et luua mõned neist i on 0 ja mis iganes, ja seejärel ajakohastada, et i kui sa lähed läbi, meil on see fantastiline foreach silmus. Nii et siin on standard üldist struktuuri neist kaks. Nii et teil on kas foreach mõned massiivi kui väärtus, mida soovite kinnitada, nagu. Seega on see nimi massiivi muutuja, mida soovite viide, ja see, mida sa tahad seda kutsuda jooksul silmus. OK? Nii vastab see iga element massiivi, ja te kasutate seda väärtust selles silmus. Mul on üks näide. Tean näiteid on nii palju parem. Ja nii see on, kui on ühtegi klahvi, nii et see on nagu kui meil on lihtsalt selline, kus võtmed on normaalne indeksite oma massiivi. Või on see ka juhul, kui sul ei ole kasutusel võtmed. Kui sa ei hooli võtmed ja sa lihtsalt tahan kinnitada, läbi väärtustega neis mis tahes järjekorras, see on hea. Võite kasutada struktuuri. Vastasel juhul, kui on olemas võtmed, meie $ Väärtus lihtsalt muutub $ põhiväärtus. Nii see lihtsalt muutub põhiväärtus paari. Ja siis saame viidata $ võti ja $ väärtus meie silmus. OK? So Näide. Tee kenamaks. OK. Nii et meil on see üks siin, mis meil on mõned are-- Samuti saate luua massiivi niimoodi võttes mõned muutuja võrdne kuni massiivi sulgudes või saate lihtsalt teha sulg. Sa peaksid tegema sulg, kuid see on üks võimalus seda teha. Nii et siin on meil mõned massiivi kolm elementide ühte, kahte, kolme, ja meil on foreach. Pange tähele, see vastab massiiv, et me iterating üle, ja see, mida me kutsudes iga asi meie massiivi. Ja kõik see teeb on see läheb välja trükkida iga väärtus. Nii et kui me käivitada see, märkame, et me on väärtus üks, väärtus kaks väärtust kolm. Ja samamoodi, et tavaliselt massiivid peavad olema ühte tüüpi, massiivid ei pea kõiki olema sama tüüpi siin. Nii et nüüd on meil mõned int. Meil on kaks stringid. Nii et teie massiive saab saada tunduvalt võimsam ja võib-olla veidi natuke segasem, sõltuvalt selle kohta, kuidas soovite seda vaadata. Nii saame muuta et mida iganes me tahame. Me kasutame väärtus. See on lihtsalt standard asi, mida me kasutame. Aga lihtsalt oluline teada, et me saame nimetame seda nagu counter kui me tahtsime. Ja kui nad vastakuti, ilmselt igaühe õnnelik. Kui sa kunagi tahad joosta PHP käivitada midagi sellist käsku line tead seda siin, siis lihtsalt teha PHP, ja siis mis iganes fail, mida soovite käivitada. Nii et kui soovite jändama PHP ja palju loogikat ja sa tõesti ei pea vaata nagu veebibrauser, saate lihtsalt käivitada see käsurealt niimoodi ja kaja prinditakse välja, mida soovite. OK. Teine võimalus, et meil on selline. Nii et see on siis, kui äkki tahad kasutada nii võti ja väärtus, Ma tean, et need on nagu super kunstlik näited aga ma loodan, et nad teevad see veidi selgemaks. Nii et siin on meil mõned massiivi uuesti, kuid seekord selle asemel, et lihtsalt võttes sa tead, seal ei ole peamine. Meil on võtmed iga. Nii saab olema üks, b, vastab kaks, ja c vastab kolm. Ja sel juhul, kui me kirjutame seda nii, meil on juurdepääs nii võti ja väärtus igale neist. Nii et kui me käivitada see, saame kõik need. Nii et see prindib meie võtmed ja vastavad väärtused. Teine lahe asi on see, ja ma tean, ütles nagu see üks ei ole võtmed, kuid ta on alati vaikimisi on võti, sest kui sa ei delegeerida oluline, muidugi, oma võtmed on ainult sinu indeksid või indeksite, et me saaksime alati teha ka seda. Nagu see. Ma välja printida. Nii et sel juhul, kui te märkate, meil on kaudne võtmed null, üks, kaks siin. Ja samamoodi selle ühe, sa võid alati öelda r kui väärtus, ja sa lihtsalt olema juurdepääs väärtust. Sa ei hooli oma võtmed, isegi kui teie on võtmed, kui te ei hooli neid, siis ei pruugi on vaja panna neid oma foreach silmus. Kas see on kõigile arusaadav? Sihtrühm: Kas sa lihtsalt kõne võtmed ka? ALLISON Buchholtz'ile-Aafrika: Jah sa võib täiesti teha, et liiga. Tegelikult ootama. Oota. oleks it-- No. Kui soovite, ja seejärel klahvi sa pead tegema võti väärtus. Sihtrühm: Lisa väärtust. ALLISON Buchholtz'ile-Aafrika: Jah. Ja sa lihtsalt ei kasuta kunagi raha on kõik. Sihtrühm: OK. ALLISON Buchholtz'ile-Aafrika: Kui lihtsalt panna üks asi on, see saab eeldada, et sa oled räägime väärtus, mitte võtit. Hea küsimus. Hea küll. Külm. Tegelikult hoida. Las ma vaatan, mis mul on. Nii et enne kui me sattuda post ja saada, ma lihtsalt tahan näidata teile poisid natuke kuidas see on dünaamiliselt tipitud, mis on omamoodi lahe. Mul on kõik need. Mul on nagu neli näidet siin, ja ma saadan sulle kõik see kood pärast klassis. Nii et siin on meil mõned muutuja. See on lihtsalt 1 pluss 1, eks? Ja me läheme välja printida, mis see on võrdne, ja siis on meil teatud tüüpi. Ja keegi mingit oletused mida kirjutad, et see saab olla? Sihtrühm: int. ALLISON Buchholtz'ile-Aafrika: Jah, see on int. Nii see lihtsalt lisab need kokku. See on int. Kõik hea. Nii et see järgmise meil mis näevad välja nagu stringid. Kui võtame selle, ta arvab, oh. Sa oled tegelikult püüdnud lihtsalt lisada asju. Sa just segi. Nii et ma lihtsalt määrata selle eest ise. Sa tähendas int. Ma tean, et sa mõtlesid int. Nii et see on üks viis, kuidas saate vaata, PHP on meeles oma. Kuigi me selgesõnaliselt öeldud, vaata, need need on stringid. Ma mõtlen string üks. Aga ta ütleb, oh, kuid sa üritad lisada need, nii et peate tähenda, et see täisarv. Usalda mind selles. Nii et see ütleb, et see on täisarv, ning lisab need nagu normaalsed. Nii et omamoodi lahe, kui sa lähed saada laisk oma asjad, või sa tahad midagi lisada. Suur asi on see, et kui te arvate tagasi pset2, midagi, mis oli kasutaja sisestatud, paremale, et me arvame on char või stringi alguses. Nüüd ei pea sõnaselgelt öelda, oh, seda int. PHP oleks lihtsalt nagu, oh yeah. Ma tean, et sa mõtlesid int. Rumal sind. Te ei tähenda string. Nii et sel juhul nüüd et meil on see, mida te poisid arvate, et see saab siin teha? Meil on string ja int nüüd. Sihtrühm: See on ikka int. ALLISON Buchholtz'ile-Aafrika: See on ikka int. Ja põhjus on-- ma paneks rohkem näiteid, kuid see on lõbus. Seetõttu teeb seda sellepärast, see on nagu sa üritad lisada asju. Nii et kui sa üritad lisada asjad, ma lähen eeldada, mõistlikult, teil on midagi mõistlik, et sa võid lisada. Ma lihtsalt teha see int, ja me lihtsalt läheb lisada, nagu tavaliselt. Ja siis samamoodi, ma arvan, et te poisid idee. Meil on ka see siin, mis on lihtsalt märgini, see teeb sama asja. See on nagu, sa rumal kasutaja. sa tead sa tahad int. Sihtrühm: Kui me paneme kirja, eks see teeb [kuuldamatu] väärtus või mitte? ALLISON Buchholtz'ile-Aafrika: Oh, see on hea küsimus. Vaatame. Ei, ikka on int. Nii et see on natuke hull. See on lihtsalt selline, et näidata teile PHP võib mõnikord käituda irrational-- Ei täiesti mõistusevastane, kuid see võib käituda viisil, et sa tõesti ei oodanud. Niisiis, kui kahtled, siis kontrollige liiki asju. See funktsioon gettype võib olla super kasulik. Tavaliselt, kui sa teed midagi plussid või matemaatilisi tehteid, see saab endale midagi mõistlik on lihtsalt int. Nii, teil on char 1 või string 1 või tegeliku int 1 see saab eeldada, et. Kui soovite jklle harjunud roll midagi, siis täiesti võimalik. Sa võid teha midagi sellist kahekordistada siin, ma usun. Ja sel juhul läheb öelda, oh. Ma teen seda topelt, sest Te olete ise öelnud, et see on kahekordne. Võite alati selgelt teha PHP midagi, kuid. Sihtrühm: Oota, miks on pluss 1 on? ALLISON Buchholtz'ile-Aafrika: Oh. Ei. See oli lihtsalt kaja. See oli minu süü. Nii saate selgesõnaliselt öelda, et see teha midagi teatud tüüpi, kuid enamiku ajast, see läheb dünaamiliselt otsustada, et käivitamisel. Nii see läheb, et hoida läbimas ja see saab olema nagu OK. Mis teeb kõige mõttes, et see oleks? Kas see peaks tegelikult olema string? Kas see peaks olema int? Kui on float? Kas see peaks olema kahekordne? Ja siis otsustada, et teie jaoks. Sa ei saa sundida teda tegema mida sa tahad, Aga-- Sihtrühm: Kas see teeb ta aeglasem? ALLISON Buchholtz'ile-Aafrika: Noh, Ma mõtlen, et C on väga tõhus. Ma arvan, et see on kindlasti aeglasem, sest see peab protsessi see läheb. C, ma olen peaaegu kindel, et on kiirem. Aga ilmselt pole palju lahedaid asju siin et me ei pea muretsema. Seega, kui me otsite läbi massiivi me pole tegelikult luua mõned otsingu abil massiiv. Me ei saa lihtsalt küsida võti ja PHP hoolitseb ta. Külm. Awesome. Paistab, et lõpuks mu näited. Te ei saa kunagi unustada, et nüüd. Sa lähed olla nagu, oh, PHP on lihtsalt niimoodi ema, kes on nagu ei, ei, ei. Ma tean, mida sa mõtled. Ma tean, mida sa tahad. OK. Nii et see on loodetavasti kasulik oma pset vähemalt Algusest peale sest sa oled kõik, kuidas toime vormidega ja asjad kasutaja. Nii et on kaks võimalust, et me liigu ümber info PHP ja HTML kui me möödaminnes Nende kahe asja. Nii et meil on $ _GET, mis kandub läbi URL, ja meil on $ _POST, mis on vastu võetud sõnum keha, ja nii me seda peidetud. Aga üks asi on mõista, et kumbki neist peetakse turvalisemaks. Kui teil on keegi, kes on pealtkuulamist sõnumeid läheb edasi-tagasi ja sinu vahel server, nad saavad ikka need andmed. Nad lihtsalt vaatama veidi raskem. See ei ole tõesti selle-- see lihtsalt peidetud URL. See on ikka sõnumi kehas, küll, et kui neil on juurdepääs sellele see on tõesti lihtsalt like-- See on nagu vahe vahel midagi on kirjutatud väljaspool ümbriku ja midagi olend kirjutatud paberile sees. See ei ole nii raske, et avada ümbrik ja saada paberile sees. Tõsi, see oleks palju lihtsam just lugesin väljaspool. Aga see, kuidas saate omamoodi mõelda neid. Kumbki neist on tegelikult peetakse turvalisemaks. OK? Tõsi, ei ole tegelikult asja oma pset sest sa ei ole tegemist koos ärisaladusi aga see on tavaliselt üks asi, mida me tegelikult tahaksin rõhutada, sest inimesed arvan, oh, noh, see on peidetud. See peab olema super turvaline. Ei. See ei ole turvaline. See on lihtsalt veidi vähem ebakindel, ma arvan. Või ebaturvaline. Nii et meil on tegelikult näide. Nagu te teate, ma armastan õpetada rohkem näiteid. Ma tunnen, et see aitab paremini. Niisiis, meil on mõned lihtne vorm siin tegelikult, kui te kutid on kunagi segane PHP, see on tõesti väike, kuid php.net on tegelikult väga hea dokumentatsioon. Ma tõesti meeldib. Olin seda kasutada selleks valmistuda jagu, nii et ma ei saa loomaarst seda sinu jaoks. See on näiteks need kuidas $ _POST ja $ _GET tööd. Ainus erinevus vahel kaks neist, peale, kus teave on kuvatakse, kas see URL või kehas, on ka millised meetodit. Nii et oma vormi HTML-- See on väga lihtne HTML kujul. Kas keegi mulle öelda, mida ta teeb? Sihtrühm: Küsi oma nimi ja vanus. ALLISON Buchholtz'ile-Aafrika: Täpselt. Nii et meil on mingid meetmed. See võimaldab meile teada, et see on mingi teo vormi. Ja mis juhtub on, kui me tabanud Esita, see saab helistada action.php, mis on see, mis see on, ja see läheb seda kutsuda koos meetodiga $ _POST. Nii et sel juhul oma andmed on peidetud. ja see on lihtsalt oma nime, mõned input type nimetatakse nimi, mõned vanus, input type = "text", et me helistada ka vanus. Ja siis, kui me tabanud Esita, Saada kutsuvad action.php. Nii et kui me tegelikult tabas Saada meil tean, et see on postitatud iseenesest ja me tegelikult näeme seda oma probleem määrata, et LOODETAVASTI saada kõndida läbi natuke. Ja kõik see läheb siin POST on mõned superglobal muutuja et me rääkisime ajal loeng. Ja kuidas saab mõelda $ _POST on et see on lihtsalt assotsiatiivne massiiv. OK? Nii et see on mõned väga tähtsad, seda on mõned väga tähtsad, ja mida iganes kasutaja sisend muutub väärtus iga neist. OK? Nii et kui me kirjutada, mida see massiiv tegelikult tundus kohe pärast me esitatud kujul, oleksime on, et see on meie $ _POST, ja mõned massiiv, kus meil on mõne nime. Ütleme nii, et me teeme oma nimi, ja siis on meil mõned eas, 21. Woo. Nii et see on kõik $ _POST on. $ _POST on lihtsalt assotsiatiivne massiiv, OK? See lihtsalt ütleb, et OK. Millised on asju, mida me oleme küsitakse kasutaja? Millised on muutujad et me kulgeb ümber et oleme palunud selles vormis? Ja siis millised on seotud väärtusi, mis? Nii et sel juhul, kui ma esitada see mille nimi Ally ja 21-aastaselt see on see, mida $ _POST välja näeb. OK? Ja see on, mida see PHP fail on juurdepääs. Kõik korras? Nii et sel juhul on see nagu saada mis tahes muu asi meie massiivi. Selle asemel, et indeks meie massiiv, meil on mõned olulised. Nii et see on annan mulle väärtus võtme nimi. Nii et see saab olema Ally ja see siin läheb mulle väärtus on $ _POST kus Oluline on vanus, mis on 21. Sa lähed, et olla Seejuures üsna vähe. Jah, millest osa? Sihtrühm: Kui sa olid suunaga põhja osa. ALLISON Buchholtz'ile-Aafrika: See alumine osa? OK. Niisiis, kui sa sellest aru ei meie HTML moodustada, ja meil on mõned meetod $ _POST, mis loeb. See võib olla ka $ _GET, kuid selleks, me lihtsalt ütlen et see on $ _POST. Kui me seda vormi, et see on osa PHP fail, mis nimetatakse. Nii et see PHP fail on nüüd täita anda teavet meie HTML vorm. Nii et mida ta teeb on, kui me tabas Saada meie HTML-vormi, see möödub teil see superglobal, mis on lihtsalt assotsiatiivne massiiv. See on see. See on nagu möödaminnes, et toimikule. Ja mida ta ütleb, on OK, siin on $ _POST. See on sinu assotsiatiivne massiiv. Kas seda, mida tahad. Ja me ütleme, OK. Anna mulle väärtus nimi, ja anna mulle raha aastaselt. Nii et need on lihtsalt võtmed, ja see on meie massiivi. Kas see on mõistlik? Sihtrühm: Mhmm. ALLISON Buchholtz'ile-Aafrika: vinge. Sihtrühm: Kui sa pead uuesti vormis see lihtsalt üle kirjutada andmed? ALLISON Buchholtz'ile-Aafrika: Jah. Mhmm? Sihtrühm: Miks teil on täpsustada, et see on int? ALLISON Buchholtz'ile-Aafrika: Sel juhul kasutaja on lihtsalt sunnib seda int. Sihtrühm: OK. ALLISON Buchholtz'ile-Aafrika: Ma ei tea kui sa tegelikult vajad, et kuid nende eesmärgid, otsustasid nad et nad tahtsid, et see int. Nad lihtsalt Typecasting ta. Võib-olla nad kasutavad seda midagi muud hiljem. See on vaid üks jupp. Jah? Sihtrühm: Mis siis, kui nad kirjutasid 12, T-W-E-L-V-E, vanuse? ALLISON Buchholtz'ile-Aafrika: Kui nad püüdis tüüp, et kui int? Sihtrühm: Jah. ALLISON Buchholtz'ile-Aafrika: I unustada, mida see teeb. Ma arvan, et võiks proovida muuta esimene märk, et int, või võtta väärtuse ja muuta seda, aga ma unustan täpselt, mis see. Ole lõbus asi, et kirjutada programm ja proovige. Kas paar rida. OK, nii et see on üks peamisi asju, mida sa lähed tegema. Ma lähen loodetavasti kõndida läbi paar faile alates pset teiega. Tundub, et me ei kavatse aega, et saaksime teha. Aga sa lähed, et olla teeme palju asju meeldib see, kuhu kulgeb asju HTML kujul sellesse PHP vorm, mis siis täita mõned juhistega andmete kohta, mida ei ole esitatud. See on sõna otseses mõttes põhisisu oma pset. Jah. Sihtrühm: type = "submit", et teeb nuppu HTML kujul. Kas on olemas võimalus helistada et nupp midagi? Nii et kas te oleksite nagu name = "submit"? Või on see nupp lihtsalt saab olema tühjendada kohe, sest sul on ainult andis selle tüübi, mitte nime. ALLISON Buchholtz'ile-Aafrika: Ma arvan, et see on lihtsalt läheb tühjaks kohe. Me ei saa kindlasti vaadata pset, sest me kindlasti vaadates registreeru selline asi. Aga jah, saate kindlasti täpsustada tekst, mida soovite oma nuppu. OK, nii SQL. Kui sa osta ja müüa aktsiad, teil on vaja jälgida kõnealuste. Niisiis, kuidas me teeme, mis on SQL, mis on lihtsalt andmebaasi. Mõtle seda laua taga, kus sa hoida kogu selle teabe oma erinevatele kasutajatele. Ja kutid on tegelikult kavatse luua üks nendest. See on päris lahe. Ja seal on vaid neli peamist asja et sa pead teadma seda pset, ja nad on uuendatud, siis põhimõtteliselt andmeid värskendada. See eeldab, et see on juba olemas. Kui see ei ole seal, see läheb tulistavad veaga, et äkki soovite vaadata. Ja sa uuendab nüüd-- I peaks actually- mul on aega, Ma kirjutan paar neist. Ma tegelikult teile poisid paar proovi, täis SQL käsud, sest need on vaid peamised ones, kuid saate need kokku liita. Nii et ma teen seda ja ma saadan sellele, et sul neid märkmeid. Nii et kui te soovite värskendada midagi, vaja öelda seda, mida sa ajakohastamine ja kus sa seda uuendada. Nii tüüpiline SQL käsk oleks uuendus ID kus midagi võrdub midagi. Või nagu uuendatud aadress kus ID võrdub 3, ja see uuendab aadressi väljale Teie kasutaja, kellel on ID kolm. OK? Nii et kui te lähete SQL ja W3Schools, nad on fantastiline näited. Tegelikult ma võiks tõmmata mõned üles natuke. Ja siis lisada, sa oled lihtsalt sisestades teatud väärtusi seal. Nii et kui sa üritad luua mõned uued kanne, nii loote uus kasutaja, sa võiksid teha insert sisse sõltumata oma andmebaasi nimetatakse, ja siis oleks kõik need väärtused. Siis on valida, vali väärtusi vaadata. Nii et kui sa üritad vaadata, kas kasutaja on olemas või oled püüab haarata konkreetse infot kasutaja sa lähed kasutad valige. Ja siis kustutada, ma arvan, on üsna lihtne sinna. Sa oled lihtsalt kustutamine midagi laualt. Ja tegelikult, las ma tegelikult pull mõned näited kutid. Oh vaata, see on minu 61 lk. Nii et kui me läheme W3Schools, loodetavasti see uuesti üles. Jah, armastan seda. Läheme SQL. Nii, see on midagi siin. Niisiis, see on väga lihtne SELECT. Mees, ma armastan seda funktsiooni. Niisiis, sul võib olla SELECT Mõnedes valdkondades klientidele. Sel juhul kliendid viitab elektrooniline andmebaas, et te kasutate, nii et mida iganes oma tabeli nimetatakse, ja star tähendab lihtsalt valida kõike. Anna mulle iga üks. Niisiis, ma tahan anda teile poisid Paar näidet, kus see on. Nii et meil on SELECT, UPDATE. Nii et siin on mingi üldine süntaks. Nii värskenduse sõltumata oma tabeli nime ja seejärel SET on koht, kus sa tegelikult toimub olema, milliseid andmeid te muutumas. Nii et see võib olema-- Let mul näiteks siin. Nii et see on on- OK. Nii et ma loodud väike andmebaas meile. Me läheme mõned ID, mõned aasta ja mõned nimega. Nii ID üks saab olema aasta '15, ja me lihtsalt kavatse teha see mind. Kes tahab olla teine inimene meie lauale? Igaüks. Ma lihtsalt valida Emma sest oma nime kiire. Emma, ​​mis aastal sa oled? Sihtrühm: Mis aastal? ALLISON Buchholtz'ile-Aafrika: Jah. Sihtrühm: 16. ALLISON Buchholtz'ile-Aafrika: 16. Sa oled lihtsalt kavatse olla minu merisiga täna. OK, nii et meil on need kaks inimest. Tegelikult, las ma teen seda. Oletame, et ma kuulsin teda valesti ja ma tegelikult ütles, et ta on aasta noorem. Ta on 17. Mida me tahame teha siin, kui me tahtsin uuendada Emma aasta oleks õige kasutada seda, mida me tahaks teha, on meil ütleksin UPDATE andmed siin. Ja see kõik võib ühel real, kuid sest ma kokkusurutud ruumi siin, Ma lähen kirjutan siia. Ja me tahame seada. Nii et see on tabelis uuendame me. SET saab olema, millises veerus või milliseid andmeid me tegelikult muutumas. Mida me muutuvas on aasta, seega me ei kavatse öelda SET aasta = 16, ja siis KUS ütleb meile, mida kasutaja või mis rida me tegelikult kaasajastamiseks. Nii et kui? Meil on kaks võimalust siin. Millised on kaks? Need on unikaalsed, eks? Nii et meie nimed on ainulaadne ja meie ID on unikaalne, mis siis on kaks võimalust jaoks, kus me võiks seda teha? Ma annan sulle ühe. Me võiksime teha, kus ID = 2 või me võiksime seda, mida kui me läheme välja selle paradigma siin. Sihtrühm: [kuuldamatu]. ALLISON Buchholtz'ile-Aafrika: Täpselt. Nii et me võiks teha ka nimi = Emma. Ja üks neist teeks. Ja me jooksime seda, see oleks nagu, OK. Muudame seda. Sa oled tegelikult 16, seega nüüd sul on õigus uuesti. OK, nii et see oleks super kasulik oma pset kui äkki keegi otsustanud osta 100 aktsiat Apple, ja siis nad olid nagu, lihtsalt nalja. Ma tahan ainult 90 aktsiat. Ja nii nad müüvad neist 10, siis vaja uuendada summa varud et nad on. Niisiis, ajakohastamine varud, ajakohastamise tabelis. OK. Nii et see on üks näide olemas. See värskendus süntaks. Kustutada. Oh. Lisada on meie teine. Niisiis, see siin on väga sarnane. Me võiksime lihtsalt öelda, et selles juhul lisame keegi. Me võime lisada Ben seekord. Me INSERT INTO ja me tahan nimi meie lauale. Sellisel juhul on andmed. Ja siis me lihtsalt tahame, sa lähed öelda, väärtused ja mida sa lähed teha on, siis tegelikult on vaja veendumaks, et sul on midagi igale istmereale mis sa tahad. Sa lihtsalt panna neid selleks. Nii et kui me ütleks 3. Sa oled 18, eks Ben? Sihtrühm: 19. ALLISON Buchholtz'ile-Aafrika: 19? Sihtrühm: 19. ALLISON Buchholtz'ile-Aafrika: Sinu aastal '19? Sa lõpetaja '18, eks? Sihtrühm: Oh. ALLISON Buchholtz'ile-Aafrika: Graduation aastal. Sihtrühm: OK. ALLISON Buchholtz'ile-Aafrika: Ma olin nagu, kas te olete juba plaanis võtta aasta vabaks siin? Niisiis, '18, meil on Ben. Nii et selles asjas ei läheks läbi, see looks uue kirje. Külm. Mitte liiga halb, eks? Palju see läheb olema süntaks kutid. Concepts peaks tulema, loodetavasti suhteliselt kergesti. Süntaks on ainus asi, mis võib olla veidi keeruline. Ja siis meie viimane on Kustutada ja kui märkate, Ma väga soovitada selle veebilehel. See on tore. On ton kraami. Niisiis, samal viisil, et meil oli mõned ajakohastada, kustutada on väga sarnased. Selle asemel oleme Kustuta andmed. Nii et antud juhul meie viimane üks ma kirjutan siia. Oletame, et me tahtsime kustuta mind. Ma ei saa kirjutada täna. Kustutada mida iganes Tabelis me oleme, andmed. Ja seal on tegelikult kolm võimalust võiksime valida kustutada mind. Kas te poisid mulle öelda, mida kolm viise, kuidas sa võiksid kustuta mind? ID võrdub 1, kui ID võrdub 1. Me võiksime teha, kus aasta võrdub 15, või kui nimi võrdub Allison. muidugi, seal on ainult kolmel erineval viisil, sest need on kõik unikaalsed. Tavaliselt oma laud, ja eriti oma pset, sa lähed valida üks need sambad olla unikaalne. See on ilmselt saab olema mõned unikaalsed ID number, sest kui sa have-- tegelikult, võib see tegelikult teile on kaks. Ma ei mäleta, kui lasen Teil on kaks sama asi. Sihtrühm: siis oleks oma käitumist muutma. ALLISON Buchholtz'ile-Aafrika: See oleks. Seda saad põhjustab käitumist, mis on ootamatu, et te ei saa tõesti ennustada. Nii siis kindlasti on üks veerg oma andmebaasi, mis on unikaalne, ja see on tavaliselt saab määrata seda nii, et see on nagu unikaalne ID, ja see lihtsalt uuendada iga kord, kui sisestate tabelisse. Iga kord, kui loote uue reale, siis ta automaatselt juurdekasvu ja annab talle mõned unikaalsed ID. Nii vihje oma pset. OK. Nii et on SQL. Nüüd me ei kavatse rääkida kõige viimane asi, mis seob tegelikult päris hästi oma pset, kui see läheks edasi. Nii MVC mudel vaade kontroller. See on tõesti ainult viis asju kontrolli all hoida. Samamoodi C palume poisid luua ülesandeid ja eraldi asjad välja, see on lihtsalt nii, et eraldada koodi, kui sa teed veebi arengut. Nii et see teeb asjad palju rohkem elegantne ja lihtsustatud, ja see on tegelikult viisil et oma pset on tegelikult seadistada, nii et kas sulle meeldib või mitte, sa lähed, et õppida seda, isegi kui te ei usu, sa õpid seda. Ja üks asi on, see võimaldab ka teha palju rohkem nagu kasutaja koostööd. Nii et kui ma võtsin CS50, tegin veebilehel oma lõpliku projekti ja ma olin nagu, ma hakkama andmebaas kraami. Ma teen kolp värk, ja minu toakaaslane, kes Olin sellega oli väga esteetilist. Ta teeb lavakujunduse ja ta tahtsin seda kõik ilus. Nii et ma olen nagu, OK. Võite hoolitsema kõik esiotsa värki. Ja asi on, kui me näeme peagi, selle mudeli vaade kontroller võimaldab teil täiesti eraldi, et kood nii et ma võiksin töötada rakendatakse meie lehekülgedel ja manipuleerides info meie andmebaasides ja ta võiks lihtsalt teha asju ilus, ja me olime mõlemad väga rahul, sest me saime teha, mida me mõlemad tahtsime ja me ei pea tegelema teisele. Nii me passisime koos. Meile meeldib hängida. Ma lihtsalt ei taha tegeleda kõik CSS ja HTML kraami. Ma olin nagu, siis oleks päris. Ma tegelen andmebaasi. Nii et meil on see tõesti lahe, väga vähe tabelis. Ma armastan tabeleid. Ja põhimõtteliselt, mudeli saate mõelda on lihtsalt oma andmebaasi. Olin mudeli inimene oma projekti. See kõik on umbes ladustamiseks info ja korraldamisel, et andmeid. Nii et see on see, mida me tagasi helistada lõpus. Nii kutid hakkab menetlema SQL andmebaasi ja faile. See on sinu mudel. Teie arvates, nagu te võite arvan, selline mõistlik, on see, mida teie kasutaja tegelikult näeb. See on kasutajaliides. See, et ees silmitsi komponent. Nii see on, mida mu toakaaslane sain tööd kogu aeg. Ta oli super õnnelik. Nii et kõik HTML, ja seal on väga vähe PHP. Kui sa räägi mis kuramuse kuvatakse kasutajale, me räägime hüpertekst. Me räägime, kuidas see välja näeb. Me ei räägi loogika või tingimused või tühi-tähi. Kõik see saab käsitseda volitatud töötleja, OK? Niisiis, mis tegeleb kasutajate soovide ja saab teavet. Nii et üks asi, mida sa peaksid teadma oma pset on see, et oma seisukohti, midagi, mis on tegelikult Infot ei tohiks kunagi olla tegemist kutsub oma mudel. Kõik see käideldakse Teie kontroller. Teie kontroller on üks vahendades nende kahe. Ta küsib mudel teatud informatsiooni. Võib kinnitada, üle selle teave, nuputada mida sa tegelikult vajad see, mida sellega teha, ja siis edasi vaid andmeid, mida pea silmas, et sa printida välja või näidata seda kasutajale, OK? Sest me näeme seisukohta kõik, mis on suunatud kasutajale, nii et see on palju lihtsam neil nuputada, oh, kui sa üritad mõned kutsuvad oma mudel ja sa küsid kõigi kasutajate kes algavad tähega A ja te teete, et teie arvates keegi, kes näeb oma veebilehele võiks juurdepääs sellele. Sa ei pruugi taha. Sa ei taha inimesi näha rohkem andmebaasi kui see, mida tuleks neid nähes. Just nende eelistusi. Nii töötleja töötleb seda. Nii et kõik teie .php faile, mida me näha võite kaaluda oma kontroller faile. Ja see, kui sa oled tegelikult saab olema küsib asju oma andmebaasi, ja iterating või manipuleerivad seda vajaduse korral enne see edasi vaadata. See on väga lahe pset, minu arvates. Ma arvan, et see on natuke rohkem nagu kohe vaevatasu, sest sa ellu palju vähe pisikesi asju, ja iga asi peaks töötama oma. Ei meeldi, teha kõike ja siis vaata, kas see toimib. Nagu tarkvara kus sa oled nagu, ma olen tõesti loodan, et see on õige, sest kui see ei ole, seal on palju asetab see võib olla vale. Hea küll. Lihtsalt veenduge, et ma ütlesin: kõik mul on vaja öelda MVC. Jah. Külm. Nii CS50 Finance oleme meie mudel, nagu ma just ütlesin siin. See saab olema MySQL ja phpMyAdmin. Võin kindlasti tõmmata neid üles, et kutid saada võimalus seda vaadata. Nagu ma enne ütlesin, see on teie SQL andmebaas toimib oma mudeli, ja võite saata, mida me nimetame päringuid, mis on vaid neid erinevaid asju. Neid nimetatakse päring. See on päring, kus sa oled lihtsalt küsib oma andmebaasi midagi või sa oled muutes oma andmebaas mingil moel. See on kõik see on. Ja sa seda funktsioonid me oleme teile siin. Samuti saate manipuleerida neid käsitsi läbi phpMyAdmin, mida saame kindlasti heita pilk. Ma luua proov andmebaas teiega. OK. Niisiis, kontroller. Nii et sel juhul, kui te teate, see on kõik PHP. Pange tähele, et on selline oma Peaasi oma kontroller on, et see peaks olema peamiselt PHP. Kui teil on HTML oma kontroller, tõesti ei tea, mis seal toimub. Samamoodi nagu ma ütlesin, kui te õnnestub [kuuldamatu] HTML, Ma olen tõeline huvitatud. Nii et meil on siin on teil on päring. Päring on funktsioon, mis ehitasime kutid. See on nagu ümbris teha päringuid oma andmebaasi veidi lihtsam. Kui sa ei ole, et süntaks tegelikult rääkinud oma SQL andmebaas oleks erinev, nii et me lihtsalt pakkuda seda teile poisid. Meile meeldib teha elu lihtsaks. Nii et antud juhul võib kutid öelge mulle, mida see rida läheb? SELECT * mõnest tabelis. Sihtrühm: Vali kõik sellest tabelist. ALLISON Buchholtz'ile-Aafrika: Täpselt. Nii et see ütleb, anna mulle kõik sellest tabelist. Ja see on selle säilitamist mõned muutuja tulemus. Ja see ütleb, kui tulemus ei ole võrdne vale, siis me teeme kõik see. Nii et kui seal on midagi siin, kui teie tabeli tühjad või see lihtsalt ei ole olemas, see läheb tagasi vale. Nii et antud juhul me lihtsalt muuta kindel, et midagi oli tegelikult meile tagasi. Ja siis siin on meil meie suur foreach silmus et me iterating üle meie tulemus, ja me nõuame seda rida, ja me ütleme, et sellist malli kus teie andmed on selle tulemus. OK? Nii et see on lihtsalt töötlemine reas tulemus. Muidu karjub. Nii on see näiteks töötleja. Nagu näete, see on ainult tulevad-- Jah, vabandust? Sihtrühm: Miks on ampersand enne rida? ALLISON Buchholtz'ile-Aafrika: Ampersand enne real. Me lihtsalt iterating. See on ka aadress of-- Sihtrühm: Nii et see on nagu C viitamine. ALLISON Buchholtz'ile-Aafrika: See on tagades, et sa oled tegelikult muutes originaal ja koopia. See on samamoodi C, kus me möödumas viide siin, just veenduda. Sihtrühm: Kas pole == selle asemel, et ei = PHP? ALLISON Buchholtz'ile-Aafrika: See ei ole ==. Sihtrühm: Kuna võrdsetena C on Lihtsalt-- ALLISON Buchholtz'ile-Aafrika: See lihtsalt ei ole =. Jah, ei. See pole ==. Kuna == PHP kontrollib võrdõiguslikkuse toggling, antud kuid ekstra kvaliteediga. Niisiis, see ei ole == PHP. See on üks väike süntaksi erinevused. Jah. Nii et me lihtsalt iterating läbi igas reas, ja muuta, kui kutid lugesin läbi oma spec, on vaid mõned muud ülesanded, mis on tegelikult läheb töötlema kõik HTML ja näitab seda oma veebilehitseja teile. OK. Niisiis, meile meeldib mõelda oma kontrollerid nagu mida käepidemed äriloogika. Nagu näete siin, see on koht, kus me oleme võttes meie andmeid tabelis, me töötleme seda mingil viisil, ja siis me möödaminnes ära. Kui me seda teeme andma mõned malli mõned mall on meie arvates ja me kulgeb see ainult andmetele, mida ta peaks saama. Mitte kõik andmed. Just andmed, et me tahame seda saada. OK? Põhimõtteliselt andmete pärast töötlemist. Nii et see on arvamusel, et see on summa malli, mis meil on, ja kõik see teeb on, võite on vähe PHP Teie arvates. See ei ole nagu mingit PHP silmas pidades. Sa peaksid lihtsalt väga minimaalne PHP silmas pidades ja sa ei tohi kunagi olla päringu teie arvates. Te ei tohiks kunagi rääkima oma andmebaasi oma seisukohta. See on suur erinevus. Mis siin toimub, on meil PHP, mis on iterating läbi järjest. Nii et antud juhul, sest olime iterating läbi iga rea ja muuta midagi, see oli ilmselt nagu kahemõõtmelise massiivi kus meil on mõned rea, on iseenesest massiiv, sest me iterating läbi see uuesti. Ja me lihtsalt printida real nime, siis lõpetada. Sa ei pea seda foreach. Ma pole kunagi näinud, et enne tegelikult. Ma lihtsalt ei foreach. OK, nii et see on vaade. Vaatame, kas me saame kõndida läbi natuke oma pset. Meil on 15 minutit, nii et ma olen kindel, et sa poisid tahaksid, et midagi enamat kui lihtsalt lõpeb varem. Las ma vaatan, kas ma suudan tuua see üles. Nii et ma ei tea, kui palju kutid on alla laadinud ja tühi-tähi veel aga meil on kasutajanimi siin ja meil on mõned parool. Ja kahjuks õigus Nüüd andmebaas on tühi, nii me tegelikult vajame andmebaasi loomiseks. Noh, see on imelik. Ei oodanud seda. Tehnilised vead. Tehnilised raskused. Meil on mõned pset7. Külm. Niisiis, üks asi, mida teha saame, on koos query-- ma luua tabelit. Nii et see saab olema users-- mida sa saad teha siin on, kui meil on some-- Tõesti nüüd? OK. Ilmselt ma ei tee nii kuum. Oh. Ma tean, miks. Kuna ma ei ole kunagi loodud minu tegelik tabelid. Nii et kui te esimest korda alustada andmebaas, siis ilmselt pead otsustama, millised on asju, mida ma vaja on siin? Nii et kui me lihtsalt minna välja Meie andmete tabel siin meil oli ID, mis võib lihtsalt jääda int. Ja kui me vaatame siin, seal lahe asi selle-- Nii indeks. Kui te seda teete esmane, see teeb asi, mis teie tabelis on korraldatud, ja seda ka teeb selle ainulaadseks. Nii et kui me teeme seda alg-, ja ma lähen tegema seda nime, siis me lihtsalt teha see varchar samasuguste 26 tähte, sest miks mitte? Ja siis võite minna Salvesta ja seejärel kui näed, meil on mõned kasutajad siin. Nii et kui me tahtsime teha sisestada, siis võiks seda teha Sel viisil või kui sa tahad tava Teie queries-- Oh boy. Ma ei ole kasutanud seda igaveseks. Ma võtan seda tagasi. Teil on võimalik muuta selle ise kas lihtsalt käsitsi sisestamist info koos midagi, siis võib muuta mõnda neist kui sa tahad make-- Kui soovite äkki vabaneda nime, saate tilk, saate teha kõiki neid asju. Kui teil on vaja kunagi käsitsi muuta oma laud, Pakun teeb seda phpMyAdmin versus üritab aru saada SQL päringute üldiselt. Kui te esimest korda alustada oma pset, sa lähed pead tegema siin, nii saan harjunud. Ja siis, kui sa tegelikult tahad lisada asju oma table-- Ma tõesti ei tea, kus see on sest there's-- Siin see on. See, mida ma tahtsin. Nii et kui te lähete SQL, siis võiks tegelikult näha, nagu me näeme siin, meil SQL päringuid. Nii et kui me tahame, et valida midagi või kui me tahame lisada midagi, me saame teha insert sisse kasutajatele, eks? Ma arvan, et sa pead längkriipsu. Üks asi on teada, kui sa oled kunagi kasutades seda, sa pead kasutama neid tagasi ülakomad, mis on tavaliselt kui sa oled Mac'i õigus üle sakk. Nii hea teada. Sa võid lisada kasutajaid, ja meil on meie väärtused, eks? Nii et meil on väärtuste ja meie väärtused sel juhul oleks lihtsalt, meil on ainult ID nii et me võiks teha ühe kui tahtsime. See on imelik. OK. Nii et nagu lühike väike asi, SQL, kuid see võib olla kasulikum tegelikult mõningaid faile siia. Nii et minge Sport. Oh, ei Downloads. Niisiis, just kiire tutvumiseks mis on kõigis nendes kaustades. See hõlmab meil on lihtsalt asjad et seadistada oma brauser, meil on konstandid, ja meil on neid funktsioone. Kui olete huvitatud mõni neist, Ma soovitan vaadata funktsioone. Üks neist, mis on super kasulik tegelikult on see üks siin, prügimäele. Nii et kui te kasutate seda, see tegelikult lihtsalt välja trükkida ükskõik muutuja et sulle meeldib see. Nii et kui teil on probleeme figuring saada, mis see massiiv välja näeb, või mida need andmed tegelikult, kuidas see on vormindatud, see on tore asi kasutada. Eriti siis, kui teil on kasutaja mitme aktsia, see saab olema midagi väga kasutada. Kuna see võib olla formatted-- Ma tean, et vähemalt minu jaoks, kui ma tegin see pset, see on vormindatud nii, et ma ei ole päris oodata. Nii et ma üritasin itereerima üle seda ja üritavad manipuleerida seda, kuid ma ei ole tõesti aru, mida ma tegin. Nii et kui sa lihtsalt maha jätta, siis prindi see välja brauseris, ja te näete täpselt kuidas see on vormindatud. Seda saad tavaliselt välja trükkida nagu massiivi oma võtmeid ja väärtusi. Nii et see aitab seal. Samuti võib see aidata teha kindel, et sa oled tegelikult haarates andmeid Sa arvasid, olid. Nii et kui sa olid nagu, mu laua kindlasti ütleb, et kasutaja seda ID, aga kui sa lähed prügimäele muutuv, see ei ole seal, sa ilmselt tead, et see kus viga saab olema. See on üks parimaid vahendeid silumiseks, minu arvates. Ja siis Paar muid asju siin kuid enamasti, see on ma tahan juhtida teie tähelepanu sellele, sest see on väga kasulik. Avalik, mis meil siin on, see on kõik meie CSS kraami. Nii CSS, fondid, meie pilte, tühi-tähi. See on kõik asjad, mis sa ei pea muutma. Kas te poisid mõtlevad, kui see on asjad nagu CSS fondid, oleks see mudel, või vaatamine või kontroller? Sihtrühm: [kuuldamatu] ALLISON Buchholtz'ile-Aafrika: ta tahaks olla rohkem eesmärgiga, eks? See on võimalik teostada kõiki asjad, kuidas asju vaadata. Nii et kui me avame selle siia, siis näeme, et kõik, mis siin toimub on me muuta midagi. OK? Nii et see oleks väga kvalifitseeru eesmärgiga seda. Nii et see on lihtsalt võttes mõned, ta helistab mõned portfolio.php mis meil on, ja see kulgeb pealkiri ja portfelli. Ja see on lihtsalt muudab seda. Tegelikult, ma võtan selle tagasi. See on kontroller, sest muuta, pea meeles, muudab seisukohta. Nii portfolio.php selles juhul oleks Teie arvates. Vabandame, poisid. Portfolio.php läheb Teie arvates ja see oleks lihtsalt sinu kontroller eest. Ja kui me vaatleme seda viimane siin, mallid, mallid on kõik oma vaateid siin. Nii et kui me vaatame, ilmselt me näeme palju HTML siin. Nii et see on lihtsalt näitab teile, mida sisselogimise lehele peaks nägema. Märkate, meil on mõned vormi rühmad, peavad esitama. Siin on, kuidas sa otsustada, millist kuvatakse seal. Teil on nupp type = "submit" ja siis on mida sa tahad seda kuvada nuppu. Nii see on, kuidas sa teeks näitab kui iganes soovid. Ja me näeme, meil on siin mõned kasutajanimi mõned parool ja kui me tegelikult tabas Esita, see saab olema mingi post, ja see läheb pärast mida? Mis on kontrolöri seda seisukohta? Kui me tabanud Esita, mis toimub, mida nimetatakse? Kas me teame? See on siin, nii login.php. Midagi kutid on kavatseme rakendada. Nii saab alati öelda mis saab olema nimetatakse pärast põrkad Esita selle esimese rea siin. Mis kujul tegevus. Kui see vorm esitatakse, milliseid meetmeid me võtta? Me nimetame login.php ja me nimetame seda selle meetodiga post, mis on varjatud teabe. OK? Nii et see on teie arvates ja seejärel ilmselt kui läksime login.php-- Kas meil on see veel? Jah. Nii nagu me näeme siin, see on palju rohkem loogikat. See kõik on meie PHP siin. Me püüame vaadata, kas see oli $ _GET, kui see oli $ _POST, kinnitamise asju, küsitav, kõik see kraam. Nii et need on vaid kolm erinevaid asju siin. sa ei pea midagi muutma. Sul on luua asju malli, võib-olla, kuid niipalju kui HTML või stiil kõik see läheb, võid jätta see nagu tavaline või kui keerukas, kui soovite. Mõned inimesed saavad tõesti sinna ja teha mõned päris vinge veebilehed. Sa ei pea seda tegema. Kui teil on aega, siis on väga lahe asi. Võite jändama CSS ja HTML ja saada palju parem tunne see, kuid ei tunne survet. Seal on palju, et sa teeksid kohta kolp rakendamisel logi sisse, ja register ja kõik need asjad. Loodetavasti see aitab natuke. te poisid on mingeid küsimusi midagi me oleme läinud üle, muid vahendeid? Ma kindlasti saata kõik minu näide PHP kood kutid, ja siis võid vabalt võtta pilte või tühi-tähi selle. Ka see on võrgus. Teil on alati võimalik lihtsalt vaadata uuesti. Nii et kui see on kõik, kõik hea? Jah. Sihtrühm: Ma tahan kinnitada, kui me tehes valige SQL, star tähendab, et kõik, eks? ALLISON Buchholtz'ile-Aafrika: Jah. Sihtrühm: Ja siis, kui Teil ei ole täht, kui sa tahad seda teha ühe kindla rida, siis sa lihtsalt panna nime of-- ALLISON Buchholtz'ile-Aafrika: Nimi reas ja mida sa tahad soovite väärtus. Sihtrühm: Ja siis kuupäeva. ALLISON Buchholtz'ile-Aafrika: Ükskõik otsite, jah. Samamoodi, kui sa DELETE * alates mõned tabel, siis saad kustutada kõik. Niisiis, * on just looduses kaardi kõike. Sihtrühm: OK. ALLISON Buchholtz'ile-Aafrika: Cool. Awesome. Noh, on suur Esmaspäev, poisid. Näeme järgmisel nädalal. Õnn oma pset.